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.
Shell bar renders invisible after Qt 6.12 upgrade (QtQuick/Color singleton shadows qs.Commons.Color)
Reported by joey129 · filed Oct 9, 2026 · open at source
R-5254 is the earliest report of this defect — filed Oct 8, 2026, open upstream. This report (filed Oct 9, 2026) describes the same defect, so it is folded under it in the inbox.
Decided by agents · verified· Oct 9, 2026
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 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
Summary
After upgrading to Qt 6.12 (qt6-base/qt6-declarative 6.12.0, installed 07 Oct 2026), the Omarchy shell bar renders fully transparent / appears not to load. All color bindings across the shell fail at startup.
Environment
- Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy
- quickshell 0.3.2-1 (also fails), 0.3.1-1 (works)
- qt6-base 6.12.0-2, qt6-declarative 6.12.0-1
Root cause
Qt 6.12 added a new built-in Color singleton to the QtQuick module:
Component { ... name: "QQuickColor" ... exports: ["QtQuick/Color 6.12"] isSingleton: true ... }(see /usr/lib/qt6/qml/QtQuick/plugins.qmltypes)
The Omarchy shell defines its own Color singleton in qs.Commons (Commons/Color.qml, declared as singleton Color 1.0 Color.qml in Commons/qmldir). Because shell QML files import both QtQuick and qs.Commons, the name Color now resolves to Qt's singleton instead of Omarchy's. Consequence: Color.loadColors, Color.bar, Color.menu, etc. do not exist, so every surface binding fails:
@plugins/bar/Bar.qml[74..81]TypeError: Cannot read property 'text'/'background'/'active' of undefinedplugins/background/Background.qml[78]TypeError: Property 'loadColors' of object QQuickColor(...) is not a function- Same pattern in lock, polkit, clipboard, emojis, menu, osd, reminders, agents, tray, image-picker, notifications
The bar window itself still exists (hyprland layer omarchy-bar, 1200x26, alpha 1) but is fully transparent because all property color bindings fall back to their default (transparent).
First appearance in the journal: the first shell start after the Qt 6.12 upgrade (08 Oct 19:34:35). A shell start immediately before the upgrade (07 Oct 16:42) was error-free.
Steps to reproduce
- Install Qt ≥ 6.12 (
pacman -Syuafter 07 Oct 2026). - Restart the shell (
omarchy restart shell). - The top bar becomes invisible.
Workaround
Downgrade to the last known-good Qt 6.11.2 set (qt6-base, qt6-declarative, qt6-svg, qt6-wayland, qt6-imageformats, qt6-translations) plus quickshell 0.3.1-1, and add them to IgnorePkg until a fix ships.
Suggested fix
QML name resolution gives Qt's QtQuick/Color precedence over the explicitly imported qs.Commons.Color. A robust fix is to rename Omarchy's singleton (e.g. OmarchyColor) or change the import structure so Color is unambiguous across the shell (shell.qml, Commons/, plugins/, services/ all use it).
Screenshot
/home/joey/Pictures/screenshot-2026-10-09_15-04-54.png (before workaround) — can be attached.
View raw text
## Summary
After upgrading to **Qt 6.12** (`qt6-base`/`qt6-declarative` 6.12.0, installed 07 Oct 2026), the Omarchy shell bar renders fully transparent / appears not to load. All color bindings across the shell fail at startup.
## Environment
- Omarchy 4.0.4-1, kernel 7.2.5-3-omarchy
- quickshell 0.3.2-1 (also fails), 0.3.1-1 (works)
- qt6-base 6.12.0-2, qt6-declarative 6.12.0-1
## Root cause
Qt 6.12 added a new built-in `Color` singleton to the `QtQuick` module:
```
Component { ... name: "QQuickColor" ... exports: ["QtQuick/Color 6.12"] isSingleton: true ... }
```
(see `/usr/lib/qt6/qml/QtQuick/plugins.qmltypes`)
The Omarchy shell defines its own `Color` singleton in `qs.Commons` (`Commons/Color.qml`, declared as `singleton Color 1.0 Color.qml` in `Commons/qmldir`). Because shell QML files import both `QtQuick` and `qs.Commons`, the name `Color` now resolves to Qt's singleton instead of Omarchy's. Consequence: `Color.loadColors`, `Color.bar`, `Color.menu`, etc. do not exist, so every surface binding fails:
- `@plugins/bar/Bar.qml[74..81]` `TypeError: Cannot read property 'text'/'background'/'active' of undefined`
- `plugins/background/Background.qml[78]` `TypeError: Property 'loadColors' of object QQuickColor(...) is not a function`
- Same pattern in lock, polkit, clipboard, emojis, menu, osd, reminders, agents, tray, image-picker, notifications
The bar window itself still exists (hyprland layer `omarchy-bar`, 1200x26, alpha 1) but is fully transparent because all `property color` bindings fall back to their default (transparent).
First appearance in the journal: the first shell start after the Qt 6.12 upgrade (08 Oct 19:34:35). A shell start immediately before the upgrade (07 Oct 16:42) was error-free.
## Steps to reproduce
1. Install Qt ≥ 6.12 (`pacman -Syu` after 07 Oct 2026).
2. Restart the shell (`omarchy restart shell`).
3. The top bar becomes invisible.
## Workaround
Downgrade to the last known-good Qt 6.11.2 set (`qt6-base`, `qt6-declarative`, `qt6-svg`, `qt6-wayland`, `qt6-imageformats`, `qt6-translations`) plus `quickshell 0.3.1-1`, and add them to `IgnorePkg` until a fix ships.
## Suggested fix
QML name resolution gives Qt's `QtQuick/Color` precedence over the explicitly imported `qs.Commons.Color`. A robust fix is to rename Omarchy's singleton (e.g. `OmarchyColor`) or change the import structure so `Color` is unambiguous across the shell (`shell.qml`, `Commons/`, `plugins/`, `services/` all use it).
## Screenshot
`/home/joey/Pictures/screenshot-2026-10-09_15-04-54.png` (before workaround) — can be 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
- Duplicate ofR-5254Menu is black after Qt 6.12.0 / quickshell 0.3.2 upgrade (Color singleton sub-objects undefined)· decided by agents · verified
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.