@@ -15,6 +15,7 @@ Linux UI customized to resemble a Fallout Pip-Boy. To be used with the PINE64 Pi | |||||
- mako: Notifications daemon | - mako: Notifications daemon | ||||
- mpd: Music player daemon | - mpd: Music player daemon | ||||
- xfmpc: Music player client | - xfmpc: Music player client | ||||
- mplayer: Sound effects player | |||||
## Dependencies | ## Dependencies | ||||
- [Sway on PinePhone](https://github.com/Dejvino/pinephone-sway-poc) | - [Sway on PinePhone](https://github.com/Dejvino/pinephone-sway-poc) | ||||
@@ -31,6 +32,14 @@ cd PinePhoneBoyOS | |||||
... | ... | ||||
``` | ``` | ||||
### Virtual Keyboard (Squeekboard) | |||||
Terminal layout replaces (default) English layout: | |||||
```bash | |||||
mkdir -p ~/.local/share/squeekboard/keyboards/ | |||||
wget https://source.puri.sm/Librem5/squeekboard/-/raw/master/data/keyboards/terminal_wide.yaml -O ~/.local/share/squeekboard/keyboards/us_wide.yaml | |||||
``` | |||||
Source: [puri.sm](https://developer.puri.sm/projects/squeekboard/tutorial.html) | |||||
### Theme | ### Theme | ||||
```bash | ```bash | ||||
git clone https://github.com/i-mint/midnight | git clone https://github.com/i-mint/midnight | ||||
@@ -61,7 +70,15 @@ gsettings set org.gnome.desktop.interface icon-theme "Abyss-ENVY" | |||||
# reboot to see it during the next startup | # reboot to see it during the next startup | ||||
``` | ``` | ||||
### Radio - MPD | |||||
### DATA - Epiphany | |||||
Source: [ArchWiki](https://wiki.archlinux.org/index.php/GNOME/Web) | |||||
#### Ad blocking | |||||
```bash | |||||
gsettings set org.gnome.Epiphany adblock-filters "['https://easylist.to/easylist/easylist.txt', 'https://easylist.to/easylist/easyprivacy.txt', 'https://easylist.to/easylist/fanboy-annoyance.txt', 'https://pgl.yoyo.org/adservers/serverlist.php?hostformat=hosts&showintro=1&mimetype=plaintext', 'https://www.malwaredomainlist.com/hostslist/hosts.txt', 'https://mirror.cedia.org.ec/malwaredomains/justdomains']" | |||||
``` | |||||
### RADIO - MPD | |||||
Packages: mpd xfmpc mpc | Packages: mpd xfmpc mpc | ||||
```bash | ```bash | ||||
mkdir -p ~/.config/mpd/playlists | mkdir -p ~/.config/mpd/playlists | ||||
@@ -0,0 +1,144 @@ | |||||
# | |||||
# Run-time configuration file for dialog | |||||
# | |||||
# Automatically generated by "dialog --create-rc <file>" | |||||
# | |||||
# | |||||
# Types of values: | |||||
# | |||||
# Number - <number> | |||||
# String - "string" | |||||
# Boolean - <ON|OFF> | |||||
# Attribute - (foreground,background,highlight?,underline?,reverse?) | |||||
# Set aspect-ration. | |||||
aspect = 0 | |||||
# Set separator (for multiple widgets output). | |||||
separate_widget = "" | |||||
# Set tab-length (for textbox tab-conversion). | |||||
tab_len = 0 | |||||
# Make tab-traversal for checklist, etc., include the list. | |||||
visit_items = OFF | |||||
# Shadow dialog boxes? This also turns on color. | |||||
use_shadow = OFF | |||||
# Turn color support ON or OFF | |||||
use_colors = ON | |||||
# Screen color | |||||
screen_color = (GREEN,BLACK,OFF) | |||||
# Shadow color | |||||
shadow_color = (BLACK,BLACK,OFF) | |||||
# Dialog box color | |||||
dialog_color = (GREEN,BLACK,OFF) | |||||
# Dialog box title color | |||||
title_color = (GREEN,BLACK,OFF) | |||||
# Dialog box border color | |||||
border_color = (GREEN,BLACK,OFF) | |||||
# Active button color | |||||
button_active_color = (BLACK,GREEN,ON) | |||||
# Inactive button color | |||||
button_inactive_color = dialog_color | |||||
# Active button key color | |||||
button_key_active_color = button_active_color | |||||
# Inactive button key color | |||||
button_key_inactive_color = (GREEN,BLACK,ON) | |||||
# Active button label color | |||||
button_label_active_color = (BLACK,GREEN,ON) | |||||
# Inactive button label color | |||||
button_label_inactive_color = (GREEN,BLACK,ON) | |||||
# Input box color | |||||
inputbox_color = dialog_color | |||||
# Input box border color | |||||
inputbox_border_color = dialog_color | |||||
# Search box color | |||||
searchbox_color = dialog_color | |||||
# Search box title color | |||||
searchbox_title_color = title_color | |||||
# Search box border color | |||||
searchbox_border_color = border_color | |||||
# File position indicator color | |||||
position_indicator_color = title_color | |||||
# Menu box color | |||||
menubox_color = dialog_color | |||||
# Menu box border color | |||||
menubox_border_color = border_color | |||||
# Item color | |||||
item_color = dialog_color | |||||
# Selected item color | |||||
item_selected_color = button_active_color | |||||
# Tag color | |||||
tag_color = title_color | |||||
# Selected tag color | |||||
tag_selected_color = button_label_active_color | |||||
# Tag key color | |||||
tag_key_color = button_key_inactive_color | |||||
# Selected tag key color | |||||
tag_key_selected_color = (BLACK,GREEN,ON) | |||||
# Check box color | |||||
check_color = dialog_color | |||||
# Selected check box color | |||||
check_selected_color = button_active_color | |||||
# Up arrow color | |||||
uarrow_color = (BLACK,GREEN,ON) | |||||
# Down arrow color | |||||
darrow_color = uarrow_color | |||||
# Item help-text color | |||||
itemhelp_color = (GREEN,BLACK,OFF) | |||||
# Active form text color | |||||
form_active_text_color = button_active_color | |||||
# Form text color | |||||
form_text_color = (GREEN,BLACK,ON) | |||||
# Readonly form item color | |||||
form_item_readonly_color = (CYAN,WHITE,ON) | |||||
# Dialog box gauge color | |||||
gauge_color = title_color | |||||
# Dialog box border2 color | |||||
border2_color = dialog_color | |||||
# Input box border2 color | |||||
inputbox_border2_color = dialog_color | |||||
# Search box border2 color | |||||
searchbox_border2_color = dialog_color | |||||
# Menu box border2 color | |||||
menubox_border2_color = dialog_color |
@@ -1,3 +1,25 @@ | |||||
# Read `man 5 sway` for a complete reference. | |||||
### Variables | |||||
# | |||||
# Mod4 = Logo key. Mod1 = Alt. | |||||
# Using Mod1 for now since nothing better is available on the virtual keyboard. | |||||
set $mod Mod1 | |||||
# Home row direction keys, like vim | |||||
set $left h | |||||
set $down j | |||||
set $up k | |||||
set $right l | |||||
# Your preferred terminal emulator | |||||
set $term termite | |||||
# Your preferred application launcher | |||||
# Note: pass the final command to swaymsg so that the resulting window can be opened | |||||
# on the original workspace that the command was run on. | |||||
set $menu bemenu-run -n -p RUN | xargs swaymsg exec -- | |||||
### Output configuration | ### Output configuration | ||||
# | # | ||||
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) | # Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/) | ||||
@@ -11,6 +33,90 @@ set $BLACK "#000000FF" | |||||
client.focused $GREEN $BLACK $GREEN $LGREEN $DGREEN | client.focused $GREEN $BLACK $GREEN $LGREEN $DGREEN | ||||
client.unfocused $DGREEN $BLACK $DGREEN $DGREEN $DGREEN | client.unfocused $DGREEN $BLACK $DGREEN $DGREEN $DGREEN | ||||
# | |||||
# Example configuration: | |||||
# | |||||
# output HDMI-A-1 resolution 1920x1080 position 1920,0 | |||||
# | |||||
# You can get the names of your outputs by running: swaymsg -t get_outputs | |||||
### Idle configuration | |||||
# | |||||
# Example configuration: | |||||
# | |||||
# exec swayidle -w \ | |||||
# timeout 300 'swaylock -f -c 000000' \ | |||||
# timeout 600 'swaymsg "output * dpms off"' \ | |||||
# resume 'swaymsg "output * dpms on"' \ | |||||
# before-sleep 'swaylock -f -c 000000' | |||||
# | |||||
# This will lock your screen after 300 seconds of inactivity, then turn off | |||||
# your displays after another 300 seconds, and turn your screens back on when | |||||
# resumed. It will also lock your screen before your computer goes to sleep. | |||||
### Input configuration | |||||
# | |||||
# Example configuration: | |||||
# | |||||
# input "2:14:SynPS/2_Synaptics_TouchPad" { | |||||
# dwt enabled | |||||
# tap enabled | |||||
# natural_scroll enabled | |||||
# middle_emulation enabled | |||||
# } | |||||
# | |||||
# You can get the names of your inputs by running: swaymsg -t get_inputs | |||||
# Read `man 5 sway-input` for more information about this section. | |||||
### Key bindings | |||||
# | |||||
# Basics: | |||||
# | |||||
# Start a terminal | |||||
bindsym $mod+Return exec $term | |||||
# Kill focused window | |||||
bindsym $mod+q kill | |||||
# Start your launcher | |||||
bindsym $mod+d exec $menu | |||||
# Drag floating windows by holding down $mod and left mouse button. | |||||
# Resize them with right mouse button + $mod. | |||||
# Despite the name, also works for non-floating windows. | |||||
# Change normal to inverse to use left mouse button for resizing and right | |||||
# mouse button for dragging. | |||||
floating_modifier $mod normal | |||||
# Reload the configuration file | |||||
bindsym $mod+Ctrl+c reload | |||||
# Exit sway (logs you out of your Wayland session) | |||||
bindsym $mod+Shift+e exec swaynag -t warning -m 'You pressed the exit shortcut. Do you really want to exit sway? This will end your Wayland session.' -b 'Yes, exit sway' 'swaymsg exit' | |||||
# | |||||
# Moving around: | |||||
# | |||||
# Move your focus around | |||||
bindsym $mod+$left focus left | |||||
bindsym $mod+$down focus down | |||||
bindsym $mod+$up focus up | |||||
bindsym $mod+$right focus right | |||||
# Or use $mod+[up|down|left|right] | |||||
bindsym $mod+Left focus left | |||||
bindsym $mod+Down focus down | |||||
bindsym $mod+Up focus up | |||||
bindsym $mod+Right focus right | |||||
# Move the focused window with the same, but add Shift | |||||
bindsym $mod+Shift+$left move left | |||||
bindsym $mod+Shift+$down move down | |||||
bindsym $mod+Shift+$up move up | |||||
bindsym $mod+Shift+$right move right | |||||
# Ditto, with arrow keys | |||||
bindsym $mod+Shift+Left move left | |||||
bindsym $mod+Shift+Down move down | |||||
bindsym $mod+Shift+Up move up | |||||
bindsym $mod+Shift+Right move right | |||||
# | # | ||||
# Workspaces: | # Workspaces: | ||||
# | # | ||||
@@ -30,6 +136,13 @@ client.unfocused $DGREEN $BLACK $DGREEN $DGREEN $DGREEN | |||||
set $WMAP $W4 | set $WMAP $W4 | ||||
set $WRADIO $W5 | set $WRADIO $W5 | ||||
set $DSI1 "DSI-1" | |||||
workspace $WSTAT output $DSI1 | |||||
workspace $WINV output $DSI1 | |||||
workspace $WDATA output $DSI1 | |||||
workspace $WMAP output $DSI1 | |||||
workspace $WRADIO output $DSI1 | |||||
# Switch to workspace | # Switch to workspace | ||||
bindsym $mod+1 workspace $W1 | bindsym $mod+1 workspace $W1 | ||||
bindsym $mod+2 workspace $W2 | bindsym $mod+2 workspace $W2 | ||||
@@ -54,6 +167,68 @@ client.unfocused $DGREEN $BLACK $DGREEN $DGREEN $DGREEN | |||||
bindsym $mod+Shift+0 move container to workspace $W10 | bindsym $mod+Shift+0 move container to workspace $W10 | ||||
# Note: workspaces can have any name you want, not just numbers. | # Note: workspaces can have any name you want, not just numbers. | ||||
# We just use 1-10 as the default. | # We just use 1-10 as the default. | ||||
# | |||||
# Layout stuff: | |||||
# | |||||
# You can "split" the current object of your focus with | |||||
# $mod+b or $mod+v, for horizontal and vertical splits | |||||
# respectively. | |||||
bindsym $mod+b splith | |||||
bindsym $mod+v splitv | |||||
# Switch the current container between different layout styles | |||||
bindsym $mod+s layout stacking | |||||
bindsym $mod+w layout tabbed | |||||
bindsym $mod+e layout toggle split | |||||
# Make the current focus fullscreen | |||||
bindsym $mod+f fullscreen | |||||
# Toggle the current focus between tiling and floating mode | |||||
bindsym $mod+Shift+space floating toggle | |||||
# Swap focus between the tiling area and the floating area | |||||
bindsym $mod+space focus mode_toggle | |||||
# Move focus to the parent container | |||||
bindsym $mod+a focus parent | |||||
# | |||||
# Scratchpad: | |||||
# | |||||
# Sway has a "scratchpad", which is a bag of holding for windows. | |||||
# You can send windows there and get them back later. | |||||
# Move the currently focused window to the scratchpad | |||||
bindsym $mod+Shift+minus move scratchpad | |||||
# Show the next scratchpad window or hide the focused scratchpad window. | |||||
# If there are multiple scratchpad windows, this command cycles through them. | |||||
bindsym $mod+minus scratchpad show | |||||
# | |||||
# Resizing containers: | |||||
# | |||||
mode "resize" { | |||||
# left will shrink the containers width | |||||
# right will grow the containers width | |||||
# up will shrink the containers height | |||||
# down will grow the containers height | |||||
bindsym $left resize shrink width 10px | |||||
bindsym $down resize grow height 10px | |||||
bindsym $up resize shrink height 10px | |||||
bindsym $right resize grow width 10px | |||||
# Ditto, with arrow keys | |||||
bindsym Left resize shrink width 10px | |||||
bindsym Down resize grow height 10px | |||||
bindsym Up resize shrink height 10px | |||||
bindsym Right resize grow width 10px | |||||
# Return to default mode | |||||
bindsym Return mode "default" | |||||
bindsym Escape mode "default" | |||||
} | |||||
bindsym $mod+r mode "resize" | |||||
# | # | ||||
# Power Button | # Power Button | ||||
@@ -61,19 +236,26 @@ client.unfocused $DGREEN $BLACK $DGREEN $DGREEN $DGREEN | |||||
set $pplock 'swayphone_power_sleep' | set $pplock 'swayphone_power_sleep' | ||||
set $ppunlock 'swayphone_power_wakeup' | set $ppunlock 'swayphone_power_wakeup' | ||||
set $lockapp swaylock | set $lockapp swaylock | ||||
set $lock '$lockapp -f -c 000000' | |||||
set $lock '$lockapp -f -c 005500' | |||||
set $unlock 'killall $lockapp' | set $unlock 'killall $lockapp' | ||||
## wish this worked... | ## wish this worked... | ||||
#bindsym XF86PowerOff exec $lock | #bindsym XF86PowerOff exec $lock | ||||
#bindsym --locked XF86PowerOff exec $unlock | #bindsym --locked XF86PowerOff exec $unlock | ||||
# alternative: | # alternative: | ||||
bindcode 124 exec $lock; exec $pplock | |||||
bindcode --locked 124 exec $unlock; exec $ppunlock | |||||
#bindcode 124 exec $lock; exec $pplock | |||||
#bindcode --locked 124 exec $ppunlock | |||||
bindcode 124 exec '$lock ; swayphone_power_presleep' | |||||
bindcode --locked 124 exec '$unlock ; swayphone_power_wakeup' | |||||
exec swayidle -w \ | exec swayidle -w \ | ||||
timeout 15 'swaymsg exec $lock; $pplock' \ | |||||
resume 'swaymsg exec $unlock; $ppunlock' \ | |||||
before-sleep 'swaymsg exec $lock; $pplock' | |||||
timeout 30 'pptk-backlight set_percent 10' \ | |||||
resume 'swayphone_power_wakeup' \ | |||||
timeout 60 'swayphone_power_rest' \ | |||||
resume 'swayphone_power_wakeup' \ | |||||
timeout 120 'swayphone_power_sleep' \ | |||||
before-sleep 'swayphone_power_presleep' \ | |||||
after-resume 'killall swaylock; swayphone_power_wakeup' \ | |||||
unlock 'killall swaylock' | |||||
# Scale the touchscreen LCD UI | # Scale the touchscreen LCD UI | ||||
output DSI-1 scale 2 | output DSI-1 scale 2 | ||||
@@ -84,23 +266,59 @@ input 1046:4097:Goodix_Capacitive_TouchScreen map_to_output DSI-1 | |||||
#output DSI-1 transform 90 | #output DSI-1 transform 90 | ||||
output DSI-1 transform 270 | output DSI-1 transform 270 | ||||
# Display rotation daemon | |||||
#exec 'rot8 --display DSI-1 --threshold 0.97 --x-file /sys/bus/iio/devices/iio:device2/in_accel_y_raw --y-file /sys/bus/iio/devices/iio:device2/in_accel_x_raw --y-invert --on-change swayphone_rotated' | |||||
# Keyboard | # Keyboard | ||||
exec "squeekboard" | exec "squeekboard" | ||||
# Gesture detection | |||||
#exec lisgd \ | |||||
# -g "1,l,r, false" \ | |||||
# -g "1,r,l, false" \ | |||||
# -g "1,u,d, false" \ | |||||
# -g "1,d,u, false" \ | |||||
# -g "2,l,r, swaymsg workspace prev" \ | |||||
# -g "2,r,l, swaymsg workspace next" \ | |||||
# -g "2,u,d, swaymsg exec swayphone_keyboard_hide" \ | |||||
# -g "2,d,u, swaymsg exec swayphone_keyboard_show" \ | |||||
# -g "2,l,u, swaymsg fullscreen" \ | |||||
# -g "2,r,d, swaymsg kill" \ | |||||
# -g "3,l,r, swaymsg focus right" \ | |||||
# -g "3,r,l, swaymsg focus left" \ | |||||
# -g "3,u,d, swaymsg focus down" \ | |||||
# -g "3,d,u, swaymsg focus up" \ | |||||
# -g "4,l,r, swaymsg move right" \ | |||||
# -g "4,r,l, swaymsg move left" \ | |||||
# -g "4,u,d, swaymsg move down" \ | |||||
# -g "4,d,u, swaymsg move up" | |||||
# Status Bar | # Status Bar | ||||
exec "waybar -c ~/.config/waybar/config -b side" | |||||
exec "waybar -c ~/.config/waybar/config_left -b side_left" | |||||
# side | |||||
exec "rm /tmp/sway_rotation" | |||||
exec "waybar -c ~/.config/waybar/config" | |||||
#exec "waybar -c ~/.config/waybar/config_left -b side_left" | |||||
#exec "sleep 2 ; kill -10 `pgrep -f 'waybar.*-b side'`" | |||||
#exec "waybar -c ~/.config/waybar/config_0 -b top" | |||||
#exec "waybar -c ~/.config/waybar/config_1 -b bottom" | |||||
# Restore backlight | # Restore backlight | ||||
exec 'swayphone_power_wakeup' | exec 'swayphone_power_wakeup' | ||||
# STAT | |||||
# ?? | |||||
# INV | # INV | ||||
exec "portfolio-fm" | exec "portfolio-fm" | ||||
for_window [app_id="portfolio-fm"] move workspace $WINV; border none | |||||
for_window [app_id="portfolio-fm"] move workspace $WINV | |||||
# DATA | # DATA | ||||
exec "epiphany" | exec "epiphany" | ||||
for_window [app_id="epiphany"] move workspace $WDATA; border none | |||||
for_window [app_id="epiphany"] move workspace $WDATA | |||||
# MAP | |||||
exec "gnome-maps" | |||||
for_window [app_id="org.gnome.Maps"] move workspace $WMAP; border none | |||||
# RADIO | # RADIO | ||||
exec "killall mpd ; mpd" | exec "killall mpd ; mpd" | ||||
@@ -111,3 +329,6 @@ for_window [app_id="xfmpc"] move workspace $WRADIO; border none | |||||
exec "mako" # notify daemon | exec "mako" # notify daemon | ||||
exec "sleep 2; notify-send 'Welcome!' 'Your Pip-Boy is ready to be used.' --icon=dialog-information" | exec "sleep 2; notify-send 'Welcome!' 'Your Pip-Boy is ready to be used.' --icon=dialog-information" | ||||
# Sounds | |||||
exec "killall workspace_sounds_daemon ; killall mplayer ; workspace_sounds_daemon" | |||||
@@ -1,37 +1,25 @@ | |||||
[ | |||||
// TOUCHSCREEN > RIGHT PANEL | |||||
{ | { | ||||
//GLOBAL | |||||
"layer": "top", | "layer": "top", | ||||
"position": "right", // or "left" | |||||
"position": "right", | |||||
"width": 100, | "width": 100, | ||||
"output": "DSI-1", | |||||
"modules-left": [ | "modules-left": [ | ||||
"clock#time", | "clock#time", | ||||
"clock#date", | "clock#date", | ||||
//"battery", // broken for some reason... | |||||
"sway/workspaces" | |||||
"sway/workspaces", | |||||
"tray" | |||||
], | ], | ||||
"modules-center": [ | "modules-center": [ | ||||
], | ], | ||||
"modules-right": [ | "modules-right": [ | ||||
// "cpu", | |||||
// "memory", | |||||
// "disk", | |||||
// "network", | |||||
// "backlight", | |||||
// "pulseaudio", | |||||
"custom/terminal", | "custom/terminal", | ||||
"custom/kill", | |||||
"tray" | |||||
"custom/kill" | |||||
], | ], | ||||
//MODULES | |||||
"clock#time": { | "clock#time": { | ||||
"interval": 10, | "interval": 10, | ||||
"locale": "C", | "locale": "C", | ||||
@@ -41,7 +29,6 @@ | |||||
"on-click": "termite -e swayphone_menuselect" | "on-click": "termite -e swayphone_menuselect" | ||||
}, | }, | ||||
"clock#date": { | "clock#date": { | ||||
"interval": 20, | "interval": 20, | ||||
"locale": "C", | "locale": "C", | ||||
@@ -52,49 +39,10 @@ | |||||
"on-click": "termite -e swayphone_menuselect" | "on-click": "termite -e swayphone_menuselect" | ||||
}, | }, | ||||
"battery": { | |||||
"interval": 1, | |||||
"states": { | |||||
"warning": 30, | |||||
"critical": 15 | |||||
}, | |||||
/* | |||||
// Connected to AC | |||||
"format": " {capacity}%", // Icon: bolt | |||||
// Not connected to AC | |||||
"format-discharging": " {capacity}%", | |||||
"format-icons": [ | |||||
"", // Icon: battery-full | |||||
"", // Icon: battery-three-quarters | |||||
"", // Icon: battery-half | |||||
"", // Icon: battery-quarter | |||||
"" // Icon: battery-empty | |||||
], | |||||
*/ | |||||
// Connected to AC | |||||
"format": "CH {capacity}%", // Icon: bolt | |||||
// Not connected to AC | |||||
"format-discharging": "D {capacity}%", | |||||
"format-icons": [ | |||||
"4/4", // Icon: battery-full | |||||
"3/4", // Icon: battery-three-quarters | |||||
"2/4", // Icon: battery-half | |||||
"1/4", // Icon: battery-quarter | |||||
"0/4" // Icon: battery-empty | |||||
], | |||||
"tooltip": false, | |||||
// "bat": "axp20x-battery", | |||||
// "adapter": "axp20x-usb", | |||||
"on-click": "termite -e \"~/battery.sh ; sleep 5\"" | |||||
}, | |||||
"sway/mode": { | "sway/mode": { | ||||
"format": "<span style=\"italic\"> {}</span>", | "format": "<span style=\"italic\"> {}</span>", | ||||
"tooltip": true | "tooltip": true | ||||
}, | }, | ||||
"sway/workspaces": { | "sway/workspaces": { | ||||
"all-outputs": false, | "all-outputs": false, | ||||
@@ -119,7 +67,7 @@ | |||||
"custom/kill": { | "custom/kill": { | ||||
"on-click": "swaymsg kill", | "on-click": "swaymsg kill", | ||||
"format": "💀" | |||||
"format": "☢" | |||||
}, | }, | ||||
"custom/terminal": { | "custom/terminal": { | ||||
@@ -127,6 +75,74 @@ | |||||
"format": "#>_" | "format": "#>_" | ||||
}, | }, | ||||
"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\"" | |||||
}, | |||||
"tray": { | |||||
"icon-size": 22 | |||||
//"spacing": 10 | |||||
}, | |||||
}, | |||||
// TOUCHSCREEN > LEFT PANEL | |||||
{ | |||||
"layer": "top", | |||||
"position": "left", | |||||
"width": 15, | |||||
"output": "DSI-1", | |||||
"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" | |||||
], | |||||
"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": { | "cpu": { | ||||
"interval": 5, | "interval": 5, | ||||
@@ -139,7 +155,6 @@ | |||||
"on-click": "termite -e \"htop --sort-key=PERCENT_CPU\"" | "on-click": "termite -e \"htop --sort-key=PERCENT_CPU\"" | ||||
}, | }, | ||||
"memory": { | "memory": { | ||||
"interval": 5, | "interval": 5, | ||||
"format": " {}%", // Icon: memory | "format": " {}%", // Icon: memory | ||||
@@ -150,6 +165,14 @@ | |||||
"on-click": "termite -e \"htop --sort-key=PERCENT_MEM\"" | "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": { | "network": { | ||||
"interval": 5, | "interval": 5, | ||||
"format-wifi": " {essid}", // Icon: wifi | "format-wifi": " {essid}", // Icon: wifi | ||||
@@ -178,27 +201,97 @@ | |||||
"disk": { | "disk": { | ||||
"interval": 5, | "interval": 5, | ||||
"format": " {percentage_used:2}%", | |||||
"format": "✇ {percentage_used:2}%", // alt: | |||||
"path": "/" | "path": "/" | ||||
}, | }, | ||||
"backlight": { | |||||
"backlight": { | |||||
// "device": "acpi_video1", | // "device": "acpi_video1", | ||||
"format": "{icon} {percent}% ", | "format": "{icon} {percent}% ", | ||||
"states": [0,50], | "states": [0,50], | ||||
"format-icons": ["", ""], | "format-icons": ["", ""], | ||||
"on-click": "termite -e swayphone_backlightselect" | "on-click": "termite -e swayphone_backlightselect" | ||||
}, | }, | ||||
}, | |||||
// EXTERNAL MONITOR | |||||
{ | |||||
"layer": "top", | |||||
"position": "bottom", | |||||
"width": 100, | |||||
"output": "!DSI-1", | |||||
"modules-left": [ | |||||
"sway/workspaces#monitor" | |||||
], | |||||
"modules-center": [ | |||||
"clock#time" | |||||
], | |||||
"modules-right": [ | |||||
"tray", | |||||
"clock#date" | |||||
], | |||||
"clock#time": { | |||||
"interval": 10, | |||||
"locale": "C", | |||||
"timezone": "Europe/Berlin", | |||||
"format": " {:%H:%M}", | |||||
"tooltip": false, | |||||
"on-click": "termite -e swayphone_menuselect" | |||||
}, | |||||
"clock#date": { | |||||
"interval": 20, | |||||
"locale": "C", | |||||
"timezone": "Europe/Berlin", | |||||
"format": " {:%e %b %Y}", // Icon: calendar-alt | |||||
//"tooltip-format": "{:%e %B %Y}" | |||||
"tooltip": true, | |||||
"on-click": "termite -e swayphone_menuselect" | |||||
}, | |||||
"sway/mode": { | |||||
"format": "<span style=\"italic\"> {}</span>", | |||||
"tooltip": true | |||||
}, | |||||
"sway/workspaces#monitor": { | |||||
"all-outputs": false, | |||||
"disable-scroll": true, | |||||
/*"persistent_workspaces": { | |||||
"6:": [], | |||||
"7:": [], | |||||
"8:": [], | |||||
"9:": [], | |||||
"0:": [] | |||||
},*/ | |||||
"format": "{name}", | |||||
"format-icons": { | |||||
//"1:T": "", // Icon: terminal | |||||
"3:F": "龜", // Icon: firefox-browser | |||||
"8:M": "", // Icon: mail | |||||
"urgent": "", | |||||
"focused": "", | |||||
"default": "" | |||||
} | |||||
}, | |||||
"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\"" | |||||
}, | |||||
"tray": { | "tray": { | ||||
"icon-size": 22 | "icon-size": 22 | ||||
//"spacing": 10 | //"spacing": 10 | ||||
}, | }, | ||||
"custom/bar": { | |||||
"format": "", | |||||
"tooltip": false | |||||
} | |||||
} | } | ||||
] | |||||