Volymnotifikationer med Dunst och Dunstify
Eftersom att jag nu kör utan panel behövde jag ett alternativt sätt att se volymen när jag justerar den. Jag kollade runt lite på webben och hittade ett script som jag gillade. Jag gjorde om det lite efter mitt tycke och så att det även fungerar med Alsa. Jag tillhör ju de som vägrar PulseAudio. :)
För att det ska fungera behöver du paketen dunst
och dunstify
. Dunst är en lättviktig notifikationsserver, som är ett fristående alternativ till de mer tyngre alternativen. Jag har inte gjort ett riktigt inlägg om Dunst ännu - men det kommer snart. Tillsvidare kan du läsa på om Dunst på deras hemsida, samt hålla koll på taggen #dunst.
#!/bin/bash
# Requires dunst och dunstify
# Based on https://gist.github.com/sebastiencs/5d7227f388d93374cebdf72e783fbd6a
function get_volume {
amixer -M get Master | awk 'END { print $0, value }' | awk '{print $3}'
}
function is_mute {
amixer get Master | grep '%' | grep -oE '[^ ]+$' | grep off > /dev/null
}
function send_notification {
volume=`get_volume`
dunstify -i audio-volume-muted-blocking -t 8 -r 2593 -u normal "Volume: ${volume}%"
}
case $1 in
up)
amixer set Master on > /dev/null
amixer set Master 1+ > /dev/null
send_notification
;;
down)
amixer set Master on > /dev/null
amixer set Master 1- > /dev/null
send_notification
;;
mute)
amixer set Master toggle > /dev/null
if is_mute ; then
dunstify -i audio-volume-muted -t 8 -r 2593 -u normal "Volume muted!"
else
send_notification
fi
;;
esac
Kopiera och spara scriptet själv eller ladda hem det från GitHub med wget:
wget https://raw.githubusercontent.com/Hund/Scripts/master/volume.sh
Gör scriptet körbart med kommandot chmod +x volume.sh
. Det finns sedan totalt tre argument till det; up
, down
och mute
:
./volume.sh <argument>