Skip to content

Bluetooth profile selector in audio panel#2373

Open
Aitor42 wants to merge 14 commits intonoctalia-dev:mainfrom
Aitor42:main
Open

Bluetooth profile selector in audio panel#2373
Aitor42 wants to merge 14 commits intonoctalia-dev:mainfrom
Aitor42:main

Conversation

@Aitor42
Copy link
Copy Markdown
Contributor

@Aitor42 Aitor42 commented Apr 1, 2026

Pull Request

If this PR is not ready for review yet, please mark it as Draft until it's good to be reviewed.

Motivation

Add the ability to switch between Bluetooth audio profiles (A2DP, HSP/HFP, LDAC, etc.) directly from the Audio Panel. Currently, users must rely on auto-switching rules, CLI scripts, or external mixers like pavucontrol to change profiles. This feature adds a Bluetooth icon button next to Bluetooth audio devices in the Devices tab that opens a dropdown menu with available codec/profile combinations, similar to KDE's implementation.

Additionally, users can optionally enable profile persistence to automatically apply their preferred profile when a Bluetooth device connects.

Type of Change

Mark the relevant option with an "x".

  • Bug fix
  • New feature
  • Breaking change
  • Refactoring

Related Issue

Testing

Describe how you tested your changes and mark the relevant items.

  • Tested on niri
  • Tested on Hyprland
  • Tested on sway
  • Tested with different bar positions and density settings
  • Tested at different interface scaling values
  • Tested with multiple monitors (if applicable)

Screenshots / Videos

image

Checklist

  • Code follows project style guidelines
  • Self-reviewed my code
  • No new warnings or errors
  • Documentation or comments updated (if relevant)

Additional Notes

I think the menu needs polish, I don't have much experience with that so I tried my best. Because of that I modified the NPopup file to do it in a simpler way, but there must be a better way to implement it.

@turannul
Copy link
Copy Markdown
Contributor

turannul commented Apr 1, 2026

Um i have a question in mind, storing selected profile within the shell - looks like not needed is it actually?

I assume pipewire should be doing that?

also can you add screenshots?

@Aitor42
Copy link
Copy Markdown
Contributor Author

Aitor42 commented Apr 1, 2026

Um i have a question in mind, storing selected profile within the shell - looks like not needed is it actually?

I assume pipewire should be doing that?

also can you add screenshots?

You're right, I overlooked the fact that Pipewire automatically provides persistence. I've also added the screenshot.

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.

Allow setting the Protocol/Codec for bluetooth audio devices in the audio panel

2 participants