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

Theme switch always restores the first wallpaper, not the last one chosen for that theme

Reported by legibet · filed Aug 21, 2026Closed upstream on 2026-09-23 by the merge of PR #7718 (closed by bjarneo). GitHub close reason: completed.

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

Theme switch always restores the first wallpaper, not the last one chosen for that themerevision 1 · captured 2026-10-04 12:03 UTC via poll

System details: Omarchy 4.0.0-1

Each theme can ship several wallpapers. omarchy theme bg next / the background switcher change ~/.local/state/omarchy/current/background, but switching away and back always lands on the first sorted image for that theme.

choose_theme_background in omarchy-theme-set compares readlink of that symlink against the new theme's files. The symlink points into current/theme/backgrounds/, which was just rm -rf'd and replaced, so the path never matches and it falls through to backgrounds[0]. There is also no per-theme record of the last choice.

Steps:
1. omarchy theme set tokyo-night
2. Cycle or pick a wallpaper that is not the first one
3. omarchy theme set catppuccin
4. omarchy theme set tokyo-night

Expected: Tokyo Night comes back on the wallpaper from step 2.
Actual: First sorted file under that theme's backgrounds/.

Fix: persist last wallpaper per theme slug (basename is enough), restore it on theme set when the file still exists, otherwise keep today's first-image fallback. theme bg next stays as-is.

View raw text
**System details:** Omarchy 4.0.0-1

Each theme can ship several wallpapers. `omarchy theme bg next` / the background switcher change `~/.local/state/omarchy/current/background`, but switching away and back always lands on the first sorted image for that theme.

`choose_theme_background` in `omarchy-theme-set` compares `readlink` of that symlink against the **new** theme's files. The symlink points into `current/theme/backgrounds/`, which was just `rm -rf`'d and replaced, so the path never matches and it falls through to `backgrounds[0]`. There is also no per-theme record of the last choice.

**Steps:**
1. `omarchy theme set tokyo-night`
2. Cycle or pick a wallpaper that is not the first one
3. `omarchy theme set catppuccin`
4. `omarchy theme set tokyo-night`

**Expected:** Tokyo Night comes back on the wallpaper from step 2.
**Actual:** First sorted file under that theme's `backgrounds/`.

Fix: persist last wallpaper per theme slug (basename is enough), restore it on `theme set` when the file still exists, otherwise keep today's first-image fallback. `theme bg next` stays as-is.

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.