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

Quickshell desktop-entry parser rejects valid-in-practice .desktop files (works in GNOME/KDE)

Reported by Altalus · filed Aug 26, 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

Quickshell desktop-entry parser rejects valid-in-practice .desktop files (works in GNOME/KDE)revision 1 · captured 2026-09-28 21:24 UTC via poll

Omarchy version: 4.0.1-1
Quickshell version: 0.3.1 (Arch Linux package)
Hardware: AMD Ryzen 5 4500U, Omarchy 4.0.1 tablet image

Summary

Desktop entry files created by EmuDeck (and possibly other tools) do not appear in the Omarchy launcher/menu, even though the same files work correctly in GNOME and KDE. The issue is that Quickshell's desktop-entry parser is stricter than GLib's GDesktopAppInfo parser used by GNOME/KDE.

Reproducer

  1. Install a launcher via EmuDeck, or create ~/.local/share/applications/Bad.desktop with this exact content:
#!/usr/bin/env xdg-open
	[Desktop Entry]
	Name=Bad App
	Exec=/usr/bin/true
	Icon=applications-games
	Terminal=false
	Type=Application
	Categories=Game;
	StartupNotify=false
  1. Run update-desktop-database ~/.local/share/applications
  2. Open the Omarchy launcher with Super+Space and search for "Bad".
  3. Observe the app is missing.

What I expect

The launcher entry appears, as it does in GNOME and KDE.

Actual log output

When a test config loads these files, Quickshell emits:

quickshell.desktopentry: Encountered invalid line in desktop entry (no =) "\t[Desktop Entry]"

Why it matters

EmuDeck-generated launchers are common for users running emulators via AppImage. These files are malformed per the strict XDG spec but accepted by every other major desktop environment, so users reasonably expect them to work in Omarchy too.

Suggested fix

Loosen Quickshell's desktop-entry parser to:
- Ignore shebang lines before [Desktop Entry]
- Allow leading whitespace before group headers ([Desktop Entry]) and key/value lines

Affected files in my setup

~/.local/share/applications/Azahar.desktop
~/.local/share/applications/Cemu.desktop
~/.local/share/applications/DuckStation.desktop
~/.local/share/applications/ES-DE.desktop
~/.local/share/applications/EmuDeck.desktop
~/.local/share/applications/Model 2 Emulator (Proton).desktop
~/.local/share/applications/PCSX2-QT.desktop
~/.local/share/applications/RPCS3.desktop
~/.local/share/applications/Ryujinx.desktop
~/.local/share/applications/ShadPS4.desktop
~/.local/share/applications/Vita3K.desktop

All had a #!/usr/bin/env xdg-open shebang and every line was tab-indented.

View raw text
**Omarchy version:** 4.0.1-1
**Quickshell version:** 0.3.1 (Arch Linux package)
**Hardware:** AMD Ryzen 5 4500U, Omarchy 4.0.1 tablet image

### Summary

Desktop entry files created by EmuDeck (and possibly other tools) do not appear in the Omarchy launcher/menu, even though the same files work correctly in GNOME and KDE. The issue is that Quickshell's desktop-entry parser is stricter than GLib's `GDesktopAppInfo` parser used by GNOME/KDE.

### Reproducer

1. Install a launcher via EmuDeck, or create `~/.local/share/applications/Bad.desktop` with this exact content:

```desktop
#!/usr/bin/env xdg-open
	[Desktop Entry]
	Name=Bad App
	Exec=/usr/bin/true
	Icon=applications-games
	Terminal=false
	Type=Application
	Categories=Game;
	StartupNotify=false
```

2. Run `update-desktop-database ~/.local/share/applications`
3. Open the Omarchy launcher with Super+Space and search for "Bad".
4. Observe the app is missing.

### What I expect

The launcher entry appears, as it does in GNOME and KDE.

### Actual log output

When a test config loads these files, Quickshell emits:

```text
quickshell.desktopentry: Encountered invalid line in desktop entry (no =) "\t[Desktop Entry]"
```

### Why it matters

EmuDeck-generated launchers are common for users running emulators via AppImage. These files are malformed per the strict XDG spec but accepted by every other major desktop environment, so users reasonably expect them to work in Omarchy too.

### Suggested fix

Loosen Quickshell's desktop-entry parser to:
- Ignore shebang lines before `[Desktop Entry]`
- Allow leading whitespace before group headers (`[Desktop Entry]`) and key/value lines

### Affected files in my setup

```
~/.local/share/applications/Azahar.desktop
~/.local/share/applications/Cemu.desktop
~/.local/share/applications/DuckStation.desktop
~/.local/share/applications/ES-DE.desktop
~/.local/share/applications/EmuDeck.desktop
~/.local/share/applications/Model 2 Emulator (Proton).desktop
~/.local/share/applications/PCSX2-QT.desktop
~/.local/share/applications/RPCS3.desktop
~/.local/share/applications/Ryujinx.desktop
~/.local/share/applications/ShadPS4.desktop
~/.local/share/applications/Vita3K.desktop
```

All had a `#!/usr/bin/env xdg-open` shebang and every line was tab-indented.

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 09:20 UTC