change wallpaper
This commit is contained in:
Executable
+46
@@ -0,0 +1,46 @@
|
||||
#!/usr/bin/env bash
|
||||
# i3blocks volume block for PipeWire (PulseAudio compatible)
|
||||
|
||||
STEP=${1:-5%}
|
||||
|
||||
# Default sink
|
||||
SINK=$(pactl info | awk '/Default Sink/ {print $3}')
|
||||
[[ -z "$SINK" ]] && { echo "No audio"; exit 0; }
|
||||
|
||||
# Handle scroll/middle-click
|
||||
case "$BLOCK_BUTTON" in
|
||||
3) pactl set-sink-mute "$SINK" toggle ;; # right click = mute/unmute
|
||||
4) pactl set-sink-volume "$SINK" +$STEP ;; # scroll up
|
||||
5) pactl set-sink-volume "$SINK" -$STEP ;; # scroll down
|
||||
esac
|
||||
|
||||
# Get current volume (front-left channel)
|
||||
VOL=$(pactl list sinks | awk -v s="$SINK" '
|
||||
$0 ~ "Name: " s {found=1}
|
||||
found && /Volume:/ {gsub("%","",$5); print $5; exit}
|
||||
')
|
||||
|
||||
# Get mute state
|
||||
MUTED=$(pactl list sinks | awk -v s="$SINK" '
|
||||
$0 ~ "Name: " s {found=1}
|
||||
found && /Mute:/ {print $2; exit}
|
||||
')
|
||||
|
||||
# Choose symbol
|
||||
AUDIO_HIGH=''
|
||||
AUDIO_MED=''
|
||||
AUDIO_LOW=''
|
||||
AUDIO_MUTED=''
|
||||
MED_THRESH=50
|
||||
LOW_THRESH=0
|
||||
|
||||
if [[ "$MUTED" == "no" ]]; then
|
||||
SYMB=$AUDIO_HIGH
|
||||
[[ $VOL -le $MED_THRESH ]] && SYMB=$AUDIO_MED
|
||||
[[ $VOL -le $LOW_THRESH ]] && SYMB=$AUDIO_LOW
|
||||
else
|
||||
SYMB=$AUDIO_MUTED
|
||||
fi
|
||||
|
||||
# Single-line output for i3blocks
|
||||
echo "${SYMB} ${VOL}%"
|
||||
Reference in New Issue
Block a user