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

Theme switch with an intro leaves a black desktop: shell keeps the previous theme's background path

Reported by claytonfaria · filed Oct 9, 2026 · 2 revisionsClosed upstream on 2026-10-09 by its own reporter claytonfaria, as not planned. 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

Revision12 (current)
Theme switch with an intro leaves a black desktop: shell keeps the previous theme's background pathrevision 2 · captured 2026-10-09 13:32 UTC via poll

System details

Intel Core i7-14700, NVIDIA GeForce RTX 4070 SUPER (driver 615.71.09, only GPU), single monitor (DP-4, scale 2), Omarchy 4.0.0.r6815.g50d687a, OWE 0.2.10.

What's wrong?

After a theme switch that plays a background intro, the desktop goes black once the intro ends, and stays black until omarchy-shell background refresh or a shell restart.

Steps

  1. Background intros enabled (default).
  2. omarchy theme set gruvbox, then omarchy theme set everforest (any two themes whose chosen backgrounds have intros).
  3. The intro plays. When OWE hands the still back to the shell and parks its renderer, the wallpaper turns black.

Reproduced each time here.

Log

owed: intro finished
owed: shell background enabled
omarchy-shell: WARN scene: QML QQuickImage* at @Ui/BackgroundMedia.qml[36:5]: Cannot open: file:///home/<user>/.local/state/omarchy/current/theme/backgrounds/1-the-backwater.jpg
owed: renderer parked, the shell draws the still

1-the-backwater.jpg is the previous theme's (gruvbox) background. current/background correctly points at everforest's 1-tree-tops.webp.

Cause

On the intro path, set_theme_background in omarchy-theme-set never tells the background service the new path. It only calls background setInstant if the intro fails. While OWE plays the intro, the shell is suspended (background setSuspended true). The theme swap replaces current/theme, so the path the shell still holds (current/theme/backgrounds/<old name>) no longer exists. When OWE resumes the shell (setSuspended false) and parks, the shell draws that missing file, which shows as black.

The same stale path also hits #14191 (same file name across themes) on this path.

Possibly related: #14526 (black screen during theme intro, hybrid GPU). The symptom matches, and the reporter's logs stop at intro playing.

Fix

PR to follow: when the background service resumes from suspension, it reads the current/background link again and reloads it.

View raw text
### System details

Intel Core i7-14700, NVIDIA GeForce RTX 4070 SUPER (driver 615.71.09, only GPU), single monitor (DP-4, scale 2), Omarchy `4.0.0.r6815.g50d687a`, OWE 0.2.10.

### What's wrong?

After a theme switch that plays a background intro, the desktop goes black once the intro ends, and stays black until `omarchy-shell background refresh` or a shell restart.

**Steps**

1. Background intros enabled (default).
2. `omarchy theme set gruvbox`, then `omarchy theme set everforest` (any two themes whose chosen backgrounds have intros).
3. The intro plays. When OWE hands the still back to the shell and parks its renderer, the wallpaper turns black.

Reproduced each time here.

**Log**

```
owed: intro finished
owed: shell background enabled
omarchy-shell: WARN scene: QML QQuickImage* at @Ui/BackgroundMedia.qml[36:5]: Cannot open: file:///home/<user>/.local/state/omarchy/current/theme/backgrounds/1-the-backwater.jpg
owed: renderer parked, the shell draws the still
```

`1-the-backwater.jpg` is the *previous* theme's (gruvbox) background. `current/background` correctly points at everforest's `1-tree-tops.webp`.

### Cause

On the intro path, `set_theme_background` in `omarchy-theme-set` never tells the background service the new path. It only calls `background setInstant` if the intro *fails*. While OWE plays the intro, the shell is suspended (`background setSuspended true`). The theme swap replaces `current/theme`, so the path the shell still holds (`current/theme/backgrounds/<old name>`) no longer exists. When OWE resumes the shell (`setSuspended false`) and parks, the shell draws that missing file, which shows as black.

The same stale path also hits #14191 (same file name across themes) on this path.

Possibly related: #14526 (black screen during theme intro, hybrid GPU). The symptom matches, and the reporter's logs stop at `intro playing`.

### Fix

PR to follow: when the background service resumes from suspension, it reads the `current/background` link again and reloads it.

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.