mirror of
https://github.com/js0ny/dotfiles.git
synced 2026-03-22 02:36:19 +00:00
dot(niri): wpctl with notification
This commit is contained in:
parent
1b5c26bc04
commit
f740b78081
4 changed files with 158 additions and 91 deletions
|
|
@ -61,16 +61,19 @@ in {
|
|||
# spawn-sh "cliphist list | ${launcher} -dmenu | cliphist decode | wl-copy";
|
||||
spawn "${launcher}" "-m" "clipboard";
|
||||
|
||||
# See ../volume-notify.nix
|
||||
"XF86AudioRaiseVolume".allow-when-locked = true;
|
||||
"XF86AudioRaiseVolume".action =
|
||||
spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1+";
|
||||
spawn "volume-notify" "up";
|
||||
"XF86AudioLowerVolume".allow-when-locked = true;
|
||||
"XF86AudioLowerVolume".action =
|
||||
spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.1-";
|
||||
spawn "volume-notify" "down";
|
||||
"XF86AudioMute".allow-when-locked = true;
|
||||
"XF86AudioMute".action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle";
|
||||
"XF86AudioMute".action =
|
||||
spawn "volume-notify" "mute";
|
||||
"XF86AudioMicMute".allow-when-locked = true;
|
||||
"XF86AudioMicMute".action = spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
|
||||
"XF86AudioMicMute".action =
|
||||
spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle";
|
||||
|
||||
"XF86MonBrightnessUp" = {
|
||||
action = spawn "brightnessctl" "set" "10%+";
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ in {
|
|||
./sunsetr.nix
|
||||
./systemd.nix
|
||||
./dunst.nix
|
||||
./volume-notify.nix
|
||||
];
|
||||
home.packages = with pkgs; [
|
||||
swayidle # Screensaver
|
||||
|
|
|
|||
|
|
@ -0,0 +1,46 @@
|
|||
{pkgs, ...}: let
|
||||
volume-notify = pkgs.writeShellApplication {
|
||||
name = "volume-notify";
|
||||
|
||||
runtimeInputs = with pkgs; [
|
||||
wireplumber
|
||||
gawk
|
||||
gnugrep
|
||||
libnotify
|
||||
];
|
||||
|
||||
text = ''
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "Usage: volume-notify {up|down|mute}"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
up)
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1+
|
||||
;;
|
||||
down)
|
||||
wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.1-
|
||||
;;
|
||||
mute)
|
||||
wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle
|
||||
;;
|
||||
*)
|
||||
echo "Invalid argument: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
if wpctl get-volume @DEFAULT_AUDIO_SINK@ | grep -q 'MUTED'; then
|
||||
TEXT="Volume: Muted"
|
||||
else
|
||||
VOLUME=$(wpctl get-volume @DEFAULT_AUDIO_SINK@ | awk '{print $2 * 100}')
|
||||
TEXT="Volume: ''${VOLUME}%"
|
||||
fi
|
||||
|
||||
notify-send -h string:x-canonical-private-synchronous:volume -t 1500 "🔊 Audio" "$TEXT"
|
||||
'';
|
||||
};
|
||||
in {
|
||||
home.packages = [volume-notify];
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue