From 524bffc0683551e37449954fa9581cc7b52bee03 Mon Sep 17 00:00:00 2001 From: kiana-S Date: Mon, 5 Feb 2024 12:55:48 -0500 Subject: [PATCH] Use mako instead of wob for volume and brightness --- home-manager/wayland/sway.nix | 27 +++++++++++++------------ home-manager/wayland/swaytools.nix | 32 ++++++++++++++++++++++-------- 2 files changed, 38 insertions(+), 21 deletions(-) diff --git a/home-manager/wayland/sway.nix b/home-manager/wayland/sway.nix index 931cc6a..75d85e4 100644 --- a/home-manager/wayland/sway.nix +++ b/home-manager/wayland/sway.nix @@ -60,11 +60,6 @@ in { }; startup = map (x: { command = x; }) [ - # Make wob channels - ''mkfifo $XDG_RUNTIME_DIR/wob_volume.sock && tail -f $XDG_RUNTIME_DIR/wob_volume.sock \ - | wob -c ~/.config/wob/volume.ini'' - ''mkfifo $XDG_RUNTIME_DIR/wob_brightness.sock && tail -f $XDG_RUNTIME_DIR/wob_brightness.sock \ - | wob -c ~/.config/wob/brightness.ini'' ''swayidle timeout 120 'swaylock -f --grace=180' \ timeout 600 'systemctl suspend' \ before-sleep 'swaylock -f' '' @@ -73,11 +68,17 @@ in { ]; keybindings = let - # Volume using pamixer and wob - audio-disp = ''pamixer --get-volume > $XDG_RUNTIME_DIR/wob_volume.sock''; + multimedia = summary: app: value: + '' + notify-send ${summary} -c multimedia -a ${app} \ + $(makoctl list | jq -r 'first(.data[][]|select(.category.data=="multimedia")|.id.data|["-r",.])[]') \ + -h INT:value:$(${value}) + ''; + # Volume using pamixer + audio-disp = multimedia "Volume" "pamixer" "pamixer --get-volume"; audio = cmd: "exec pamixer ${cmd} && ${audio-disp}"; - # Brightness using brightnessctl and wob - brightness-disp = ''brightnessctl -e -m | cut -d "," -f4 | tr -d "%" > $XDG_RUNTIME_DIR/wob_brightness.sock''; + # Brightness using brightnessctl + brightness-disp = multimedia "Brightness" "brightnessctl" ''brightnessctl -e -m | cut -d "," -f4 | tr -d "%"''; brightness = x: "exec brightnessctl -e set ${x} && ${brightness-disp}"; # Play controls using playerctl playerctl = cmd: "exec playerctl ${cmd}"; @@ -101,10 +102,10 @@ in { select(.type?) | select(.focused).rect | "\(.x),\(.y) \(.width)x\(.height)"')" ${filename}''; # Special XF86 key bindings - "XF86AudioRaiseVolume" = audio "-ui 2"; - "XF86AudioLowerVolume" = audio "-ud 2"; - "Shift+XF86AudioRaiseVolume" = audio "-ui 2 --allow-boost"; - "Shift+XF86AudioLowerVolume" = audio "-ud 2 --allow-boost"; + "XF86AudioRaiseVolume" = audio "-i 2"; + "XF86AudioLowerVolume" = audio "-d 2"; + "Shift+XF86AudioRaiseVolume" = audio "-i 2 --allow-boost"; + "Shift+XF86AudioLowerVolume" = audio "-d 2 --allow-boost"; "XF86AudioMute" = ''exec pamixer --toggle-mute''; "XF86AudioMicMute" = ''exec pactl set-source-mute @DEFAULT_SOURCE@ toggle''; "XF86MonBrightnessDown" = brightness "4%-"; diff --git a/home-manager/wayland/swaytools.nix b/home-manager/wayland/swaytools.nix index ab1f717..bc8e796 100644 --- a/home-manager/wayland/swaytools.nix +++ b/home-manager/wayland/swaytools.nix @@ -1,14 +1,8 @@ { pkgs, config, ... }: { - home.packages = with pkgs; [ swaylock-effects wob ]; + home.packages = [ pkgs.swaylock-effects ]; xdg.configFile = { - "wob/volume.ini".text = ""; - "wob/brightness.ini".text = '' - border_color = FFFF00FF - bar_color = FFFF00FF - ''; - "swaylock/config".text = '' ignore-empty-password fade-in=0.3 @@ -70,7 +64,7 @@ borderSize = 2; borderColor = "#7bc5e4"; borderRadius = 5; - defaultTimeout = 10000; + progressColor = "source #4e90ad"; extraConfig = '' @@ -78,15 +72,18 @@ format=%s\n%b background-color=#111111c0 border-color=#787c99 + progress-color=source #474f6f border-size=1 [urgency=high] background-color=#1e0909d0 border-color=#ce7284 + progress-color=source #bc5469 border-size=3 default-timeout=0 ignore-timeout=1 + [app-name=discord] format=%s\n\n%b border-color=#7da6ff @@ -94,6 +91,25 @@ [app-name=discordcanary] format=%s\n\n%b border-color=#7da6ff + + + [category=multimedia] + anchor=center + width=430 + font=JetBrainsMono Nerd Font 13 + format=%s + border-size=1 + default-timeout=2000 + + [app-name=pamixer] + background-color=#111111c0 + border-color=#787c99 + progress-color=source #474f6f + + [app-name=brightnessctl] + background-color=#111111c0 + border-color=#ffea63 + progress-color=source #a08348 ''; }; }