WayfireWM / WayfireWM/wf-shell
wf-panel & wf-locker: Handle empty states in Volume/Mixer widgets (missing inputs, empty streams)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 179
- Forks
- 55
- Avg merge
- 16d 1h
- Merged PRs (30d)
- 3
Description
Summary
Currently, when certain audio categories are empty (e.g., no input devices connected or no active media streams playing), both wf-panel (Volume Mixer popup) and wf-locker (Volume widget) render empty, blank UI containers without feedback or adaptivity.
Proposal & Desired Behavior
1. wf-panel Volume Mixer Popup
In the Volume Mixer popup (which consists of three columns: Output Devices, Input Devices, and Audio Streams):
- Empty Input/Output Devices: If no input (or output) devices are available, display a clear label in the respective column:
- "No available output devices" / "Нет доступных устройств вывода"
- "No available input devices" / "Нет доступных устройств ввода"
- Empty Audio Streams: If no audio streams/apps are playing:
- Display a label like "No active playback" / "Ничего не воспроизводится".
Currently, the "Input Devices" heading is shown with a completely empty box underneath, which looks broken.
2. wf-locker Volume Widget
On the lockscreen, the Volume widget renders two side-by-side rectangular sections (Left: Input / Microphone, Right: Output / Speaker).
- Adaptive visibility: If no input device (microphone) is detected/present in the system, do not render the empty left box.
- The widget should dynamically adjust to display only the available section (single box for Output), rather than leaving an empty, confusing placeholder box on the screen.
System Context
- OS: Void Linux
- Component:
wf-panel&wf-locker(wf-shell) - Audio Server: PipeWire / PulseAudio (via GVC)
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the wf-panel Volume Mixer popup and the wf-locker Volume widget, then trace how empty devices and audio streams are rendered. Done means the mixer shows feedback for empty categories and the lockscreen omits the input section when no microphone is available, while preserving the requested English and Russian labels.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- audio-video-rtc, desktop
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100