feat: add audio-output-switcher plugin - #110
Conversation
- Route individual apps to different audio outputs - Bar widget shows speaker icon, panel shows streams + output buttons - Auto-detects output names from device identifiers - Uses pactl for sink management
The manifest omits the required dependencies field even though service.luau:44 and panel.luau:49 execute pactl. This causes validation to fail. Declare
The translations use flat dotted keys, and refreshInterval and noStreams contain uppercase characters. These violate the translation-key rules. Manifest
The widget toggles rael2pac/audio-switcher:panel, but the declared panel is rael2pac/audio-output-switcher:panel at plugin.toml:1 and plugin.toml:20.
Callbacks are generated for every stream, but handlers only exist for streams 1 through 6 at panel.luau:79 through panel.luau:113. The seventh and eighth |
Plugin
rael2pac/audio-output-switcherWhat it does
Route individual apps to different audio outputs. Each playing app appears in the panel with buttons to switch it to any available output (headphones, HDMI, Bluetooth, USB, etc.). Works with PipeWire/PulseAudio.
External dependencies
pactlfor listing sinks and moving sink inputsTesting
Screenshots / Videos
Checklist
idafter/inplugin.tomlexactly.plugin.toml,README.md,thumbnail.webp, andtranslations/en.json.README.mdfollows the README template.thumbnail.webpwith the thumbnail generator. (TODO)versionfollows semver;plugin_apiis the oldest API level required.catalog.toml.Code review attestation
licensedeclared inplugin.toml.