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

Vantablack/White themes: 'Yaru-gray' icon theme unresolvable in 4.0.0 → broken-image placeholders

Reported by pcrisho · filed Aug 17, 2026 · open at source

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

Vantablack/White themes: 'Yaru-gray' icon theme unresolvable in 4.0.0 → broken-image placeholdersrevision 1 · captured 2026-09-28 21:29 UTC via poll

System details

Lenovo ThinkBook 14 G9 IRL, Omarchy 4.0.0, theme Vantablack, yaru-icon-theme 26.04.5.1ubuntu-1

What is wrong?

Follow-up to #5257 (closed as intentional). In Omarchy 4.0.0 the gap persists and produces visible broken-image placeholders instead of icons:

  1. vantablack/icons.theme still sets the GNOME icon theme to Yaru-gray, but no Yaru-gray icon theme exists on disk — neither yaru-icon-theme nor omarchy ships it:
$ ls /usr/share/icons | grep -i yaru-gray   # (empty)
$ pacman -Ql yaru-icon-theme | grep -c Yaru-gray   # 0
  1. The fallback in omarchy-theme-set-gnome only triggers when the icons.theme state file is missing; it does not validate the theme name. So gsettings is set to an unresolvable theme:
$ gsettings get org.gnome.desktop.interface icon-theme
'Yaru-gray'
  1. Result: every themed-icon lookup fails. The notification service logs:
WARN: Could not load icon "battery-caution" at size QSize(40, 40) from request

and the notification icon slot renders Qt's broken-image placeholder (black/fuchsia checkerboard) — e.g. the battery-low notification from omarchy-battery-low (-i battery-caution). Nautilus and OSD popups show the same class of missing icons.

Steps to recreate

  • Install Omarchy 4.0.0, apply the Vantablack theme
  • gsettings get org.gnome.desktop.interface icon-theme → 'Yaru-gray'
  • Send any notification requesting a themed icon (e.g. omarchy-notification-send -g 󱐋 -u critical "test" "test" -i battery-caution) → icon slot shows the checkerboard placeholder
  • Check quickshell log for Could not load icon "battery-caution"

Suggested fix

Since the intent is monochrome icons for black/white themes and Ubuntu dropped Yaru-gray upstream, either ship a Yaru-gray icon theme with Omarchy, map the theme to an installed monochrome variant, or validate the icon theme name in omarchy-theme-set-gnome and fall back (e.g. to Yaru-blue as already done for the missing-file case).

Workaround (verified)

cp -a "$(omarchy theme dir vantablack)" ~/.config/omarchy/themes/vantablack
echo "Yaru-dark" > ~/.config/omarchy/themes/vantablack/icons.theme
omarchy theme refresh
View raw text
## System details

Lenovo ThinkBook 14 G9 IRL, Omarchy 4.0.0, theme **Vantablack**, `yaru-icon-theme 26.04.5.1ubuntu-1`

## What is wrong?

Follow-up to #5257 (closed as intentional). In Omarchy 4.0.0 the gap persists and produces visible broken-image placeholders instead of icons:

1. `vantablack/icons.theme` still sets the GNOME icon theme to `Yaru-gray`, but no `Yaru-gray` icon theme exists on disk — neither `yaru-icon-theme` nor `omarchy` ships it:

```
$ ls /usr/share/icons | grep -i yaru-gray   # (empty)
$ pacman -Ql yaru-icon-theme | grep -c Yaru-gray   # 0
```

2. The fallback in `omarchy-theme-set-gnome` only triggers when the `icons.theme` state file is *missing*; it does not validate the theme name. So gsettings is set to an unresolvable theme:

```
$ gsettings get org.gnome.desktop.interface icon-theme
'Yaru-gray'
```

3. Result: every themed-icon lookup fails. The notification service logs:

```
WARN: Could not load icon "battery-caution" at size QSize(40, 40) from request
```

and the notification icon slot renders Qt's broken-image placeholder (black/fuchsia checkerboard) — e.g. the battery-low notification from `omarchy-battery-low` (`-i battery-caution`). Nautilus and OSD popups show the same class of missing icons.

### Steps to recreate

- Install Omarchy 4.0.0, apply the Vantablack theme
- `gsettings get org.gnome.desktop.interface icon-theme` → `'Yaru-gray'`
- Send any notification requesting a themed icon (e.g. `omarchy-notification-send -g 󱐋 -u critical "test" "test" -i battery-caution`) → icon slot shows the checkerboard placeholder
- Check `quickshell` log for `Could not load icon "battery-caution"`

### Suggested fix

Since the intent is monochrome icons for black/white themes and Ubuntu dropped `Yaru-gray` upstream, either ship a `Yaru-gray` icon theme with Omarchy, map the theme to an installed monochrome variant, or validate the icon theme name in `omarchy-theme-set-gnome` and fall back (e.g. to `Yaru-blue` as already done for the missing-file case).

### Workaround (verified)

```bash
cp -a "$(omarchy theme dir vantablack)" ~/.config/omarchy/themes/vantablack
echo "Yaru-dark" > ~/.config/omarchy/themes/vantablack/icons.theme
omarchy theme refresh
```

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

  • Related PRpr/12247· confirmed
  • Related PRpr/9408· confirmed

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 04:30 UTC