summary refs log tree commit diff
path: root/.config/waybar/config.jsonc
diff options
context:
space:
mode:
authorRobert Günzler <r@gnzler.io>2026-09-27 17:38:39 +0200
committerRobert Günzler <r@gnzler.io>2026-09-27 17:38:39 +0200
commit0860db73ae6fd9a6f6347219d820bf026a6b8b91 (patch)
tree11318c3670d1c32c5aa0bf404c22fba3bf63fc53 /.config/waybar/config.jsonc
parent4e34cbf9673aeaba252e01df554a0d204e83c5e2 (diff)
downloaddotfiles-0860db73ae6fd9a6f6347219d820bf026a6b8b91.tar.gz
Automated-commit-by: dots
Signed-off-by: Robert Günzler <r@gnzler.io>
Diffstat (limited to '.config/waybar/config.jsonc')
-rw-r--r--.config/waybar/config.jsonc140
1 files changed, 91 insertions, 49 deletions
diff --git a/.config/waybar/config.jsonc b/.config/waybar/config.jsonc
index eac00c8..66cc917 100644
--- a/.config/waybar/config.jsonc
+++ b/.config/waybar/config.jsonc
@@ -6,18 +6,32 @@
   // ------------------------------------------------------------------------ //
 
   "modules-left": [
-    "custom/launcher",
+    "custom/home",
+    "river/layout",
     "river/mode",
     "river/tags",
     "river/window",
+    // "custom/argen-context",
+    // "wlr/workspaces",
+    "group/mpris",
   ],
 
-  "custom/launcher": {
-    "format": "",
-    "tooltip": false,
-    "on-click": "riverctl spawn fuzzel",
+  "custom/home": {
+    "format": "{icon}",
+    "format-icons": {
+      "dark": "󰔌",
+      "light": "󰄺",
+    },
+    "tooltip-format": "{alt}",
+    "exec": "~/.config/waybar/module-home.sh",
+    "return-type": "json",
+    "interval": 7200, // 2h
+    "on-click": "pkill -x fuzzel || riverctl spawn fuzzel",
+    "on-click-right": "darkman toggle",
   },
 
+  "river/layout": {},
+
   "river/mode": {},
 
   "river/tags": {
@@ -31,6 +45,47 @@
     "max-length": 50,
   },
 
+  "custom/argen-context": {
+    "exec": "~/src/argen/zig-out/bin/argenctl context list --json | jq -rc '.[]|select(.current)|.name'",
+    "interval": 2
+  },
+
+  "group/mpris": {
+    "orientation": "inherit",
+    "drawer": {
+      "transition-duration": 0,
+      "click-to-reveal": false,
+    },
+    "modules": [
+      "mpris#icon",
+      "mpris#detail",
+    ],
+  },
+
+  "mpris#icon": {
+    "format": "{player_icon}",
+    "player-icons": {
+      "default": "󰲸",
+      "firefox": "",
+      "librewolf": "",
+      "spotify": "󰓇",
+      "mpv": "",
+    },
+    "status-icons": {
+      "paused": "",
+      "playing": "",
+      "stopped": "",
+    }
+  },
+
+  "mpris#detail": {
+    "max-length": 50,
+    "format": "{dynamic}",
+    "format-paused": "<i>{dynamic}</i>",
+    "dynamic-order": ["artist", "title", "length"],
+  },
+
+
   // ------------------------------------------------------------------------ //
 
   "modules-center": [
@@ -40,6 +95,7 @@
     "clock#utc",
     "custom/calendar",
     "custom/timew",
+    "custom/syncthing",
   ],
 
   "privacy": {
@@ -101,20 +157,27 @@
   "custom/calendar": {
     "exec": "~/.config/waybar/module-calendar.sh",
     "return-type": "json",
-    "interval": 10800,
-    "on-click": "calm",
+    "interval": 7200, // 2h
+    "on-click": "riverctl spawn calm",
   },
 
   "custom/timew": {
     "exec": "~/.config/waybar/module-timew.sh",
     "return-type": "json",
-    "interval": 900,
+    "interval": 900, // 15min
+  },
+
+  "custom/syncthing": {
+    "exec": "~/.config/waybar/module-syncthing.sh",
+    "return-type": "json",
+    "interval": 900, // 15min
+    "on-click": "xdg-open http://localhost:8384",
+    "signal": 3,
   },
 
   // ------------------------------------------------------------------------ //
 
   "modules-right": [
-    "mpris",
     "tray",
     "group/tailscale",
     "group/net",
@@ -127,25 +190,6 @@
     "upower",
   ],
 
-  "mpris": {
-    "max-length": 50,
-    "format": "{player_icon} {dynamic}",
-    "format-paused": "{status_icon} <i>{dynamic}</i>",
-    "dynamic-order": ["artist", "title", "length"],
-    "player-icons": {
-      "default": "󰲸",
-      "firefox": "",
-      "librewolf": "",
-      "spotify": "󰓇",
-      "mpv": "",
-    },
-    "status-icons": {
-      "paused": "",
-      "playing": "",
-      "stopped": "",
-    }
-  },
-
   "tray": {
     "icon-size": 13,
     "spacing": 2
@@ -153,10 +197,6 @@
 
   "group/net": {
     "orientation": "inherit",
-    "drawer": {
-      "transition-duration": 0,
-      "click-to-reveal": true,
-    },
     "modules": [
       "network#primary",
       "network#bandwidth",
@@ -164,9 +204,11 @@
   },
 
   "network#primary": {
-    "format-wifi": "󰖩{signalStrength}%",
-    "format-ethernet": "󰈀",
     "format-disconnected": "󰌙",
+    "format-ethernet": "󰈀",
+    "tooltip-format-ethernet": "󰛳 Interface: {ifname}\n󰩟 IP:        {ipaddr}\n󱂇 Gateway:   {gwaddr}/{cidr}",
+    "format-wifi": "󰖩{signalStrength}%",
+    "tooltip-format-wifi": " SSID:      {essid}\n            {bssid}\n󱄙 Signal:    {signaldBm} dBm\n Frequency: {frequency} MHz\n\n󰛳 Interface: {ifname}\n󰩟 IP:        {ipaddr}\n󱂇 Gateway:   {gwaddr}/{cidr}",
     //  SSID:      {essid}
     //             {bssid}
     // 󱄙 Signal:    {signaldBm} dBm
@@ -175,19 +217,19 @@
     // 󰛳 Interface: {ifname}
     // 󰩟 IP:        {ipaddr}
     // 󱂇 Gateway:   {gwaddr}/{cidr}
-    "tooltip-format-wifi": " SSID:      {essid}\n            {bssid}\n󱄙 Signal:    {signaldBm} dBm\n Frequency: {frequency} MHz\n\n󰛳 Interface: {ifname}\n󰩟 IP:        {ipaddr}\n󱂇 Gateway:   {gwaddr}/{cidr}",
-    "tooltip-format-ethernet": "󰛳 Interface: {ifname}\n󰩟 IP:        {ipaddr}\n󱂇 Gateway:   {gwaddr}/{cidr}",
-    "menu": "on-click-right",
     "menu-file": "~/.config/waybar/menu-network.xml",
     "menu-actions": {
       "open-netm": "netm",
-      "airplane-mode": "fyi todo",
+      "airplane-mode": "nmcli radio all off",
+      "copy-ipaddr": "nmcli -g IP4.ADDRESS c show $(nmcli -s -g uuid c show --active | head -1) | wl-copy -n",
+      "copy-gateway": "nmcli -g IP4.GATEWAY c show $(nmcli -s -g uuid c show --active | head -1) | wl-copy -n",
     },
-    "on-click": "netm",
+    "menu": "on-click-right",
   },
 
   "network#bandwidth": {
-    "format": "󱦲{bandwidthUpBytes} 󱦳{bandwidthDownBytes}",
+    "format": "<small>{bandwidthUpBytes}</small><small>{bandwidthDownBytes}</small>",
+    "tooltip-format": "Total: {bandwidthTotalBytes}",
   },
 
   "group/tailscale": {
@@ -204,9 +246,9 @@
     "format-disconnected": "",
     "format-disabled": "",
     "format-linked": "",
-    "tooltip-format": "{ifname}: {bandwidthUpBits} {bandwidthDownBits}",
+    "tooltip-format": "{ifname} / {ipaddr}:\n<small>{bandwidthUpBytes}</small><small>{bandwidthDownBytes}</small>",
     "tooltip-format-disconnected": "disconnected",
-    "on-click": "vpnm",
+    "on-click": "riverctl spawn vpnm",
   },
 
   "custom/tailscale": {
@@ -218,7 +260,7 @@
     "exec": "~/.config/waybar/module-tailscale.sh",
     "return-type": "json",
     "signal": 2,
-    "on-click": "vpnm",
+    "on-click": "riverctl spawn vpnm",
   },
 
   "bluetooth": {
@@ -232,20 +274,20 @@
     "tooltip-format": "{device_enumerate}",
     "tooltip-format-enumerate-connected": "{device_alias} {device_address}",
     "tooltip-format-enumerate-connected-battery": "{device_alias} {device_address} {device_battery_percentage}%",
-    "on-click": "blum"
+    "on-click": "riverctl spawn blum"
   },
 
   "group/sys": {
     "orientation": "inherit",
     "drawer": {
       "transition-duration": 0,
-      "click-to-reveal": true,
+      "click-to-reveal": false,
     },
     "modules": [
       "load",
+      "temperature",
       "cpu",
       "memory",
-      "temperature",
     ],
   },
 
@@ -255,12 +297,12 @@
   },
 
   "cpu": {
-    "format": "cpu:{usage}%",
+    "format": "{icon}{usage}%",
     "format-icons": ["󰍛","󰍛","󰍛","󰍛","󰀦"],
   },
 
   "memory": {
-    "format": "mem:{percentage}%",
+    "format": "{icon}{percentage}%",
     "format-icons": ["󰘚"],
   },
 
@@ -300,7 +342,7 @@
     },
     "reverse-scrolling": true,
     "on-click": "wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle",
-    "on-click-right": "audm",
+    "on-click-right": "riverctl spawn audm",
   },
 
   "power-profiles-daemon": {