Skip to content

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

Description

@mrfoggg

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions