moonarch/defaults/bin/moonarch-sink-switcher
nevaforget d5c1b8a155
All checks were successful
Update PKGBUILD version / update-pkgver (push) Successful in 2s
fix: audit LOW fixes — nmcli guards, sink cancel, cpugov stderr, gpu interval
- moonarch-vpn: add `--` argument-terminator to `nmcli connection up/down`
  so a profile name starting with `-` is never interpreted as a flag.
- moonarch-sink-switcher: guard against empty `$sink` when walker is
  cancelled, since awk masks walker's non-zero exit. Prevents the error
  `pactl set-default-sink ""` on every dismissal.
- moonarch-waybar-cpugov: redirect stderr so non-cpufreq systems (VMs,
  some desktops) do not spam the journal on every 60s poll.
- waybar config: switch custom/gpu-usage from `restart-interval: 10` to
  `interval: 60`. The module lives in a closed drawer, a 10 s poll spawn
  was unnecessary background noise.
2026-04-24 13:59:20 +02:00

18 lines
659 B
Bash
Executable File

#!/usr/bin/bash
# ABOUTME: Walker-dmenu PulseAudio sink switcher using pactl.
# ABOUTME: Changes the default sink and moves all active streams to it.
# choose audio sink via rofi
# changes default sink and moves all streams to that sink
sink=$(pactl list sinks short | awk '{print $1, $2}' | walker -d -p "󱡫 Sink Switcher" | awk '{print $1}')
# Walker cancel returns empty — awk masks its non-zero exit. Guard here so we
# don't call `pactl set-default-sink ""` on dismissal.
[[ -n "$sink" ]] || exit 0
pactl set-default-sink "$sink" &&
for input in $(pactl list sink-inputs short | awk '{print $1}'); do
pactl move-sink-input "$input" "$sink"
done