Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
Bar disappears from both displays when a second monitor is connected
Reported by Ch4pt3r23 · filed Aug 29, 2026Closed upstream on 2026-08-30 by its own reporter Ch4pt3r23. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.
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?
- Not yet mapped to any requirement or component.
- 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?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
What happened
The Omarchy shell bar becomes completely invisible on both displays as soon as a second monitor is connected. This is not a rendering-order/overlap issue — the bar disappears entirely, on the built-in laptop screen too, not just the external one.
Expected behavior
The bar should render on both displays when dual-screening, as it does on the single built-in display alone.
Steps to reproduce
- Single external monitor connected to a MacBook Air (T2, Intel Iris Plus / Ice Lake,
i915). - Bar renders normally on the built-in display.
- Connect a second (external) monitor, extending the desktop (not mirroring).
- The bar vanishes from both screens — no rectangle, no icons, nothing, even up close.
What I ruled out
Confirmed with hyprctl layers that the bar's layer-shell surface is registered correctly on both outputs the whole time — correct geometry, correct namespace (omarchy-bar), alpha 1 — it just never visibly composites:
Monitor eDP-1:
Layer level 2 (top):
Layer ...: xywh: 0 1000 1600 30, a: 1, namespace: omarchy-bar, pid: ...
Monitor DP-2:
Layer level 2 (top):
Layer ...: xywh: 1600 1350 2400 30, a: 1, namespace: omarchy-bar, pid: ...Things I tried that did not fix it (each verified with a fresh screenshot after the change, and finally confirmed visually in person, not just via screenshot):
omarchy restart shell- Resetting
~/.config/omarchy/shell.jsonfully to Omarchy stock defaults viaomarchy refresh shell(defaultposition: top,transparent: false, default widget layout) — still blank on both screens. - Toggling the bar's
transparentsetting off (my custom config had it on) — no change. - Forcing the external monitor from its native/preferred 3840x2160@30Hz to [email protected] (in case a low-refresh-rate output was starving the compositor's shared frame scheduling for the top layer) — no change, including after a subsequent
omarchy restart shell.
So this doesn't look like a shell.json config issue, a stale per-monitor Quickshell instance from hotplugging, or a refresh-rate mismatch — it looks like the top layer's Qt Quick scene fails to actually draw once a second wlr_output is active, while wlr-layer-shell bookkeeping stays correct.
System details
$ omarchy version
4.0.1-1
$ hyprctl version
Hyprland 0.56.2 built from branch v0.56.2 at commit efb50993780079460b0cbed1363e2166a2de1d9f clean
$ quickshell --version
Quickshell 0.3.1 (revision , distributed by Arch Linux)
$ uname -r
7.1.8-arch1-Watanare-T2-3-t2
$ lspci -k | grep -A2 -i vga
00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G4 (Ice Lake) (rev 07)
Subsystem: Apple Inc. Device 020d
Kernel driver in use: i915Hardware: MacBook Air (Intel, T2 chip, Ice Lake / Iris Plus Graphics), running a T2-patched kernel. Built-in panel is eDP-1 at 2560x1600, external is a Samsung DP-2 whose preferred/native mode is 3840x2160@30Hz (bandwidth-limited link — cable/adapter dependent).
No pending updates were available for Hyprland/Quickshell/Mesa/i915-related packages at time of testing (checkupdates showed only unrelated packages).
Notes
Screenshot attached shows the default bar config (position: top, transparent: false, stock widget layout) with the external monitor connected — completely blank strip where the bar should be, confirmed by eye as well as by screenshot (grim-based capture, not a screenshot-tool artifact).
View raw text
## What happened The Omarchy shell bar becomes completely invisible on **both** displays as soon as a second monitor is connected. This is not a rendering-order/overlap issue — the bar disappears entirely, on the built-in laptop screen too, not just the external one. ## Expected behavior The bar should render on both displays when dual-screening, as it does on the single built-in display alone. ## Steps to reproduce 1. Single external monitor connected to a MacBook Air (T2, Intel Iris Plus / Ice Lake, `i915`). 2. Bar renders normally on the built-in display. 3. Connect a second (external) monitor, extending the desktop (not mirroring). 4. The bar vanishes from *both* screens — no rectangle, no icons, nothing, even up close. ## What I ruled out Confirmed with `hyprctl layers` that the bar's layer-shell surface *is* registered correctly on both outputs the whole time — correct geometry, correct namespace (`omarchy-bar`), alpha 1 — it just never visibly composites: ``` Monitor eDP-1: Layer level 2 (top): Layer ...: xywh: 0 1000 1600 30, a: 1, namespace: omarchy-bar, pid: ... Monitor DP-2: Layer level 2 (top): Layer ...: xywh: 1600 1350 2400 30, a: 1, namespace: omarchy-bar, pid: ... ``` Things I tried that did **not** fix it (each verified with a fresh screenshot after the change, and finally confirmed visually in person, not just via screenshot): - `omarchy restart shell` - Resetting `~/.config/omarchy/shell.json` fully to Omarchy stock defaults via `omarchy refresh shell` (default `position: top`, `transparent: false`, default widget layout) — still blank on both screens. - Toggling the bar's `transparent` setting off (my custom config had it on) — no change. - Forcing the external monitor from its native/preferred 3840x2160@30Hz to [email protected] (in case a low-refresh-rate output was starving the compositor's shared frame scheduling for the top layer) — no change, including after a subsequent `omarchy restart shell`. So this doesn't look like a `shell.json` config issue, a stale per-monitor Quickshell instance from hotplugging, or a refresh-rate mismatch — it looks like the top layer's Qt Quick scene fails to actually draw once a second `wlr_output` is active, while `wlr-layer-shell` bookkeeping stays correct. ## System details ``` $ omarchy version 4.0.1-1 $ hyprctl version Hyprland 0.56.2 built from branch v0.56.2 at commit efb50993780079460b0cbed1363e2166a2de1d9f clean $ quickshell --version Quickshell 0.3.1 (revision , distributed by Arch Linux) $ uname -r 7.1.8-arch1-Watanare-T2-3-t2 $ lspci -k | grep -A2 -i vga 00:02.0 VGA compatible controller: Intel Corporation Iris Plus Graphics G4 (Ice Lake) (rev 07) Subsystem: Apple Inc. Device 020d Kernel driver in use: i915 ``` Hardware: MacBook Air (Intel, T2 chip, Ice Lake / Iris Plus Graphics), running a T2-patched kernel. Built-in panel is `eDP-1` at 2560x1600, external is a Samsung `DP-2` whose preferred/native mode is 3840x2160@30Hz (bandwidth-limited link — cable/adapter dependent). No pending updates were available for Hyprland/Quickshell/Mesa/i915-related packages at time of testing (`checkupdates` showed only unrelated packages). ## Notes Screenshot attached shows the *default* bar config (`position: top`, `transparent: false`, stock widget layout) with the external monitor connected — completely blank strip where the bar should be, confirmed by eye as well as by screenshot (`grim`-based capture, not a screenshot-tool artifact).
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.
No decision has been recorded yet.