For Bluetooth audio devices, the friendly name (e.g., "Shawn's AirPods Max")
is stored on the Device entry in wpctl, not the Sink entry. The previous fix
looked up object.id (the sink), which shows the raw bluez ID like
"bluez_output.90:9C:4A:EE:01:1C".
This fix looks up device.id first to get the friendly name from the Device
entry, falling back to object.id for non-Bluetooth devices.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
* add visual feedback for super + mute
- show visual feedback (device name and volume icon) when super+mute is pressed
- avoid reassigning the sink when only one is available, since this prevents devices (e.g. headphones) from regaining audio after reconnect
* cleanup
* changes needed
* fix: remove hardcoded channel reference
* Add SUPER + MUTE for audio output switching
* Fix migration bc stupidness
* Simplify implementation and ensure the new sink is not muted
---------
Co-authored-by: David Heinemeier Hansson <david@hey.com>