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-4737GitHub issuePublicReceived

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.

Received and recorded verbatim. Nothing has been checked yet.

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

Bar disappears from both displays when a second monitor is connectedrevision 1 · captured 2026-10-04 12:03 UTC via poll

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).

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.