aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:29 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-05-13 13:43:29 +0100
commit0af53da3eb2574ca23758e6658b7683bcee4d6da (patch)
treea6e9e28ada5adb2d16a070d770fe2845668d98d9
parent4c5021e8af8f8b93c517949900e14f1d421d3f8e (diff)
downloaddotfiles-0af53da3eb2574ca23758e6658b7683bcee4d6da.tar.gz
dotfiles-0af53da3eb2574ca23758e6658b7683bcee4d6da.tar.bz2
dotfiles-0af53da3eb2574ca23758e6658b7683bcee4d6da.zip
style(waybar): swap obvious literal labels for Nerd Font glyphs
Numeric/identity labels stay (CPU, MEM, °C, network arrows, clock). Iconic labels are replaced with codepoints from ttf-noto-nerd: battery BAT/CHR/PLG -> nf-md-battery_*, _charging, power_plug (U+F0079..F0084, U+F06A5) pulseaudio VOL/MUTE -> nf-md-volume_low/medium/high/off (U+F057E..F0581) bluetooth BT on/off -> nf-md-bluetooth/_off/_connect (U+F00AF/B0/B2) idle_inhib. INH/IDL -> nf-md-eye_off_outline/_outline (U+F06D1, F06D0) custom/wifi text only -> prefix nf-md-wifi/_off (U+F05A9, F05AA) custom/webcam CAM -> nf-md-camera (U+F0D5D) custom/notif. NTF -> nf-md-bell_outline/_check_outline/_ring (U+F009C, F11E8, F009E) custom/tb MAIL -> nf-md-email/_alert (U+F01EE, F0D42) style.css font-family widened from 'mono' to a declarative fallback chain so glyph rendering doesn't depend on fontconfig auto-fallback.
-rw-r--r--dot_config/waybar/config.jsonc36
-rw-r--r--dot_config/waybar/executable_mako-status.sh6
-rw-r--r--dot_config/waybar/executable_tb-unread.sh12
-rw-r--r--dot_config/waybar/executable_webcam-status.sh2
-rwxr-xr-xdot_config/waybar/executable_wifi-status.sh4
-rw-r--r--dot_config/waybar/style.css2
6 files changed, 33 insertions, 29 deletions
diff --git a/dot_config/waybar/config.jsonc b/dot_config/waybar/config.jsonc
index c09eb1f..a27f8a4 100644
--- a/dot_config/waybar/config.jsonc
+++ b/dot_config/waybar/config.jsonc
@@ -103,9 +103,10 @@
},
"battery": {
- "format": "BAT {capacity}%",
- "format-charging": "CHR {capacity}%",
- "format-plugged": "PLG {capacity}%",
+ "format": "{icon} {capacity}%",
+ "format-charging": "󰂄 {capacity}%",
+ "format-plugged": "󰚥 {capacity}%",
+ "format-icons": ["󰁺", "󰁼", "󰁾", "󰂀", "󰂂", "󰁹"],
"states": {
"warning": 30,
"critical": 15,
@@ -113,12 +114,15 @@
},
"pulseaudio": {
- "format": "VOL {volume}%",
- "format-low": "VOL <span color='#b8bb26'>{volume}%</span>",
- "format-medium": "VOL <span color='#fabd2f'>{volume}%</span>",
- "format-high": "VOL <span color='#fe8019'>{volume}%</span>",
- "format-critical": "VOL <span color='#fb4934'>{volume}%</span>",
- "format-muted": "MUTE",
+ "format": "{icon} {volume}%",
+ "format-low": "{icon} <span color='#b8bb26'>{volume}%</span>",
+ "format-medium": "{icon} <span color='#fabd2f'>{volume}%</span>",
+ "format-high": "{icon} <span color='#fe8019'>{volume}%</span>",
+ "format-critical": "{icon} <span color='#fb4934'>{volume}%</span>",
+ "format-muted": "󰖁",
+ "format-icons": {
+ "default": ["󰕿", "󰖀", "󰕾"],
+ },
"states": {
"low": 0,
"medium": 50,
@@ -142,18 +146,18 @@
"idle_inhibitor": {
"format": "{icon}",
"format-icons": {
- "activated": "INH",
- "deactivated": "IDL",
+ "activated": "󰛑",
+ "deactivated": "󰛐",
},
"tooltip": true,
},
"bluetooth": {
- "format": "BT on",
- "format-disabled": "BT off",
- "format-off": "BT off",
- "format-connected": "BT {device_alias}",
- "format-connected-battery": "BT {device_alias} {device_battery_percentage}%",
+ "format": "󰂯",
+ "format-disabled": "󰂲",
+ "format-off": "󰂲",
+ "format-connected": "󰂰 {device_alias}",
+ "format-connected-battery": "󰂰 {device_alias} {device_battery_percentage}%",
"tooltip-format": "{controller_alias}\t{controller_address}",
"tooltip-format-connected": "{controller_alias}\n{num_connections} connected\n{device_enumerate}",
"tooltip-format-enumerate-connected": "{device_alias}\t{device_address}",
diff --git a/dot_config/waybar/executable_mako-status.sh b/dot_config/waybar/executable_mako-status.sh
index c0a4edd..791aabe 100644
--- a/dot_config/waybar/executable_mako-status.sh
+++ b/dot_config/waybar/executable_mako-status.sh
@@ -12,13 +12,13 @@ count=$(makoctl history 2>/dev/null | grep -c '^Notification ' || true)
pending=$(makoctl list 2>/dev/null | grep -c '^Notification ' || true)
if [ "$pending" -gt 0 ]; then
- text="NTF !$pending"
+ text="󰂞 $pending"
class="pending"
elif [ "$count" -gt 0 ]; then
- text="NTF $count"
+ text="󱇨 $count"
class="history"
else
- text="NTF 0"
+ text="󰂜"
class="empty"
fi
diff --git a/dot_config/waybar/executable_tb-unread.sh b/dot_config/waybar/executable_tb-unread.sh
index ebf2fd4..3c3e1c7 100644
--- a/dot_config/waybar/executable_tb-unread.sh
+++ b/dot_config/waybar/executable_tb-unread.sh
@@ -18,12 +18,12 @@ emit() { printf '%s\n' "$1"; exit 0; }
# Cheap reachability probe — avoids a 30s python TLS timeout when the bridge
# is down (e.g. before it has finished unlocking on a fresh login).
ncat -z -w 1 "$HOST" "$PORT" 2>/dev/null || \
- emit '{"text":"MAIL ?","tooltip":"bridge unreachable","class":"error","alt":"error"}'
+ emit '{"text":"󰵂","tooltip":"bridge unreachable","class":"error","alt":"error"}'
user=$(pass show "$PASS_USER" 2>/dev/null) || \
- emit '{"text":"MAIL ?","tooltip":"missing pass entry: '"$PASS_USER"'","class":"error","alt":"error"}'
+ emit '{"text":"󰵂","tooltip":"missing pass entry: '"$PASS_USER"'","class":"error","alt":"error"}'
pw=$(pass show "$PASS_PW" 2>/dev/null) || \
- emit '{"text":"MAIL ?","tooltip":"missing pass entry: '"$PASS_PW"'","class":"error","alt":"error"}'
+ emit '{"text":"󰵂","tooltip":"missing pass entry: '"$PASS_PW"'","class":"error","alt":"error"}'
n=$(PROTONMAIL_BRIDGE_USER="$user" PROTONMAIL_BRIDGE_PASS="$pw" \
python3 - "$HOST" "$PORT" <<'PY' 2>/dev/null || true
@@ -45,7 +45,7 @@ PY
)
case "$n" in
- '') emit '{"text":"MAIL ?","tooltip":"IMAP query failed","class":"error","alt":"error"}' ;;
- 0) emit '{"text":"MAIL 0","tooltip":"Inbox: no unread","class":"empty","alt":"empty"}' ;;
- *) emit "$(printf '{"text":"MAIL %s","tooltip":"Inbox: %s unread","class":"unread","alt":"unread"}' "$n" "$n")" ;;
+ '') emit '{"text":"󰵂","tooltip":"IMAP query failed","class":"error","alt":"error"}' ;;
+ 0) emit '{"text":"󰇮","tooltip":"Inbox: no unread","class":"empty","alt":"empty"}' ;;
+ *) emit "$(printf '{"text":"󰇮 %s","tooltip":"Inbox: %s unread","class":"unread","alt":"unread"}' "$n" "$n")" ;;
esac
diff --git a/dot_config/waybar/executable_webcam-status.sh b/dot_config/waybar/executable_webcam-status.sh
index b8e5570..997f97a 100644
--- a/dot_config/waybar/executable_webcam-status.sh
+++ b/dot_config/waybar/executable_webcam-status.sh
@@ -12,7 +12,7 @@ esac
# fuser exits 0 when at least one device has an opener, 1 otherwise. Stderr
# carries 'PID' for each match; redirect it away.
if fuser $devs >/dev/null 2>&1; then
- printf '{"text":"CAM","tooltip":"webcam in use","class":"active","alt":"active"}\n'
+ printf '{"text":"󰵝","tooltip":"webcam in use","class":"active","alt":"active"}\n'
else
printf '{"text":"","alt":"idle"}\n'
fi
diff --git a/dot_config/waybar/executable_wifi-status.sh b/dot_config/waybar/executable_wifi-status.sh
index b0cd214..93b3048 100755
--- a/dot_config/waybar/executable_wifi-status.sh
+++ b/dot_config/waybar/executable_wifi-status.sh
@@ -10,7 +10,7 @@ iface=wlan0
svc=net.connman.iwd
down() {
- printf '{"text":"wifi off","class":"down"}\n'
+ printf '{"text":"󰖪","class":"down"}\n'
exit 0
}
@@ -46,5 +46,5 @@ color=$(awk -v p="$pct" 'BEGIN{
else print "#b8bb26"
}')
-printf '{"text":"%s <span color=\x27%s\x27>%s%%</span>","class":"up","tooltip":"%s · %s dBm"}\n' \
+printf '{"text":"󰖩 %s <span color=\x27%s\x27>%s%%</span>","class":"up","tooltip":"%s · %s dBm"}\n' \
"$ssid" "$color" "$pct" "$iface" "$rssi"
diff --git a/dot_config/waybar/style.css b/dot_config/waybar/style.css
index 29d9885..71c8b3d 100644
--- a/dot_config/waybar/style.css
+++ b/dot_config/waybar/style.css
@@ -1,5 +1,5 @@
* {
- font-family: mono;
+ font-family: "monospace", "Symbols Nerd Font Mono", "Font Awesome 6 Free";
font-size: 8pt;
}