Difference between revisions of "Projects:PinePhone Daily Driver with Sway"

From Dejvino's Knowledge Base
Jump to navigation Jump to search
Line 75: Line 75:
  
 
=== [[waybar]] ===
 
=== [[waybar]] ===
 +
* Pick a theme! Mine is: [https://github.com/carlosdss22/dotfiles/]
 
* {{IconInfo}} For '''clock''' module, don't forget to set the ''locale'' and ''timezone'' parameters, otherwise nothing will show up.
 
* {{IconInfo}} For '''clock''' module, don't forget to set the ''locale'' and ''timezone'' parameters, otherwise nothing will show up.
  

Revision as of 16:28, 26 May 2020

Implementation of Projects:PinePhone Daily Driver using swayWM.

Components

Setup

TODO: Move some of this setup into a repository

TODO: Create a postmarketOS package? [1]

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 ...

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

  1. Copy /etc/sway/config to ~/.config/sway/config
  2. Edit:

~/.config/sway/config xargs swaymsg exec -- [...]

  # Kill focused window
   bindsym $mod+q kill

[...]

  1. Default scaling for the touchscreen

output DSI-1 scale 2

  1. Initial utility apps

exec squeekboard exec lisgd

  1. Waybar on multiple rows

exec "waybar -c /home/dejvino/.config/waybar/config_0 -b b0" exec "waybar -c /home/dejvino/.config/waybar/config_1 -b b1" exec "waybar -c /home/dejvino/.config/waybar/config_2 -b b2"

waybar

  • 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.

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
  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
  5. tweaking
    • Configure Firefox for touch: [4]?
    • acpi for battery monitoring?
    • ...
  6. non-essential userspace apps
    • ...


Rejected solutions

under Wayland