Skip to content

Use wpctl instead of pactl to switch default audio sink#5236

Merged
dhh merged 1 commit intobasecamp:devfrom
sergiojrdotnet:fix-audio-switch-wpctl
Apr 22, 2026
Merged

Use wpctl instead of pactl to switch default audio sink#5236
dhh merged 1 commit intobasecamp:devfrom
sergiojrdotnet:fix-audio-switch-wpctl

Conversation

@sergiojrdotnet
Copy link
Copy Markdown
Contributor

Summary

pactl set-default-sink only updates PipeWire's default.audio.sink metadata, but WirePlumber immediately overrides it back because default.configured.audio.sink remains unchanged. This makes omarchy-cmd-audio-switch appear to do nothing — the OSD notification shows but audio doesn't actually switch.

wpctl set-default updates both metadata keys, making the switch persist.

Test plan

  • Connect 2+ audio output devices (e.g. speakers + USB headset + Bluetooth)
  • Press Super + Mute to cycle between them
  • Verify the default sink actually changes (pactl get-default-sink)
  • Verify audio plays through the newly selected device

pactl set-default-sink only updates PipeWire's default.audio.sink
metadata, but WirePlumber immediately overrides it back because
default.configured.audio.sink remains unchanged. wpctl set-default
updates both, making the switch actually persist.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copilot AI review requested due to automatic review settings April 5, 2026 17:17
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot wasn't able to review any files in this pull request.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@dhh dhh merged commit bde1537 into basecamp:dev Apr 22, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants