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

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions