diff --git a/.config/polybar/config.ini b/.config/polybar/config.ini index 0b201b7..1bfd8d3 100644 --- a/.config/polybar/config.ini +++ b/.config/polybar/config.ini @@ -32,7 +32,7 @@ font-0 = mononoki-12;1 modules-left = ewmh modules-center = date -modules-right = mpd filesystem pulseaudio xkeyboard memory cpu wlan eth +modules-right = mpd filesystem pipewire_buffer_size pulseaudio xkeyboard memory cpu wlan eth cursor-click = pointer cursor-scroll = ns-resize @@ -43,10 +43,16 @@ enable-ipc = true ; wm-restack = generic ; wm-restack = bspwm -; wm-restack = i3 +wm-restack = i3 ; override-redirect = true +[module/pipewire_buffer_size] +type = custom/script +exec = ~/.config/polybar/pipewire_buffer_size.sh +interval = 10 +click-right = ~/.config/polybar/pipewire_buffer_size.sh click + [module/info-hlwm-workspaces] type = custom/script exec = ~/.config/polybar/info-hlwm-workspaces/info-hlwm-workspaces.sh diff --git a/.config/polybar/pipewire_buffer_size.sh b/.config/polybar/pipewire_buffer_size.sh new file mode 100755 index 0000000..b98b1ab --- /dev/null +++ b/.config/polybar/pipewire_buffer_size.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +BUFFER_SIZES=("64" "128" "256" "512" "1024" "2048" "4096") + +current_buffer_size=$(pw-metadata -n settings 0 clock.force-quantum | grep -oP "value:'\K[0-9]+") + +if [[ $1 == "click" ]]; then + new_buffer_size=$(echo "${BUFFER_SIZES[@]}" | tr ' ' '\n' | xmenu) + + if [[ -n $new_buffer_size ]]; then + pw-metadata -n settings 0 clock.force-quantum "$new_buffer_size" + current_buffer_size=$new_buffer_size + fi + + exit 0 +fi + +echo "$current_buffer_size"