Projects:PinePhone Daily Driver with Sway

From Dejvino's Knowledge Base
Revision as of 01:12, 31 May 2020 by Dejvino (talk | contribs)
Jump to navigation Jump to search

Implementation of Projects:PinePhone Daily Driver using swayWM.

Components

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

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!

  1. 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
    • [i] rtcwake -m mem -s 10 ... does not resume operation after issuing s2idle
  2. Install and test essential apps & workflows
    1. Terminal: termite
    2. Web browser: Firefox
    3. Passwords manager: KeepassXC)
    4. Personal Information Manager with WebDAV sync support for calendar, contacts
    5. Email client: thunderbird
    6. Calculator: galculator
    7. Alarm: ?
    8. IM clients
      • XMPP: ?
      • Matrix: ?
      • Slack: ?
    9. Music player: audacious
    10. Camera & Video recorder: ?
    11. VPN client: NetworkManager?
  3. Support for non-essential apps & workflows
    • RSS client: ?
    • OTP generator: ?
    • Ebook reader: ?
    • Weather forecast: ?
    • Maps, navigation: ?
    • Calls & Texts: ?
  4. Touch gestures and controls
    • sxmo#lisgd TODO: command line setup, compilation and install from the POC repo
    • Custom input device? [3]
    • Wayland touch [4]
  5. tweaking
    • Configure Firefox for touch: [5]?
    • acpi for battery monitoring?
    • ...
  6. non-essential userspace apps
    • ...
  7. cool stuff
    • presentation mode [6]

Rejected solutions

under Wayland