diff --git a/README.md b/README.md index 9b66779..6cf7114 100644 --- a/README.md +++ b/README.md @@ -3,6 +3,8 @@ Linux UI customized to resemble a Fallout Pip-Boy. To be used with the PINE64 PinePhone running Arch Linux ARM, enclosed in the PinePhoneBoy harness. ## Screenshots +![Main screen](screenshot.jpg) + ### Radio tab ![Radio](screenshots/radio.jpg) diff --git a/config/sway/config b/config/sway/config new file mode 100644 index 0000000..9e620b3 --- /dev/null +++ b/config/sway/config @@ -0,0 +1,113 @@ +### Output configuration +# +# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) +#output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill +output * bg ~/Desktop/background.png fill + +set $GREEN "#00AA00FF" +set $LGREEN "#00FF00FF" +set $DGREEN "#006600FF" +set $BLACK "#000000FF" +client.focused $GREEN $BLACK $GREEN $LGREEN $DGREEN +client.unfocused $DGREEN $BLACK $DGREEN $DGREEN $DGREEN + +# +# Workspaces: +# + set $W1 '1:STAT' + set $W2 '2:INV' + set $W3 '3:DATA' + set $W4 '4:MAP' + set $W5 '5:RADIO' + set $W6 '6:6' + set $W7 '7:7' + set $W8 '8:8' + set $W9 '9:9' + + set $WSTAT $W1 + set $WINV $W2 + set $WDATA $W3 + set $WMAP $W4 + set $WRADIO $W5 + + # Switch to workspace + bindsym $mod+1 workspace $W1 + bindsym $mod+2 workspace $W2 + bindsym $mod+3 workspace $W3 + bindsym $mod+4 workspace $W4 + bindsym $mod+5 workspace $W5 + bindsym $mod+6 workspace $W6 + bindsym $mod+7 workspace $W7 + bindsym $mod+8 workspace $W8 + bindsym $mod+9 workspace $W9 + bindsym $mod+0 workspace $W10 + # Move focused container to workspace + bindsym $mod+Shift+1 move container to workspace $W1 + bindsym $mod+Shift+2 move container to workspace $W2 + bindsym $mod+Shift+3 move container to workspace $W3 + bindsym $mod+Shift+4 move container to workspace $W4 + bindsym $mod+Shift+5 move container to workspace $W5 + bindsym $mod+Shift+6 move container to workspace $W6 + bindsym $mod+Shift+7 move container to workspace $W7 + bindsym $mod+Shift+8 move container to workspace $W8 + bindsym $mod+Shift+9 move container to workspace $W9 + bindsym $mod+Shift+0 move container to workspace $W10 + # Note: workspaces can have any name you want, not just numbers. + # We just use 1-10 as the default. + +# +# Power Button +# +set $pplock 'swayphone_power_sleep' +set $ppunlock 'swayphone_power_wakeup' +set $lockapp swaylock +set $lock '$lockapp -f -c 000000' +set $unlock 'killall $lockapp' +## wish this worked... +#bindsym XF86PowerOff exec $lock +#bindsym --locked XF86PowerOff exec $unlock +# alternative: +bindcode 124 exec $lock; exec $pplock +bindcode --locked 124 exec $unlock; exec $ppunlock + +exec swayidle -w \ + timeout 15 'swaymsg exec $lock; $pplock' \ + resume 'swaymsg exec $unlock; $ppunlock' \ + before-sleep 'swaymsg exec $lock; $pplock' + +# Scale the touchscreen LCD UI +output DSI-1 scale 2 + +# Bind input and output for correct rotation support +input 1046:4097:Goodix_Capacitive_TouchScreen map_to_output DSI-1 +#output DSI-1 transform 0 +#output DSI-1 transform 90 +output DSI-1 transform 270 + +# Keyboard +exec "squeekboard" + +# Status Bar +exec "waybar -c ~/.config/waybar/config -b side" +exec "waybar -c ~/.config/waybar/config_left -b side_left" + +# Restore backlight +exec 'swayphone_power_wakeup' + +# INV +exec "portfolio-fm" +for_window [app_id="portfolio-fm"] move workspace $WINV; border none + +# DATA +exec "epiphany" +for_window [app_id="epiphany"] move workspace $WDATA; border none + +# RADIO +exec "killall mpd ; mpd" +exec "xfmpc" +for_window [app_id="xfmpc"] move workspace $WRADIO; border none + +# Welcome message +exec "mako" # notify daemon +exec "sleep 2; notify-send 'Welcome!' 'Your Pip-Boy is ready to be used.' --icon=dialog-information" + diff --git a/config/waybar/config b/config/waybar/config index d1594da..b28a986 100755 --- a/config/waybar/config +++ b/config/waybar/config @@ -11,8 +11,7 @@ "modules-left": [ "clock#time", "clock#date", - "battery", - "custom/terminal", + //"battery", // broken for some reason... "sway/workspaces" ], @@ -20,12 +19,13 @@ ], "modules-right": [ - "cpu", - "memory", +// "cpu", +// "memory", // "disk", - "network", - "backlight", - "pulseaudio", +// "network", +// "backlight", +// "pulseaudio", + "custom/terminal", "custom/kill", "tray" ], @@ -119,12 +119,12 @@ "custom/kill": { "on-click": "swaymsg kill", - "format": "[KILL]" + "format": "💀" }, "custom/terminal": { "on-click": "termite", - "format": "[TERM]" + "format": "#>_" }, diff --git a/config/waybar/config_left b/config/waybar/config_left new file mode 100755 index 0000000..869febb --- /dev/null +++ b/config/waybar/config_left @@ -0,0 +1,129 @@ +{ + // ☢ + + //GLOBAL + "layer": "top", + + "position": "left", + "width": 15, + + "modules-left": [ + "cpu", + "memory", + //"battery", // broken for some reason... + "custom/battery", + "temperature", + "disk", + "backlight", + "pulseaudio", + ], + + "modules-center": [ + ], + + "modules-right": [ + //"custom/terminal", + "custom/keyshow", + "custom/keyhide" + ], + + //MODULES + + "custom/battery": { + "exec": "waybar_battery", + "interval": "2", + "return-type": "json", + "format": "⚛ {}" + }, + "custom/kill": { + "on-click": "swaymsg kill", + "format": "☠" + }, + + "custom/keyshow": { + "on-click": "swayphone_keyboard_show", + "format": "K↥" + }, + + "custom/keyhide": { + "on-click": "swayphone_keyboard_hide", + "format": "K↧" + }, + + "custom/terminal": { + "on-click": "termite", + "format": ">_" + }, + + "cpu": { + "interval": 5, + "tooltip": false, + "format": " {usage}%", //Icon: microchip + "states": { + "warning": 70, + "critical": 90 + }, + "on-click": "termite -e \"htop --sort-key=PERCENT_CPU\"" + }, + + "memory": { + "interval": 5, + "format": " {}%", // Icon: memory + "states": { + "warning": 70, + "critical": 90 + }, + "on-click": "termite -e \"htop --sort-key=PERCENT_MEM\"" + }, + + "temperature": { + // "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 60, + "format-critical": " {temperatureC}°C", + "format": " {temperatureC}°C" + }, + + "network": { + "interval": 5, + "format-wifi": "  {essid}", // Icon: wifi + "format-ethernet": " {ifname}", // Icon: ethernet + "format-disconnected": "Disconnected", + "tooltip-format": "{ifname}: {ipaddr}", + "on-click": "swaymsg exec \"termite -e nmtui\"" + }, + + "pulseaudio": { + "scroll-step": 1, + "format": "{icon} {volume}%", + "format-bluetooth": "{icon} {volume}%", + "format-muted": "", + "format-icons": { + "headphones": "", + "handsfree": "", + "headset": "", + "phone": "", + "portable": "", + "car": "", + "default": ["", ""] + }, + "on-click": "pavucontrol" + }, + + "disk": { + "interval": 5, + "format": "✇ {percentage_used:2}%", // alt:  + "path": "/" + + }, + + "backlight": { + // "device": "acpi_video1", + "format": "{icon} {percent}% ", + "states": [0,50], + "format-icons": ["", ""], + "on-click": "termite -e swayphone_backlightselect" + }, +} + + diff --git a/config/waybar/style.css b/config/waybar/style.css index bd19575..8101e25 100755 --- a/config/waybar/style.css +++ b/config/waybar/style.css @@ -26,9 +26,13 @@ #mode, #network, #pulseaudio, +#temperature, +#custom-battery, #custom-alsa, #custom-kill, #custom-terminal, +#custom-keyshow, +#custom-keyhide, #tray { padding-left: 8px; padding-right: 8px; @@ -57,16 +61,30 @@ #backlight { } +#custom-battery.charging { +} +#custom-battery.discharging { + color: green; +} + #battery { animation-timing-function: linear; animation-iteration-count: infinite; animation-direction: alternate; } -#battery.warning { +#battery.warning, +#temperature.warning, +#cpu.warning { color: orange; } +#battery.critical, +#cpu.critical, +#temperature.critical { + color: red; +} + #clock.date { font-weight: bold; } @@ -76,17 +94,6 @@ font-size: 12px; } -#cpu { -} - -#cpu.warning { - color: orange; -} - -#cpu.critical { - color: orange; -} - #memory { animation-timing-function: linear; animation-iteration-count: infinite; @@ -107,7 +114,7 @@ } #network.disconnected { - color: orange; + color: gray; } #pulseaudio { diff --git a/screenshot.jpg b/screenshot.jpg new file mode 100644 index 0000000..cdf60ff Binary files /dev/null and b/screenshot.jpg differ diff --git a/usr/local/bin/waybar_battery b/usr/local/bin/waybar_battery new file mode 100644 index 0000000..c40790f --- /dev/null +++ b/usr/local/bin/waybar_battery @@ -0,0 +1,15 @@ +#!/bin/bash + +READBAT="cat /sys/class/power_supply/axp20x-battery/uevent" +GETVAL="cut -d= -f2" +LOWERCASE="tr '[:upper:]' '[:lower:]'" + +STATUS=`$READBAT | grep STATUS | $GETVAL | $LOWERCASE` +CHARGE=`$READBAT | grep CAPACITY | $GETVAL` + +TEXT="$CHARGE%" +CLASS=$STATUS + + +echo {\"text\": \"$TEXT\", \"class\": \"$CLASS\"} +