Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-694GitHub issuePublicDecided· Out of scope

Audio panel: per-app mixer is clipped below the fold with no scroll cue when several devices are present

Reported by codemonkey76 · filed Sep 11, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 days ago.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
AreaOutside the audited area· Decided by agents · verified
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Decided by agents and verified by a second, independent agent — see the decision.

Original report

Audio panel: per-app mixer is clipped below the fold with no scroll cue when several devices are presentrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

Intel i9-12900K, AMD Radeon RX 7900 XT/XTX (Navi 31), Omarchy 4.0.2-1

  • Quickshell 0.3.1-1, Qt 6.11.2, Hyprland 0.56.2, PipeWire 1.6.8, WirePlumber 0.5.15, kernel 7.1.9-arch1-2
  • Two 2560x1440 monitors at scale 1

What's wrong?

With several audio devices, the per-app mixer in the audio panel is pushed below the bottom of the panel. You only see the SOURCES header, with nothing under it and no sign that the panel scrolls, so it looks like the mixer is empty or broken.

I have 4 outputs and 4 inputs (USB interfaces, a monitor, a capture card). Together with the output and input sliders, that fills the whole panel. Chromium and mpv were both playing at the time: wpctl status listed both streams, and the SOURCES header only renders when displayAudioStreams.length > 0. The app rows were there, just clipped. Scrolling the mouse wheel inside the panel reveals them.

Steps to reproduce

  1. Have 4 or more output devices and 4 or more input devices connected.
  2. Play audio in one or more apps.
  3. Open the audio panel (click the bar icon, or Super+Ctrl+A).

Actual: The panel ends at the SOURCES header. No per-app rows and no scrollbar are visible.

Expected: The per-app sliders are visible, or it's obvious that more content is below.

Cause

The panel's content height is capped at Style.space(560), and the column sits in a ScrollView. The vertical scrollbar is AsNeeded, so it only appears while you're scrolling:

The per-app section is also the last one, so it's the first thing to be cut off. Both lines are the same on quattro as in 4.0.2.

Possible fixes

  • Show the scrollbar whenever the content overflows, or add a fade/cue at the bottom edge.
  • Collapse the output and input device lists to the selected device, and expand them on demand.
  • Move the SOURCES section above the device lists, since apps are what you adjust most often.

Related

#9538: once you do scroll down, the per-app sliders don't take mouse drags. That's a separate bug in StreamRow, and together the two make the per-app mixer hard to find and hard to use with the mouse.

Screenshot attached.

View raw text
## System details

Intel i9-12900K, AMD Radeon RX 7900 XT/XTX (Navi 31), Omarchy 4.0.2-1

- Quickshell 0.3.1-1, Qt 6.11.2, Hyprland 0.56.2, PipeWire 1.6.8, WirePlumber 0.5.15, kernel 7.1.9-arch1-2
- Two 2560x1440 monitors at scale 1

## What's wrong?

With several audio devices, the per-app mixer in the audio panel is pushed below the bottom of the panel. You only see the **SOURCES** header, with nothing under it and no sign that the panel scrolls, so it looks like the mixer is empty or broken.

I have 4 outputs and 4 inputs (USB interfaces, a monitor, a capture card). Together with the output and input sliders, that fills the whole panel. Chromium and mpv were both playing at the time: `wpctl status` listed both streams, and the SOURCES header only renders when `displayAudioStreams.length > 0`. The app rows were there, just clipped. Scrolling the mouse wheel inside the panel reveals them.

### Steps to reproduce

1. Have 4 or more output devices and 4 or more input devices connected.
2. Play audio in one or more apps.
3. Open the audio panel (click the bar icon, or Super+Ctrl+A).

**Actual:** The panel ends at the SOURCES header. No per-app rows and no scrollbar are visible.

**Expected:** The per-app sliders are visible, or it's obvious that more content is below.

### Cause

The panel's content height is capped at `Style.space(560)`, and the column sits in a `ScrollView`. The vertical scrollbar is `AsNeeded`, so it only appears while you're scrolling:

- https://github.com/omacom/omarchy/blob/quattro/shell/plugins/panels/audio/Panel.qml#L658
- https://github.com/omacom/omarchy/blob/quattro/shell/plugins/panels/audio/Panel.qml#L693

The per-app section is also the last one, so it's the first thing to be cut off. Both lines are the same on `quattro` as in 4.0.2.

### Possible fixes

- Show the scrollbar whenever the content overflows, or add a fade/cue at the bottom edge.
- Collapse the output and input device lists to the selected device, and expand them on demand.
- Move the SOURCES section above the device lists, since apps are what you adjust most often.

### Related

#9538: once you do scroll down, the per-app sliders don't take mouse drags. That's a separate bug in `StreamRow`, and together the two make the per-app mixer hard to find and hard to use with the mouse.

Screenshot attached.

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

  • Out of scopeDecided by agents · verified · 2026-10-09 11:44 UTC