Skip to content

Pulseaudio volume handling rework - #556

Open
AKArien wants to merge 13 commits into
WayfireWM:masterfrom
AKArien:volume-rework
Open

AKArien wants to merge 13 commits into
WayfireWM:masterfrom
AKArien:volume-rework

Conversation

@AKArien

@AKArien AKArien commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Based on #532, which is itself based on #531

De-duplicates logic using a mixer singleton, not unlike the wireplumber mixer.

This serves to share the gvc handling code between the locker and the panel. The interface is generic enough to allow for new features :

  • volume panel widget now presents a toggle to mute/unmute
  • microphone « widget », which is a sub-configuration of volume with which it shares it’s configuration.
  • The locker can now control volume instead of just un/muting, by virtue of re-using the same widget as the panel. (needs testing)

This approach also helps a potential de-coupling of the audio control widgets from a sound server, at least for allowing volume to work natively on pw/wp.

@AKArien
AKArien force-pushed the volume-rework branch 3 times, most recently from 1dfb89a to 0e3b360 Compare September 3, 2026 10:21
@AKArien
AKArien marked this pull request as ready for review October 9, 2026 13:56
De-duplicates logic using a mixer singleton, not unlike the wireplumber mixer.
This serves to share the gvc handling code between the locker and the panel.
The interface is generic enough to allow for new features :
- `volume` panel widget now presents a toggle to mute/unmute
- `microphone` « widget », which is a sub-configuration of `volume` with which
it shares it’s configuration.
- The locker can now control volume instead of just un/muting, by virtue of
re-using the same widget as the panel.

This approach also helps a potential de-coupling of the audio control widgets
from a sound server, at least for allowing `volume` to work natively on pw/wp.
@trigg

trigg commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator

I might add the reasoning on locker not having sliders was because lockscreens couldn't have popover widgets due to windowing restrictions in the lockscreen protocol. I don't know the current state, only mentioning incase it is still pertinent.

@AKArien

AKArien commented Nov 1, 2026

Copy link
Copy Markdown
Collaborator Author

I might add the reasoning on locker not having sliders was because lockscreens couldn't have popover widgets due to windowing restrictions in the lockscreen protocol. I don't know the current state, only mentioning incase it is still pertinent.

Currently, this simply has the full slider in the lock screen, but it could also be hidden behind a revealer.
The (current) documentation says : « Popups (such as menus and tooltips) do not currently display while the screen is locked. Please use alternatives, such as GtkPopover (which is backed by a subsurface instead of a popup). », so that would seem to be possible as well if wanted.

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.

2 participants