Projects:PinePhone Daily Driver with Sway
Jump to navigation
Jump to search
Implementation of Projects:PinePhone Daily Driver using swayWM.
Contents
Components
- postmarketOS with postmarketos-ui-sway
- System packages: bemenu networkmanager termite termite-terminfo bluez
- App packages: vim firefox galculator thunderbird gajim audacious audacious-plugins
Setup
TODO: Move some of this setup into a repository
lisgd
~/build/lisgd/lisgd.h/* Commands to execute upon recieving a swipe gesture */
Gesture gestures[] = {
/* fingers start end command */
{ 1, Left, Right, "swaymsg workspace prev" },
{ 1, Right, Left, "swaymsg workspace next" },
{ 2, Left, Right, "xdotool key --clearmodifiers Alt+e" },
{ 2, Right, Left, "xdotool key --clearmodifiers Alt+r" },
{ 2, Down, Up, "swayphone_keyboard_show" },
{ 2, Up, Down, "swayphone_keyboard_hide" },
{ 3, Down, Up, "sxmo_vol.sh up" },
{ 3, Up, Down, "sxmo_vol.sh down" },
{ 4, Down, Up, "sxmo_brightness.sh up" },
{ 4, Up, Down, "sxmo_brightness.sh down" },
};
TODO: Finish updating this
# TODO: cloning and building the app
cp ~/build/lisgd/lisgd /usr/local/bin/lisgd
swayWM
- Copy
/etc/sway/configto~/.config/sway/config - Edit:
~/.config/sway/config xargs swaymsg exec --
[...]
# Kill focused window
bindsym $mod+q kill
[...]
- Default scaling for the touchscreen
output DSI-1 scale 2
- Initial utility apps
exec squeekboard
exec lisgd
Bluetooth
- Enable the service on boot:
rc-update add bluetooth - Enable the controller by default:
/etc/bluetooth/main.conf[Policy]
AutoEnable=true
TODOs
TODO: Complete these TODOs!
- power saving (so that I can leave the battery in the device when I'm not using it)
- hibernation / suspend command
- shortcut to enter suspend
- Install and test essential apps & workflows
- Terminal: termite
- Web browser: Firefox
- Passwords manager: KeepassXC)
- Personal Information Manager with WebDAV sync support for calendar, contacts
- Email client: thunderbird
- Calculator: galculator
- Alarm: ?
- IM clients
- XMPP: ?
- Matrix: ?
- Slack: ?
- Music player: audacious
- Camera & Video recorder: ?
- VPN client: NetworkManager?
- Support for non-essential apps & workflows
- RSS client: ?
- OTP generator: ?
- Ebook reader: ?
- Weather forecast: ?
- Maps, navigation: ?
- Calls & Texts: ?
- Touch gestures and controls
- sxmo#lisgd
- twofing
- easystroke (abandoned)
- wmctrl, xdotool, xte, ...
- Custom input device? [1]
- tweaking
- non-essential userspace apps
- ...
Rejected solutions
under Wayland
- libinput-gestures
- twofing
- onboard virtual keyboard