aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/dot_config
diff options
context:
space:
mode:
authorLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:24:42 +0100
committerLibravatar sommerfeld <sommerfeld@sommerfeld.dev>2026-04-21 01:24:42 +0100
commitd48f8b442648eb837929b5d6538d7d75c4746899 (patch)
tree054f72bbf177c0caa276e9f8ac0a6e1742788421 /dot_config
parent95aed3ac22cf80205a2a18cd4b4410338893d066 (diff)
downloaddotfiles-d48f8b442648eb837929b5d6538d7d75c4746899.tar.gz
dotfiles-d48f8b442648eb837929b5d6538d7d75c4746899.tar.bz2
dotfiles-d48f8b442648eb837929b5d6538d7d75c4746899.zip
waybar: custom/wifi via iw for bond-slaved wlan; drop wg; shorter memory
Diffstat (limited to 'dot_config')
-rw-r--r--dot_config/waybar/config.jsonc19
-rw-r--r--dot_config/waybar/executable_wg-status.sh13
-rw-r--r--dot_config/waybar/executable_wifi-status.sh19
-rw-r--r--dot_config/waybar/style.css12
4 files changed, 28 insertions, 35 deletions
diff --git a/dot_config/waybar/config.jsonc b/dot_config/waybar/config.jsonc
index 839b53c..b4d03ab 100644
--- a/dot_config/waybar/config.jsonc
+++ b/dot_config/waybar/config.jsonc
@@ -10,9 +10,8 @@
"cpu",
"temperature",
"custom/memory",
- "network#wifi",
+ "custom/wifi",
"network#bond",
- "custom/wg",
"battery",
"clock",
"tray",
@@ -33,7 +32,7 @@
},
"custom/memory": {
- "exec": "awk '/^MemTotal:/{t=$2} /^MemAvailable:/{a=$2} END{u=t-a; printf \"MEM %.1fG (%d%%) used / %.1fG (%d%%) free\\n\", u/1048576, u*100/t, a/1048576, a*100/t}' /proc/meminfo",
+ "exec": "awk '/^MemTotal:/{t=$2} /^MemAvailable:/{a=$2} END{u=t-a; printf \"MEM %.1fG (%d%%) / %.1fG (%d%%)\\n\", u/1048576, u*100/t, a/1048576, a*100/t}' /proc/meminfo",
"interval": 10,
"tooltip": false,
},
@@ -43,12 +42,10 @@
"critical-threshold": 80,
},
- "network#wifi": {
- "interface": "wlan0",
+ "custom/wifi": {
+ "exec": "~/.config/waybar/wifi-status.sh",
+ "return-type": "json",
"interval": 10,
- "format-wifi": "{essid} {signalStrength}%",
- "format-disconnected": "wifi off",
- "tooltip-format-wifi": "{essid} · {signalStrength}% · {frequency} MHz\n{ifname}",
},
"network#bond": {
@@ -59,12 +56,6 @@
"tooltip-format": "{ifname}: {ipaddr}/{cidr}",
},
- "custom/wg": {
- "exec": "~/.config/waybar/wg-status.sh",
- "return-type": "json",
- "interval": 10,
- },
-
"battery": {
"format": "BAT {capacity}%",
"format-charging": "CHR {capacity}%",
diff --git a/dot_config/waybar/executable_wg-status.sh b/dot_config/waybar/executable_wg-status.sh
deleted file mode 100644
index 1fd7241..0000000
--- a/dot_config/waybar/executable_wg-status.sh
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-# Emit waybar JSON describing wireguard status. Uses `ip` (no root needed).
-set -eu
-
-iface=$(ip -br link show type wireguard 2>/dev/null | awk 'NF{print $1; exit}')
-
-if [ -n "${iface:-}" ]; then
- printf '{"text":"WG %s","class":"up","tooltip":"%s"}\n' \
- "$iface" \
- "$(ip -br -4 addr show dev "$iface" 2>/dev/null | awk '{for(i=3;i<=NF;i++)printf "%s ",$i}')"
-else
- printf '{"text":"WG off","class":"down","tooltip":"no wireguard interface"}\n'
-fi
diff --git a/dot_config/waybar/executable_wifi-status.sh b/dot_config/waybar/executable_wifi-status.sh
new file mode 100644
index 0000000..082551f
--- /dev/null
+++ b/dot_config/waybar/executable_wifi-status.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+# Emit waybar JSON describing wifi link state. Handles bond-slaved wlan
+# interfaces where waybar's built-in network module fails to detect wifi.
+set -eu
+
+iface=wlan0
+link=$(iw dev "$iface" link 2>/dev/null || true)
+
+if [ -z "$link" ] || [ "$link" = "Not connected." ]; then
+ printf '{"text":"wifi off","class":"down"}\n'
+ exit 0
+fi
+
+ssid=$(printf '%s\n' "$link" | awk -F': ' '/^\tSSID:/{print $2; exit}')
+dbm=$(printf '%s\n' "$link" | awk '/signal:/{print $2; exit}')
+pct=$(awk -v r="${dbm:-0}" 'BEGIN{p=2*(r+100); if(p>100)p=100; if(p<0)p=0; printf "%d",p}')
+
+printf '{"text":"%s %s%%","class":"up","tooltip":"%s · %s dBm"}\n' \
+ "$ssid" "$pct" "$iface" "$dbm"
diff --git a/dot_config/waybar/style.css b/dot_config/waybar/style.css
index 6038a87..d63d8aa 100644
--- a/dot_config/waybar/style.css
+++ b/dot_config/waybar/style.css
@@ -42,7 +42,7 @@ window#waybar {
#pulseaudio,
#tray,
#custom-memory,
-#custom-wg {
+#custom-wifi {
padding: 0 6px;
}
@@ -58,19 +58,15 @@ window#waybar {
color: #fe8019; /* orange */
}
-#network.wifi {
- color: #b8bb26; /* green */
-}
-
#network.bond {
color: #d3869b; /* purple */
}
-#custom-wg.up {
- color: #d3869b; /* purple */
+#custom-wifi {
+ color: #b8bb26; /* green */
}
-#custom-wg.down {
+#custom-wifi.down {
color: #928374; /* gray */
}