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-5269GitHub issuePublicDecided· Out of scope

Transparent bar text falls below 4.5:1 when both theme colors lose to the wallpaper

Reported by BVisagie · filed Oct 9, 2026 · open at source

Decided: Out of scope — decided by agents · verified 2 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

Transparent bar text falls below 4.5:1 when both theme colors lose to the wallpaperrevision 1 · captured 2026-10-09 14:10 UTC via poll

System details: 12th Gen Intel Core i7-12700K, AMD Radeon RX 7900 (Navi 31), Hyprland 0.56.2, Omarchy 4.0.4-1

With the bar transparent, omarchy-bar-text-color reduces the wallpaper behind the bar to one pixel and prints whichever of the theme text color and the theme background has the higher contrast against that average. shell/plugins/bar/Bar.qml passes those two colors: themeForeground is Color.bar.text (line 74) and themeContrastForeground is Color.background (line 75).

On a saturated mid-blue sky that choice paints the bar in the theme background, and the type falls below 4.5:1. The dark candidate is a surface color, so a theme that deliberately stays off pure black has no ink dark enough for this wallpaper. Splitting the sample into left, center, and right, as proposed in #8615, still selects the same color on a sky that is blue across the left and center.

What happened

Liftoff's launch wallpaper (backgrounds/01-liftoff.png) has an open blue sky across the top and clouds toward the right. Theme colors are background #151E26 and foreground #ECE5D8. The bar height used by the theme is 26.

omarchy-bar-text-color top 26 '#ECE5D8' '#151E26'
#151E26

The same command prints #151E26 at bar heights 39 and 52. The average of that top strip is about #3F87B8. Charcoal beats cream against the average, about 4.3:1 against 3.1:1, so every label and icon is painted #151E26.

Against the sky the glyphs actually sit on:

Behind the glyphsWallpaper#151E26#ECE5D8
Clock#1D73AC3.29:14.09:1
Open blue, left side#097BBA3.66:13.68:1
Pale cloud, right side#7BA4C26.37:12.11:1

The clock is small text. 4.5:1 is the WCAG AA floor for normal text, and #151E26 on #1D73AC is 3.29:1. #151E26 is a blue charcoal, the same hue as the sky, so the shortfall reads as a soft edge. The right-hand icons clear about 6:1 only because they land on the cloud. Cream would wash out on that cloud.

Pure black on the clock sky is about 4.1:1. No swap between the two theme colors clears both the saturated blue and the white vapour.

<img width="3840" height="54" alt="Image" src="https://github.com/user-attachments/assets/f6961982-2189-4e65-861f-a696aa5101eb" />
<img width="440" height="54" alt="Image" src="https://github.com/user-attachments/assets/253f630c-ed8f-4e92-b277-3eff4b5c8719" />

Expected

Small text on a transparent bar should stay at 4.5:1 or better against the wallpaper behind it. Picking the theme background from one average does not do that when the wallpaper is a bright photograph and the background color was mixed as a surface rather than as ink.

Steps

  1. Apply a dark theme whose background is a lifted charcoal and whose foreground is a light cream. Liftoff uses #151E26 and #ECE5D8.
  2. Set a wallpaper whose top band is saturated mid-blue rather than white or near-black. Liftoff's 01-liftoff.png is one.
  3. Run omarchy bar transparent true.
  4. Run omarchy-bar-text-color top 26 '#ECE5D8' '#151E26' and confirm it prints #151E26.
  5. Compare that color with the sky directly behind the clock.
View raw text
**System details:** 12th Gen Intel Core i7-12700K, AMD Radeon RX 7900 (Navi 31), Hyprland 0.56.2, Omarchy 4.0.4-1

With the bar transparent, `omarchy-bar-text-color` reduces the wallpaper behind the bar to one pixel and prints whichever of the theme text color and the theme background has the higher contrast against that average. `shell/plugins/bar/Bar.qml` passes those two colors: `themeForeground` is `Color.bar.text` (line 74) and `themeContrastForeground` is `Color.background` (line 75).

On a saturated mid-blue sky that choice paints the bar in the theme background, and the type falls below 4.5:1. The dark candidate is a surface color, so a theme that deliberately stays off pure black has no ink dark enough for this wallpaper. Splitting the sample into left, center, and right, as proposed in #8615, still selects the same color on a sky that is blue across the left and center.

### What happened

Liftoff's launch wallpaper (`backgrounds/01-liftoff.png`) has an open blue sky across the top and clouds toward the right. Theme colors are background `#151E26` and foreground `#ECE5D8`. The bar height used by the theme is 26.

```
omarchy-bar-text-color top 26 '#ECE5D8' '#151E26'
#151E26
```

The same command prints `#151E26` at bar heights 39 and 52. The average of that top strip is about `#3F87B8`. Charcoal beats cream against the average, about 4.3:1 against 3.1:1, so every label and icon is painted `#151E26`.

Against the sky the glyphs actually sit on:

| Behind the glyphs | Wallpaper | `#151E26` | `#ECE5D8` |
| --- | --- | --- | --- |
| Clock | `#1D73AC` | 3.29:1 | 4.09:1 |
| Open blue, left side | `#097BBA` | 3.66:1 | 3.68:1 |
| Pale cloud, right side | `#7BA4C2` | 6.37:1 | 2.11:1 |

The clock is small text. 4.5:1 is the WCAG AA floor for normal text, and `#151E26` on `#1D73AC` is 3.29:1. `#151E26` is a blue charcoal, the same hue as the sky, so the shortfall reads as a soft edge. The right-hand icons clear about 6:1 only because they land on the cloud. Cream would wash out on that cloud.

Pure black on the clock sky is about 4.1:1. No swap between the two theme colors clears both the saturated blue and the white vapour.

<img width="3840" height="54" alt="Image" src="https://github.com/user-attachments/assets/f6961982-2189-4e65-861f-a696aa5101eb" />
<img width="440" height="54" alt="Image" src="https://github.com/user-attachments/assets/253f630c-ed8f-4e92-b277-3eff4b5c8719" />

### Expected

Small text on a transparent bar should stay at 4.5:1 or better against the wallpaper behind it. Picking the theme background from one average does not do that when the wallpaper is a bright photograph and the background color was mixed as a surface rather than as ink.

### Steps

1. Apply a dark theme whose background is a lifted charcoal and whose foreground is a light cream. Liftoff uses `#151E26` and `#ECE5D8`.
2. Set a wallpaper whose top band is saturated mid-blue rather than white or near-black. Liftoff's `01-liftoff.png` is one.
3. Run `omarchy bar transparent true`.
4. Run `omarchy-bar-text-color top 26 '#ECE5D8' '#151E26'` and confirm it prints `#151E26`.
5. Compare that color with the sky directly behind the clock.
  • f6961982-2189-4e65-861f-a696aa5101eb
  • 253f630c-ed8f-4e92-b277-3eff4b5c8719

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 23:48 UTC