diff --git a/bin/sway_volume b/bin/sway_volume index 08b7b54..ec2728a 100755 --- a/bin/sway_volume +++ b/bin/sway_volume @@ -1,6 +1,7 @@ #!/bin/bash source $HOME/.config/sway/bin/sway_helpers SINK=$(pactl info | grep "Default Sink" | cut -d ' ' -f 3) +SOURCE=$(pactl info | grep "Default Source" | cut -d ' ' -f 3) ICON_PATH=$HOME/.local/share/icons/Tela-circle-dark/16/actions NOTIFY_APP="dunstify -a volume -h string:x-dunst-stack-tag:volume" APP="pavucontrol" @@ -12,28 +13,29 @@ VOL1="●" VOL2="◌" function notify() { - VOLUME=$(pactl list sinks | grep "Name: $SINK" -A 8 | grep -oE '[0-9]*%' | head -n 1 | sed 's/%//') + SINK_VOLUME=$(pactl list sinks | grep "Name: $SINK" -A 8 | grep -oE '[0-9]*%' | head -n 1 | sed 's/%//') + SOURCE_VOLUME=$(pactl list sources | grep "Name: $SOURCE" -A 8 | grep -oE '[0-9]*%' | head -n 1 | sed 's/%//') MUTE=$(pactl list sinks | grep "Name: $SINK" -A 8 | grep 'Mute:' | cut -d " " -f 2) + SOURCE_MUTE=$(pactl list sources | grep "Name: $SOURCE" -A 8 | grep 'Mute:' | cut -d " " -f 2) - echo $MUTE - - ICON="" - TITLE="" + ICON=$ICON_PATH/audio-volume-high.svg + SINK_ICON="" if [ "$MUTE" = "yes" ]; then ICON=$ICON_PATH/audio-volume-muted.svg - TITLE="${VOLUME}%" - elif [ $VOLUME -le 33 ]; then + elif [ $SINK_VOLUME -le 33 ]; then ICON=$ICON_PATH/audio-volume-low.svg - TITLE="${VOLUME}%" - elif [ $VOLUME -le 67 ]; then + SINK_ICON="" + elif [ $SINK_VOLUME -le 67 ]; then ICON=$ICON_PATH/audio-volume-medium.svg - TITLE="${VOLUME}%" - else - ICON=$ICON_PATH/audio-volume-high.svg - TITLE="${VOLUME}%" + SINK_ICON="" fi + SOURCE_ICON="" + if [ "$SOURCE_MUTE" = "yes" ]; then + SOURCE_ICON="" + fi + TITLE="${SINK_ICON} ${SINK_VOLUME}% / ${SOURCE_ICON} ${SOURCE_VOLUME}%" # $NOTIFY_APP -i $ICON -a "Volume" "$TEXT" - $NOTIFY_APP -i $ICON "$TITLE" "$(getProgressString 10 "$VOL1" "$VOL2" $VOLUME)" + $NOTIFY_APP -i $ICON "$TITLE" "$(getProgressString 10 "$VOL1" "$VOL2" $SINK_VOLUME)" } ## helpers @@ -53,11 +55,13 @@ if [ -z "$SINK" ]; then fi case $1 in + # decrease d*) pactl set-sink-volume $SINK -5% paplay $SOUND & notify ;; + # increase i*) VOLUME=$(pactl list sinks | grep "Name: $SINK" -A 8 | grep -oE '[0-9]*%' | head -n 1 | sed 's/%//') INC=$((100 - $VOLUME)) @@ -68,11 +72,19 @@ case $1 in paplay $SOUND & notify ;; + # mute m*) pactl set-sink-mute $SINK toggle paplay $SOUND & notify ;; + # source-mute + s*) + pactl set-source-mute $SOURCE toggle + paplay $SOUND & + notify + ;; + # show gui gui) _check_app $APP _toggle $APP