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-5253GitHub issuePublicDecided· Duplicate

Shell SUPER+SPACE menu goes black after Qt 6.12: QtQuick's new Color singleton shadows qs.Commons' Color

Reported by CamiloisCoding · filed Oct 8, 2026 · open at source

Decided: Duplicate — decided by agents · verified 3 days ago.

This defect is tracked under R-5254. This report describes the same defect, so it is folded under it in the inbox.

Earliest report of this defect: R-5253 (filed Oct 8, 2026).

Decided by agents · verified· Oct 8, 2026

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?
AreaPartly in the audited areamenu· 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

Shell SUPER+SPACE menu goes black after Qt 6.12: QtQuick's new Color singleton shadows qs.Commons' Colorrevision 1 · captured 2026-10-08 19:18 UTC via poll

Omarchy shell SUPER+SPACE menu goes black after Qt 6.12 — QtQuick's new Color singleton shadows qs.Commons' Color

Summary

The 2026-10-08 update pulled in qt6-declarative 6.12.0, which adds a new
singleton named Color to the QtQuick module. Omarchy's shell already defines
its own Color singleton in qs.Commons. With both imported unqualified, the
references now resolve to QtQuick's Color instead of Omarchy's, so the theme
palette never loads and the root Omarchy menu (SUPER+SPACE) paints a
full-screen black overlay.

Environment

  • Omarchy: 4.0.4-1
  • quickshell: 0.3.2-1.1 (rebuilt against Qt 6.12)
  • qt6-declarative: 6.12.0-1.1 (was 6.11.2-2.1 during the previous, working boot)
  • qt6-base: 6.12.0-2.1
  • Hyprland + SDDM, kernel 7.2.9-1-cachyos
  • CPU: Intel Core i5-10300H; GPU: Intel UHD (CometLake-H) + NVIDIA GTX 1650 Ti

Steps to reproduce

  1. Update the system so qt6-declarative is 6.12.0 (quickshell becomes 0.3.2).
  2. Log in normally.
  3. Press SUPER+SPACE (the root Omarchy menu).

Expected

The Omarchy root menu opens with the active theme's colours.

Actual

The whole screen goes black. The apps menu (SUPER+ALT+SPACE) still renders.
The shell's theme palette is not applied to any surface.

Root cause

/usr/share/omarchy/shell/Commons/qmldir exports:

singleton Color 1.0 Color.qml

Qt 6.12's QtQuick module now exports a singleton with the same name
(/usr/lib/qt6/qml/QtQuick/plugins.qmltypes):

Component {
    file: "private/qquickcolor_p.h"
    name: "QQuickColor"
    exports: ["QtQuick/Color 6.12"]
    isSingleton: true
    ...
}

Because both are imported unqualified, Color in the shell resolves to
QtQuick's singleton. The shell then fails to call its own functions on it:

WARN scene: file:///usr/share/omarchy/shell/plugins/background/Background.qml[78:-1]:
  TypeError: Property 'loadColors' of object QQuickColor(0x...) is not a function

Color.menu.* becomes undefined, including the full-screen scrim used by the
menu (Menu.qml: property color scrim: Color.menu.scrim used at line 1047),
which is why opening the root menu blanks the screen.

Supporting evidence that this is the update, not local config:

  • The shell files are unchanged (packaged 2026-09-16, omarchy 4.0.4-1).
  • The error occurs 0 times across the 6 boots before the update and starts

only in the boot after it.
- QQuickColor backs the color value type in both 6.11 and 6.12, but the
QML type name Color (exports: ["QtQuick/Color 6.12"]) is new in 6.12.

Suggested fix

Disambiguate the shell's singleton from QtQuick's, e.g. rename the singleton
(Colors/Theme) and update references, or reference it via a qualified import
(import qs.Commons as C → C.Color).

Temporary workaround

Hold qt6-* at 6.11.2 and quickshell at 0.3.1. quickshell 0.3.2 is linked
against Qt 6.12 (version 'Qt_6.12' not found with Qt 6.11), so rolling back Qt
alone breaks the shell; both must move together.

View raw text
# Omarchy shell SUPER+SPACE menu goes black after Qt 6.12 — QtQuick's new `Color` singleton shadows `qs.Commons`' `Color`

## Summary

The 2026-10-08 update pulled in **qt6-declarative 6.12.0**, which adds a new
singleton named `Color` to the `QtQuick` module. Omarchy's shell already defines
its own `Color` singleton in `qs.Commons`. With both imported unqualified, the
references now resolve to QtQuick's `Color` instead of Omarchy's, so the theme
palette never loads and the root Omarchy menu (`SUPER+SPACE`) paints a
full-screen black overlay.

## Environment

- Omarchy: 4.0.4-1
- quickshell: 0.3.2-1.1 (rebuilt against Qt 6.12)
- qt6-declarative: 6.12.0-1.1 (was 6.11.2-2.1 during the previous, working boot)
- qt6-base: 6.12.0-2.1
- Hyprland + SDDM, kernel 7.2.9-1-cachyos
- CPU: Intel Core i5-10300H; GPU: Intel UHD (CometLake-H) + NVIDIA GTX 1650 Ti

## Steps to reproduce

1. Update the system so `qt6-declarative` is 6.12.0 (quickshell becomes 0.3.2).
2. Log in normally.
3. Press `SUPER+SPACE` (the root Omarchy menu).

## Expected

The Omarchy root menu opens with the active theme's colours.

## Actual

The whole screen goes black. The apps menu (`SUPER+ALT+SPACE`) still renders.
The shell's theme palette is not applied to any surface.

## Root cause

`/usr/share/omarchy/shell/Commons/qmldir` exports:

```
singleton Color 1.0 Color.qml
```

Qt 6.12's `QtQuick` module now exports a singleton with the same name
(`/usr/lib/qt6/qml/QtQuick/plugins.qmltypes`):

```
Component {
    file: "private/qquickcolor_p.h"
    name: "QQuickColor"
    exports: ["QtQuick/Color 6.12"]
    isSingleton: true
    ...
}
```

Because both are imported unqualified, `Color` in the shell resolves to
QtQuick's singleton. The shell then fails to call its own functions on it:

```
WARN scene: file:///usr/share/omarchy/shell/plugins/background/Background.qml[78:-1]:
  TypeError: Property 'loadColors' of object QQuickColor(0x...) is not a function
```

`Color.menu.*` becomes `undefined`, including the full-screen scrim used by the
menu (`Menu.qml: property color scrim: Color.menu.scrim` used at line 1047),
which is why opening the root menu blanks the screen.

Supporting evidence that this is the update, not local config:

- The shell files are unchanged (packaged 2026-09-16, omarchy 4.0.4-1).
- The error occurs **0 times** across the 6 boots before the update and starts
  only in the boot after it.
- `QQuickColor` backs the `color` value type in both 6.11 and 6.12, but the
  QML type name `Color` (`exports: ["QtQuick/Color 6.12"]`) is **new in 6.12**.

## Suggested fix

Disambiguate the shell's singleton from QtQuick's, e.g. rename the singleton
(`Colors`/`Theme`) and update references, or reference it via a qualified import
(`import qs.Commons as C` → `C.Color`).

## Temporary workaround

Hold `qt6-*` at 6.11.2 **and** `quickshell` at 0.3.1. quickshell 0.3.2 is linked
against Qt 6.12 (`version 'Qt_6.12' not found` with Qt 6.11), so rolling back Qt
alone breaks the shell; both must move together.

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

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.

  • DuplicateR-5254Decided by agents · verified · 2026-10-08 23:24 UTC