WayfireWM / WayfireWM/wf-shell

wf-panel & wf-locker: Handle empty states in Volume/Mixer widgets (missing inputs, empty streams)

Open
#541 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement good first issue
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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.