Difference between revisions of "Projects:PinePhone Daily Driver with Sway"
| Line 60: | Line 60: | ||
{{todo|Complete these TODOs!}} | {{todo|Complete these TODOs!}} | ||
# power saving (so that I can leave the battery in the device when I'm not using it) | # power saving (so that I can leave the battery in the device when I'm not using it) | ||
| − | # | + | ## hibernation / suspend command - needs crust support in pmos: [https://gitlab.com/postmarketOS/pmaports/-/issues/550 issue 550] |
| − | # | + | ## shortcut to enter suspend |
| − | #* {{IconInfo}} {{code|1=rtcwake -m mem -s 10}} ... {{IconFail}} does not resume operation after issuing ''s2idle'' | + | ##* {{IconInfo}} {{code|1=rtcwake -m mem -s 10}} ... {{IconFail}} does not resume operation after issuing ''s2idle'' |
# Install and test essential apps & workflows | # Install and test essential apps & workflows | ||
## {{IconDone}} Terminal: [[termite]] | ## {{IconDone}} Terminal: [[termite]] | ||
## {{IconWip}} Web browser: [[Firefox]] | ## {{IconWip}} Web browser: [[Firefox]] | ||
| − | ## {{ | + | ##* Mostly works. Portrait mode doesn't fit perfectly. Clunky UI, some menus overflow. |
| + | ## {{IconWip}} Passwords manager: [[KeepassXC]]) | ||
| + | ##* Doesn't support such a small screen. Modify and submit a PR? | ||
## {{IconTodo}} Personal Information Manager with [[WebDAV]] sync support for calendar, contacts | ## {{IconTodo}} Personal Information Manager with [[WebDAV]] sync support for calendar, contacts | ||
## {{IconTodo}} Email client: [[thunderbird]] | ## {{IconTodo}} Email client: [[thunderbird]] | ||
| + | ##* Doesn't support such a small screen. Modify and submit a PR? | ||
## {{IconDone}} Calculator: [[galculator]] | ## {{IconDone}} Calculator: [[galculator]] | ||
## {{IconTodo}} Alarm: ? | ## {{IconTodo}} Alarm: ? | ||
| Line 76: | Line 79: | ||
##* Slack: ? | ##* Slack: ? | ||
## {{IconWip}} Music player: [[audacious]] | ## {{IconWip}} Music player: [[audacious]] | ||
| + | ##* A few problems with the small screen. Otherwise seems to work. | ||
## {{IconTodo}} Camera & Video recorder: ? | ## {{IconTodo}} Camera & Video recorder: ? | ||
## {{IconTodo}} VPN client: [[NetworkManager]]? | ## {{IconTodo}} VPN client: [[NetworkManager]]? | ||
| Line 85: | Line 89: | ||
#* {{IconTodo}} Maps, navigation: ? | #* {{IconTodo}} Maps, navigation: ? | ||
#* {{IconTodo}} Calls & Texts: ? | #* {{IconTodo}} Calls & Texts: ? | ||
| − | # | + | # Tweaking |
| − | |||
| − | |||
| − | |||
| − | |||
#* Configure [[Firefox]] for touch: [https://wiki.postmarketos.org/wiki/Firefox]? | #* Configure [[Firefox]] for touch: [https://wiki.postmarketos.org/wiki/Firefox]? | ||
| − | |||
| − | |||
#* ... | #* ... | ||
# non-essential userspace apps | # non-essential userspace apps | ||
| Line 98: | Line 96: | ||
# cool stuff | # cool stuff | ||
#* presentation mode [https://github.com/Alexays/Waybar/wiki/Module:-Idle-Inhibitor] | #* presentation mode [https://github.com/Alexays/Waybar/wiki/Module:-Idle-Inhibitor] | ||
| + | #* night mode: flux / nightlight / redshift / ... | ||
== Rejected solutions == | == Rejected solutions == | ||
Revision as of 16:24, 14 June 2020
Implementation of Projects:PinePhone Daily Driver using SwayWM.
Contents
Components
- postmarketOS with postmarketos-ui-sway
- pinephone-toolkit
- System packages: bemenu networkmanager termite termite-terminfo bluez squeekboard
- App packages: vim firefox galculator thunderbird gajim audacious audacious-plugins htop
Setup
Configs are stored in a repository.
TODO: Create a postmarketOS package? [1]
Power Management
- backlight off and CPU sleep when screen is locked via power button
- handled via PinePhone-Toolkit
sudo
Add NOPASSWD for shutdown and reboot to wheel group:
visudo%wheel ALL=(ALL) ALL
%wheel ALL=(ALL) NOPASSWD: /sbin/poweroff,/sbin/reboot
elogind
Power key needs to be locked from elogind, otherwise it would shutdown the system. This way as long as the UI session is running, power button is ignored by elogind. Once the session ends and we're back in the login screen, the power button is again able to shutdown the system.
/usr/share/wayland-sessions/sway.desktop...
Exec=elogind-inhibit --what=handle-power-key --mode=block dbus-run-session /usr/bin/sway
...
(included in the POC repository)
SwayWM
(config included in the POC repository)
waybar
(config included in the POC repository)
- Pick a theme! Mine is: [2]
- [i] For clock module, don't forget to set the locale and timezone parameters, otherwise nothing will show up.
lisgd
sxmo#lisgd reconfigured through command line parameters in SwayWM config.
(config included in the POC repository)
PinePhone-Toolkit
Used mainly in SwayWM config.
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 - needs crust support in pmos: issue 550
- shortcut to enter suspend
- [i]
rtcwake -m mem -s 10... ☓ does not resume operation after issuing s2idle
- [i]
- Install and test essential apps & workflows
- ☑ Terminal: termite
- ☆ Web browser: Firefox
- Mostly works. Portrait mode doesn't fit perfectly. Clunky UI, some menus overflow.
- ☆ Passwords manager: KeepassXC)
- Doesn't support such a small screen. Modify and submit a PR?
- ☐ Personal Information Manager with WebDAV sync support for calendar, contacts
- ☐ Email client: thunderbird
- Doesn't support such a small screen. Modify and submit a PR?
- ☑ Calculator: galculator
- ☐ Alarm: ?
- ☐ IM clients
- XMPP: ?
- Matrix: ?
- Slack: ?
- ☆ Music player: audacious
- A few problems with the small screen. Otherwise seems to work.
- ☐ Camera & Video recorder: ?
- ☐ VPN client: NetworkManager?
- Support for non-essential apps & workflows
- ☐ RSS client: ?
- ☐ OTP generator: ?
- ☐ Ebook reader: ?
- ☐ Weather forecast: ?
- ☐ Maps, navigation: ?
- ☐ Calls & Texts: ?
- Tweaking
- non-essential userspace apps
- ...
- cool stuff
- presentation mode [4]
- night mode: flux / nightlight / redshift / ...
Rejected solutions
under Wayland
- libinput-gestures
- twofing
- onboard virtual keyboard