dotfiles

My personal shell configs and stuff
git clone git://git.alex.balgavy.eu/dotfiles.git
Log | Files | Refs | Submodules | README | LICENSE

dwmblock-volume (1576B)


      1 #!/bin/sh
      2 # dwmblocks script for volume information
      3 sink="$(pactl get-default-sink)"
      4 source="$(pactl get-default-source)"
      5 case "$BUTTON" in
      6   1)
      7     if pgrep -f pulsemixer >/dev/null 2>&1; then
      8       wmctrl -Fa pulsemixer
      9     else
     10       setsid -f "$TERMINAL" -e pulsemixer
     11     fi
     12     pkill -RTMIN+6 dwmblocks;;
     13   3)
     14     pactl -- set-source-mute "$source" toggle
     15     pkill -RTMIN+6 dwmblocks;;
     16   4)
     17     pactl -- set-sink-volume "$sink" +10%
     18     pkill -RTMIN+6 dwmblocks
     19     ;;
     20   5)
     21     pactl -- set-sink-volume "$sink" -10%
     22     pkill -RTMIN+6 dwmblocks
     23     ;;
     24   6) "$TERMINAL" -e "$EDITOR" "$0" ;;
     25 esac
     26 
     27 case $(pactl get-sink-mute "$sink") in
     28   "Mute: yes"*)
     29     volume_icon='🔇'
     30     ;;
     31   *)
     32     volume_icon='🔊'
     33     ;;
     34 esac
     35 volume="$(pactl get-sink-volume "$sink" \
     36   | head -n 1 \
     37   | awk -v volume_icon="$volume_icon" -F ' / ' '{
     38       gsub(" ", "", $2);
     39       gsub(" ", "", $4);
     40       if ($2 == $4) {
     41         printf("%s %s", volume_icon, $2);
     42       }
     43       else {
     44         printf("%s %s %s", volume_icon, $2, $4);
     45       }
     46     }')"
     47 
     48 case $(pactl get-source-mute "$source") in
     49   "Mute: yes"*)
     50     mic_icon=''
     51     ;;
     52   *)
     53     mic_icon='🎤'
     54     ;;
     55 esac
     56 
     57 pgrep -f nerd-dictation >/dev/null 2>&1 && recording=' ⏺'
     58 mic="$(pactl get-source-volume "$source" \
     59   | head -n 1 \
     60   | awk -v mic_icon="$mic_icon" -F ' / ' '{
     61       gsub(" ", "", $2);
     62       gsub(" ", "", $4);
     63       if (NF <= 4 || $2 == $4) {
     64         printf("%s %s", mic_icon, $2);
     65       }
     66       else {
     67         printf("%s %s %s", mic_icon, $2,$4);
     68       }
     69     }')"
     70 printf "%s %s%s" "$volume" "$mic" "$recording"