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)

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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