Advertisement
HiImTye

volumeControl

Jun 5th, 2014
969
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.20 KB | None | 0 0
  1. #!/bin/bash
  2. sinkName=$(pacmd info | grep 'Default sink' | awk '{print $4}')
  3. sinkNumber=$(pacmd info | grep "sink:.*$sinkName" | awk '{print $2}')
  4. case "$1" in
  5.  up) icon=audio-volume-high;;
  6.  down) icon=audio-volume-low;;
  7.  mute) icon=audio-volume-medium;;
  8.  [0-9]*) icon=audio-volume-medium;;
  9. esac
  10.  
  11. getVolume() {
  12.  volumeInput=$(pactl list sinks)
  13.  currentVolume=$(echo "${volumeInput#*Sink #$sinkNumber}" | grep -E 'V.*-left' | grep -oE '[0-9]+%' | tail -n 1)
  14.  notify-send "Volume: $currentVolume" -i /usr/share/icons/Adwaita/24x24/status/"$icon"-symbolic.symbolic.png
  15.  echo Volume: "$currentVolume"
  16. }
  17.  
  18. case "$1" in
  19.  up) pactl set-sink-volume @DEFAULT_SINK@ +5%; getVolume;;
  20.  down) pactl set-sink-volume @DEFAULT_SINK@ -5%; getVolume;;
  21.  mute) muted=$(pactl list sinks | grep 'Mute: yes')
  22.        if [ -z "$muted" ]; then
  23.         pactl set-sink-mute @DEFAULT_SINK@ 1
  24.         notify-send Volume: Muted -i /usr/share/icons/Adwaita/24x24/status/audio-volume-muted-symbolic.symbolic.png
  25.     echo Volume: Muted
  26.        else
  27.         pactl set-sink-mute @DEFAULT_SINK@ 0
  28.         getVolume
  29.        fi;;
  30.  list) getVolume;;
  31. esac
  32.  
  33. if [[ "$1" =~ [0-9]+ ]]; then
  34.  pactl set-sink-volume @DEFAULT_SINK@ "$1%"; getVolume
  35. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement