From 487b2baa8535218d6b1d806ea5cdf054ed1e8a0b Mon Sep 17 00:00:00 2001 From: Sijmen Date: Mon, 3 Jul 2023 11:51:35 +0200 Subject: [PATCH] Use wob to display a volume/brightness overlay --- common/home-manager/wayland.nix | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/common/home-manager/wayland.nix b/common/home-manager/wayland.nix index ad3ff72..9176de2 100644 --- a/common/home-manager/wayland.nix +++ b/common/home-manager/wayland.nix @@ -51,13 +51,17 @@ "Dell Inc. DELL S2722DGM 3P84Z83" = { pos = "0 0"; mode = "2560x1440@144Hz"; }; # thuis links (hdmi) }; keybindings = lib.mkOptionDefault { - XF86MonBrightnessDown = "exec ${pkgs.light}/bin/light -U 5"; - XF86MonBrightnessUp = "exec ${pkgs.light}/bin/light -A 5"; - "shift+XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 1"; - "shift+XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 1"; - XF86AudioRaiseVolume = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ +5%'"; - XF86AudioLowerVolume = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-volume @DEFAULT_SINK@ -5%'"; - XF86AudioMute = "exec '${pkgs.pulseaudio}/bin/pactl set-sink-mute @DEFAULT_SINK@ toggle'"; + XF86MonBrightnessDown = "exec ${pkgs.light}/bin/light -U 5 && ${pkgs.light}/bin/light -G | cut -d. -f1 > $SWAYSOCK.wob"; + XF86MonBrightnessUp = "exec ${pkgs.light}/bin/light -A 5 && ${pkgs.light}/bin/light -G | cut -d. -f1 > $SWAYSOCK.wob"; + "shift+XF86MonBrightnessDown" = "exec ${pkgs.light}/bin/light -U 1 && ${pkgs.light}/bin/light -G | cut -d. -f1 > $SWAYSOCK.wob"; + "shift+XF86MonBrightnessUp" = "exec ${pkgs.light}/bin/light -A 1 && ${pkgs.light}/bin/light -G | cut -d. -f1 > $SWAYSOCK.wob"; + + XF86AudioRaiseVolume = "exec ${pkgs.pamixer}/bin/pamixer -ui 5 && ${pkgs.pamixer}/bin/pamixer --get-volume > $SWAYSOCK.wob"; + XF86AudioLowerVolume = "exec ${pkgs.pamixer}/bin/pamixer -ud 5 && ${pkgs.pamixer}/bin/pamixer --get-volume > $SWAYSOCK.wob"; + "shift+XF86AudioRaiseVolume" = "exec ${pkgs.pamixer}/bin/pamixer -ui 1 && ${pkgs.pamixer}/bin/pamixer --get-volume > $SWAYSOCK.wob"; + "shift+XF86AudioLowerVolume" = "exec ${pkgs.pamixer}/bin/pamixer -ud 1 && ${pkgs.pamixer}/bin/pamixer --get-volume > $SWAYSOCK.wob"; + XF86AudioMute = "exec ${pkgs.pamixer}/bin/pamixer -t && ([[ $(${pkgs.pamixer}/bin/pamixer --get-mute) = true ]] && echo 0 > $SWAYSOCK.wob) || ${pkgs.pamixer}/bin/pamixer --get-volume > $SWAYSOCK.wob"; + Print = "exec '${pkgs.grim}/bin/grim -g \"$(${pkgs.slurp}/bin/slurp)\" - | wl-copy -t image/png'"; "shift+Print" = "exec '${pkgs.grim}/bin/grim - | wl-copy -t image/png'"; @@ -82,6 +86,7 @@ }; startup = [ { command = "/usr/lib/policykit-1-gnome/polkit-gnome-authentication-agent-1"; } + { command = "mkfifo $SWAYSOCK.wob && tail -f $SWAYSOCK.wob | ${pkgs.wob}/bin/wob"; } ]; }; };