1
0
mirror of https://github.com/artizirk/dotfiles.git synced 2026-04-19 12:44:40 +03:00

Hack pipewire to work with i3blocks

This commit is contained in:
2023-06-02 15:45:09 +03:00
parent 547ca3cf89
commit ee048953ab
3 changed files with 191 additions and 1 deletions

19
.bin/pipewire-sink.sh Executable file
View File

@@ -0,0 +1,19 @@
#!/bin/sh
# src: https://codeberg.org/trill/dotfiles/src/branch/master/.local/bin/i3blocks/pipewire-sink.sh
# `pactl list sinks` shows sink properties with a mix of english language and local language
# defined by LANG env var, so we unset the var to guarantee only the fallback language is used
unset LANG;
sink_list="$(wpctl status | sed -n '/^Audio/,/Sink endpoints:/p' | sed -n '/Sinks:/,/|\s*$/p' | head -n -2 | tail -n +2 | tr -d '│')"
CONTENT="$sink_list"
OPTION_SELECTED=$(echo "$CONTENT" \
| rofi -dmenu -location 2 \
| sed -e 's/[^0-9]*\([0-9]*\).*/\1/g')
echo ""
if ! [[ -z "$OPTION_SELECTED" ]]; then
wpctl set-default "$OPTION_SELECTED"
fi