dell setup init
This commit is contained in:
@@ -1,33 +1,32 @@
|
||||
#!/usr/bin/env bash
|
||||
# Toggle default PipeWire sink between Steinberg UR22mkII and Starship/Matisse
|
||||
# Toggle default PipeWire sink between Built-in Audio and Cisco 700 USB Adapter
|
||||
|
||||
# sinks
|
||||
#STEINBERG_ID=60
|
||||
#STARSHIP_ID=59
|
||||
# Get sinks section
|
||||
SINKS=$(wpctl status | sed -n '/Sinks:/,/Sources:/p')
|
||||
|
||||
# Extract IDs (ignore default *) and match specific names
|
||||
STARSHIP_ID=$(echo "$SINKS" | tr -d '*' | grep -i "Starship" | grep -v "Easy Effects" | awk '{print $2}' | tr -d '.')
|
||||
STEINBERG_ID=$(echo "$SINKS" | tr -d '*' | grep -i "Steinberg" | grep -v "Easy Effects" | awk '{print $2}' | tr -d '.')
|
||||
# Extract IDs (ignore default * and Easy Effects virtual sinks)
|
||||
BUILTIN_ID=$(echo "$SINKS" | tr -d '*' | grep -i "Built-in Audio" | grep -v "Easy Effects" | awk '{print $2}' | tr -d '.')
|
||||
CISCO_ID=$(echo "$SINKS" | tr -d '*' | grep -i "Cisco HS 730-0TG" | grep -v "Easy Effects" | awk '{print $2}' | tr -d '.')
|
||||
|
||||
# Get current default sink name (not just the ID)
|
||||
CURRENT_SINK=$(wpctl status | awk '/Audio\/Sink/ {print $3}')
|
||||
|
||||
# Detect which sink is active and toggle
|
||||
if [[ "$CURRENT_SINK" == *"Steinberg"* ]]; then
|
||||
echo "Switching to Starship/Matisse output..."
|
||||
wpctl set-default "$STARSHIP_ID"
|
||||
if [[ "$CURRENT_SINK" == *"alsa_output.pci-0000_00_1f.3.analog-stereo"* ]]; then
|
||||
echo "Switching to Cisco HS 730-0TG..."
|
||||
wpctl set-default "$CISCO_ID"
|
||||
else
|
||||
echo "Switching to Steinberg UR22mkII output..."
|
||||
wpctl set-default "$STEINBERG_ID"
|
||||
echo "Switching to Built-in Audio..."
|
||||
wpctl set-default "$BUILTIN_ID"
|
||||
fi
|
||||
|
||||
# Optionally move active streams
|
||||
# Move active streams to new default sink
|
||||
echo "Moving active streams to new sink..."
|
||||
for stream in $(wpctl status | awk '/\. Stream/{print $1}'); do
|
||||
for stream in $(wpctl status | awk '/\. Stream/ {print $1}'); do
|
||||
wpctl move-stream "$stream" @DEFAULT_AUDIO_SINK@ 2>/dev/null
|
||||
done
|
||||
|
||||
# Confirm new default
|
||||
echo "New default sink:"
|
||||
wpctl status | grep "Audio/Sink"
|
||||
|
||||
|
||||
@@ -9,13 +9,13 @@ muted=$(pamixer --get-mute)
|
||||
# Determine alt value for Waybar
|
||||
if [ "$muted" = "true" ]; then
|
||||
case "$sink_name" in
|
||||
*Steinberg*) alt="headphones-muted" ;;
|
||||
*) alt="speaker-muted" ;;
|
||||
*Cisco*) alt="headphones-muted" ;;
|
||||
*) alt="speaker-muted" ;;
|
||||
esac
|
||||
else
|
||||
case "$sink_name" in
|
||||
*Steinberg*) alt="headphones" ;;
|
||||
*) alt="speaker" ;;
|
||||
*Cisco*) alt="headphones" ;;
|
||||
*) alt="speaker" ;;
|
||||
esac
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user