diff --git a/module/desktop/waybar/config/default.nix b/module/desktop/waybar/config/default.nix index 1baca80..6adae3e 100644 --- a/module/desktop/waybar/config/default.nix +++ b/module/desktop/waybar/config/default.nix @@ -1,4 +1,6 @@ -{ setting, style, ... }: { +{ setting, style, ... }: let + refreshInterval = 1; +in { text = '' // -*- mode: jsonc -*- { @@ -69,7 +71,7 @@ }, "custom/powerlimit": { "exec": "powerlimit waybar", - "interval": 1, + "interval": ${toString(refreshInterval)}, "on-click-right": "powerlimit toggle" }, "pulseaudio": { @@ -114,12 +116,14 @@ }, "custom/powersave": { "exec": "powersave waybar", - "interval": 1, + "interval": ${toString(refreshInterval)}, "on-click": "foot -e bash -c btop", "on-click-right": "powersave toggle" }, "custom/display": { - "exec": "echo 󰍹", + "exec": "swayscript monbar", + "interval": ${toString(refreshInterval)}, + "return-type": "json", "on-click": "swayscript montoggle", "on-click-right": "swayscript vrrtoggle" } diff --git a/module/sway/script/Monitor.nix b/module/sway/script/Monitor.nix index bbed221..6d33c1a 100644 --- a/module/sway/script/Monitor.nix +++ b/module/sway/script/Monitor.nix @@ -20,13 +20,17 @@ # Toggle monitors. function montoggle() { - if [[ "$(_monstate)" = "off" ]]; then - monon - else + if [[ "$(_monstate)" = "on" ]]; then monoff + else + monon fi } + function monbar() { + printf "{\"text\": \"󰍹\", \"tooltip\": \"Mon: $(_monstate) / Vrr: $(_vrrstate)\"}\n" + } + function _monstate() { if [[ "''${1}" = "" ]]; then cat /tmp/.monstate 2> /dev/null || echo on diff --git a/module/sway/script/Vrr.nix b/module/sway/script/Vrr.nix index 3ca6e00..645435a 100644 --- a/module/sway/script/Vrr.nix +++ b/module/sway/script/Vrr.nix @@ -29,7 +29,7 @@ function _vrrstate() { if [[ "''${1}" = "" ]]; then - cat /tmp/.vrrstate 2> /dev/null || off + cat /tmp/.vrrstate 2> /dev/null || echo off else echo "''${*}" > /tmp/.vrrstate fi