first commit
This commit is contained in:
		
							
								
								
									
										32
									
								
								VolumeMenu/volume
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										32
									
								
								VolumeMenu/volume
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,32 @@
 | 
				
			|||||||
 | 
					#!/bin/bash
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SINKS=$(pactl list short sinks | awk '{print $2}')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					declare -A sink_map
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					options=""
 | 
				
			||||||
 | 
					first=true
 | 
				
			||||||
 | 
					while read -r sink; do
 | 
				
			||||||
 | 
					    device=$(echo "$sink")
 | 
				
			||||||
 | 
					    device_name=$(pactl list sinks | grep -A 20 "$device" | grep "Description:" | awk -F: '{print $2}' | xargs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    if [ "$first" = true ]; then
 | 
				
			||||||
 | 
					        options+="$device_name"
 | 
				
			||||||
 | 
					        first=false
 | 
				
			||||||
 | 
					    else
 | 
				
			||||||
 | 
					        options+="\n$device_name"
 | 
				
			||||||
 | 
					    fi
 | 
				
			||||||
 | 
					    sink_map["$device_name"]="$device"
 | 
				
			||||||
 | 
					done <<< "$SINKS"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CHOSEN=$(echo -e "$options" | dmenu -l 10 -i -p "Select Audio Output")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					if [ -n "$CHOSEN" ]; then
 | 
				
			||||||
 | 
					    CHOSEN_SINK=${sink_map["$CHOSEN"]}
 | 
				
			||||||
 | 
					    pactl set-default-sink "$CHOSEN_SINK"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for stream in $(pactl list short sink-inputs | awk '{print $1}'); do
 | 
				
			||||||
 | 
					        pactl move-sink-input "$stream" "$CHOSEN_SINK"
 | 
				
			||||||
 | 
					    done
 | 
				
			||||||
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		Reference in New Issue
	
	Block a user