diff options
author | Thomas Voss <mail@thomasvoss.com> | 2023-08-13 01:09:49 +0200 |
---|---|---|
committer | Thomas Voss <mail@thomasvoss.com> | 2023-08-13 01:09:49 +0200 |
commit | 0438660003a5f3cbdb2dd8a42961e0c8629f80b9 (patch) | |
tree | e2829960bbb7f2cc5ef55d0c48ea3c781f1c4b79 /.config/waybar | |
parent | dd397e6a4a9368117e2689904bb6bb8586d598e9 (diff) |
waybar: Add waybar configuration
Diffstat (limited to '.config/waybar')
-rw-r--r-- | .config/waybar/config | 70 | ||||
-rwxr-xr-x | .config/waybar/custom/disk | 3 | ||||
-rwxr-xr-x | .config/waybar/custom/keyboard | 11 | ||||
-rw-r--r-- | .config/waybar/style.css | 89 |
4 files changed, 173 insertions, 0 deletions
diff --git a/.config/waybar/config b/.config/waybar/config new file mode 100644 index 0000000..aecec60 --- /dev/null +++ b/.config/waybar/config @@ -0,0 +1,70 @@ +// vi: ft=jsonc +{ + "layer": "top", + "position": "top", + "height": 40, + "spacing": 8, + "modules-left": ["wlr/workspaces"], + "modules-center": ["clock"], + "modules-right": [ + "custom/keyboard", + "network", + "custom/disk", + "backlight", + "wireplumber", + "battery" + ], + "wlr/workspaces": { + "sort-by-number": true, + "on-click": "activate", + "format": " {name} ", + "all-outputs": true + }, + "clock": { + "interval": 1, + // https://www.typeerror.org/docs/cpp/chrono/format + "format": "{:%d %B %Y (%a) — %T %Z}" + }, + "custom/keyboard": { + "interval": 1, + "format": " {}", + "exec": "~/.config/waybar/custom/keyboard" + }, + "network": { + "interface": "wlp170s0", + "format": "{ifname}", + "iterval": 1, + "format-wifi": " {essid}", + "format-ethernet": " {ipaddr}/{cidr}", + "format-disconnected": " No connection" + }, + "custom/disk": { + "interval": 30, + "format": " {}", + "exec": "~/.config/waybar/custom/disk" + }, + "backlight": { + "interval": 1, + "format": "{icon} {percent}%", + "format-icons": [""] + }, + "wireplumber": { + //"interval": 1, + //"exec": "amixer get Master | grep -o '[0-9]*%' -m1 | tr -d %", + "format": "<span font='Font Awesome 6 Free'>{icon}</span> {volume}%", + "format-muted": "<span font='Font Awesome 6 Free'>{icon}</span> Muted", + "format-icons": { + "headphone": "", + "default": ["", "", ""] + } + }, + "battery": { + "bat": "BAT1", + "states": { + "critical": 20 + }, + "format": "{icon} {capacity}%", + "format-charging": " {capacity}%", + "format-icons": ["", "", "", "", ""] + } +} diff --git a/.config/waybar/custom/disk b/.config/waybar/custom/disk new file mode 100755 index 0000000..143e41c --- /dev/null +++ b/.config/waybar/custom/disk @@ -0,0 +1,3 @@ +#!/bin/sh + +df -BG | awk '$6 == "/" { print $3 }' diff --git a/.config/waybar/custom/keyboard b/.config/waybar/custom/keyboard new file mode 100755 index 0000000..eba7e61 --- /dev/null +++ b/.config/waybar/custom/keyboard @@ -0,0 +1,11 @@ +#!/bin/sh + +hyprctl devices | sed -En ' +/^\tKeyboard at/ { + :loop + n + /^\t\t\trules: /! b loop + s/.* l "([^"]+)", v "([^"]+)".*/\1(\2)/p + q +} +' diff --git a/.config/waybar/style.css b/.config/waybar/style.css new file mode 100644 index 0000000..7468468 --- /dev/null +++ b/.config/waybar/style.css @@ -0,0 +1,89 @@ +@keyframes blink { + to { + color: #FFF; + box-shadow: inset 0 -3px #FFF; + } +} + +* { + font-family: "Iosevka Smooth"; + font-size: 16px; +} + +window#waybar { + background-color: rgba(43, 48, 59, 0.5); + border-bottom: 3px solid rgba(100, 114, 125, 0.5); + transition-property: background-color; + transition-duration: .5s; +} + +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; +} + +button:hover { + background: inherit; +} + +#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; +} + +#workspaces button { + color: #FFF; + padding: 0 5px; + background-color: transparent; +} + +#workspaces button:hover { + background: rgba(0, 0, 0, 0.2); +} + +#workspaces button.active { + background-color: rgba(0, 0, 0, 0.4); +} + +#workspaces button.urgent { + background-color: #eb4d4b; +} + +#backlight, +#battery, +#clock, +#custom-disk, +#custom-keyboard, +#network, +#wireplumber { + padding: 0 5px; + color: #FFF; +} + +button:hover, +#workspaces button.active { + color: #FFF; + box-shadow: inset 0 -3px #FAA14F; +} + +#battery.critical:not(.charging) { + color: #F53C3C; + box-shadow: inset 0 -3px #F53C3C; + animation-name: blink; + animation-duration: 0.65s; + animation-timing-function: linear; + animation-iteration-count: infinite; + animation-direction: alternate; +} |