diff --git a/configs/daemon-hooks/basestation-connected-hook b/configs/daemon-hooks/basestation-connected-hook index fc0a95a..4b72bd6 100755 --- a/configs/daemon-hooks/basestation-connected-hook +++ b/configs/daemon-hooks/basestation-connected-hook @@ -4,3 +4,7 @@ notify-send "Basestation connected"; # Disable osk gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled false + +# Swap waybar +pkill waybar +waybar -c ~/.config/waybar/config-docked diff --git a/configs/daemon-hooks/basestation-disconnected-hook b/configs/daemon-hooks/basestation-disconnected-hook index 25cd1de..fae586a 100755 --- a/configs/daemon-hooks/basestation-disconnected-hook +++ b/configs/daemon-hooks/basestation-disconnected-hook @@ -4,3 +4,7 @@ notify-send "Basestation disconnected"; # Enable on-screen keyboard gsettings set org.gnome.desktop.a11y.applications screen-keyboard-enabled true + +# Swap waybar +pkill waybar +waybar -c ~/.config/waybar/config-tablet diff --git a/configs/waybar/config-docked b/configs/waybar/config-docked new file mode 100644 index 0000000..4bdd8c6 --- /dev/null +++ b/configs/waybar/config-docked @@ -0,0 +1,63 @@ +{ + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 30, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 4, // Gaps between modules (4px) + + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"], + "modules-center": ["sway/window"], + "modules-right": ["cpu", "memory", "temperature", "backlight", "battery", "tray", "clock"], + // Modules configuration + + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + "tray": { + // "icon-size": 21, + "spacing": 10 + }, + "clock": { + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "PROC {usage}%", + "tooltip": false + }, + "memory": { + "format": "MEM {}%" + }, + "temperature": { + "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C" + }, + "backlight": { + // "device": "acpi_video1", + "format": "BKL {percent}%" + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "BAT {capacity}%", + "format-charging": "CHR {capacity}%", + "format-plugged": "CHR {capacity}%" + // "format-good": "", // An empty format will hide the module + // "format-full": "", + } +} + diff --git a/configs/waybar/config-tablet b/configs/waybar/config-tablet new file mode 100644 index 0000000..5770058 --- /dev/null +++ b/configs/waybar/config-tablet @@ -0,0 +1,103 @@ +[ + { + // "layer": "top", // Waybar at top layer + // "position": "bottom", // Waybar position (top|bottom|left|right) + "height": 40, // Waybar height (to be removed for auto height) + // "width": 1280, // Waybar width + "spacing": 0, // Gaps between modules (4px) + + // Choose the order of the modules + "modules-left": ["sway/workspaces", "sway/mode", "sway/scratchpad"], + "modules-center": ["sway/window"], + "modules-right": ["custom/close", "battery", "clock"], + // Modules configuration + + "sway/mode": { + "format": "{}" + }, + "sway/scratchpad": { + "format": "{icon} {count}", + "show-empty": false, + "format-icons": ["", ""], + "tooltip": true, + "tooltip-format": "{app}: {title}" + }, + + "custom/close": { + "exec": "~/.config/waybar/close-module.sh", + "on-click": "swaymsg kill", + "restart-interval": 1 + }, + + "clock": { + "tooltip-format": "{:%Y %B}\n{calendar}", + "format-alt": "{:%Y-%m-%d}" + }, + "cpu": { + "format": "PROC {usage}%", + "tooltip": false + }, + "memory": { + "format": "MEM {}%" + }, + "temperature": { + "thermal-zone": 2, + // "hwmon-path": "/sys/class/hwmon/hwmon2/temp1_input", + "critical-threshold": 80, + // "format-critical": "{temperatureC}°C {icon}", + "format": "{temperatureC}°C" + }, + "backlight": { + // "device": "acpi_video1", + "format": "BKL {percent}%" + }, + "battery": { + "states": { + // "good": 95, + "warning": 30, + "critical": 15 + }, + "format": "{capacity}%", + "format-charging": "+{capacity}%", + "format-plugged": "+{capacity}%" + // "format-good": "", // An empty format will hide the module + // "format-full": "", + } + }, + { + "position": "bottom", + "height": 40, + "modules-left": ["custom/launcher"], + "modules-right": ["custom/volume-plus", "custom/volume-minus", "custom/bright-plus", "custom/bright-minus", "tray"], + + "custom/launcher": { + "format": "APP", + "on-click": "pkill rofi || rofi -show combi -combi-modes drun" + }, + + "custom/volume-plus": { + "format": "🔊", + "on-click": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%+" + }, + + "custom/volume-minus": { + "format": "🔉", + "on-click": "wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%-" + }, + + "custom/bright-plus": { + "format": "🌞+", + "on-click": "light -A 5" + }, + + "custom/bright-minus": { + "format": "🌞-", + "on-click": "light -U 5" + }, + + "tray": { + "icon-size": 22, + "spacing": 10 + }, + } +] diff --git a/configs/waybar/style.css b/configs/waybar/style.css new file mode 100644 index 0000000..e73b3e4 --- /dev/null +++ b/configs/waybar/style.css @@ -0,0 +1,139 @@ +* { + /* `otf-font-awesome` is required to be installed for icons */ + font-family: 'Atkinson Hyperlegible'; + font-size: 13px; +} + +window#waybar { + background-color: rgba(59, 4, 59, 0.5); + border-bottom: 3px solid rgba(59, 4, 125, 0.2); + color: #ffffff; + transition-property: background-color; + transition-duration: .5s; +} + +window#waybar.hidden { + opacity: 0.2; +} + +/* +window#waybar.empty { + background-color: transparent; +} +window#waybar.solo { + background-color: #FFFFFF; +} +*/ + +window#waybar.termite { + background-color: #3F3F3F; +} + +window#waybar.chromium { + background-color: #000000; + border: none; +} + +button { + /* Use box-shadow instead of border so the text isn't offset */ + box-shadow: inset 0 -3px transparent; + /* Avoid rounded borders under each button name */ + border: none; + border-radius: 0; +} + +/* https://github.com/Alexays/Waybar/wiki/FAQ#the-workspace-buttons-have-a-strange-hover-effect */ +button:hover { + background: inherit; + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button { + padding: 0 5px; + background-color: transparent; + color: white; +} + +#workspaces button:hover { + background: rgba(128, 128, 128, 0.4); +} + +#workspaces button.focused { + background-color: rgba(128, 64, 128, 0.4); + box-shadow: inset 0 -3px #ffffff; +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#mode { + background-color: rgba(128, 64, 128, 0.4); + border-bottom: 3px solid #ffffff; +} + +#clock, +#battery, +#cpu, +#memory, +#disk, +#temperature, +#backlight, +#network, +#pulseaudio, +#wireplumber, +#custom-media, +#tray, +#mode, +#idle_inhibitor, +#scratchpad, +#mpd, +#custom-close, +#custom-launcher, +#custom-bright-plus, +#custom-bright-minus, +#custom-volume-plus, +#custom-volume-minus{ + padding: 0 10px; + color: rgb(255, 255, 255); + background-color: rgba(255, 255, 255, 0.4); +} + +#custom-close { + margin: 0 20px; +} + +#window, +#workspaces { + margin: 0 4px; +} + +/* If workspaces is the leftmost module, omit left margin */ +.modules-left > widget:first-child > #workspaces { + margin-left: 0; +} + +/* If workspaces is the rightmost module, omit right margin */ +.modules-right > widget:last-child > #workspaces { + margin-right: 0; +} +@keyframes blink { + to { + background-color: #ffffff; + color: #000000; + } +} + +#battery.critical:not(.charging) { + background-color: #f53c3c; + color: #ffffff; + animation-name: blink; + animation-duration: 0.5s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} + +label:focus { + background-color: #000000; +}