21 Oktober, 2017

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>

Lämna en kommentar:

Namn:

Hemsida (Valfritt):

Meddelande (kramdown-markup tillåtet):

Din kommentar kommer att publiceras när den har verifierats.