Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA 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.
Terminal of cliamp launched from application menu cannot be distinctly matched by window_rule
Reported by haafoo · filed Aug 19, 2026 · open at source
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
System details
Omarchy 4.0.0-1, Ghostty 1.3.1-arch2, Hyprland 0.56.2 with Scrolling layout
What's wrong?
Launching cliamp from the application menu produces a terminal window with generic terminal initialClass and initialTitle properties. The result is that I was not able to write a hyprland window_rule that could distinctly match this cliamp terminal window. For example:
Note - Could be a skill issue, but I attempted to match on the various class a title properties (commented out below) and with regex patterns. However, I think the core issue is the need to match on initial property values.
hl.window_rule({
match = {
-- class = "org.omarchy.cliamp",
class = " com.mitchellh.ghostty",
title = 'cliamp',
initial_class = "com.mitchellh.ghostty",
initial_title = "Ghostty",
-- initial_class = "org.omarchy.cliamp",
-- initial_title = "Ghostty",
},
float = true,
no_initial_focus = true,
size = { 600, 400 },
move = { "monitor_w-window_w-20", 20 },
workspace = "9",
}) This is not the case if I instead launch cliamp via the key binding
Steps to Reproduce
Launch cliamp from the application menu then execute hyprctl clients:
Window 55ceb3f54860 -> cliamp:
mapped: 1
hidden: 0
visible: 1
acceptsInput: 1
at: 3075,29
size: 1226,1048
workspace: 6 (6)
floating: 0
monitor: 1
> class: com.mitchellh.ghostty
> title: cliamp
> initialClass: com.mitchellh.ghostty
> initialTitle: Ghostty
pid: 567371
xwayland: 0
pinned: 0
pinFullscreened: 0
fullscreen: 0
fullscreenClient: 0
fullscreenHandler: scrolling
allowedOverFullscreen: 1
grouped: 0
tags: default-opacity*, terminal*
swallowing: 0
focusHistoryID: 1
inhibitingIdle: 0
xdgTag:
xdgDescription:
contentType: none
tearingHint: 0
stableID: 18000037Launch cliamp from the keybinding SUPER SHIFT ALT + M and then execute hyprctl clients:
Window 55ceb593e6b0 -> cliamp:
mapped: 1
hidden: 0
visible: 1
acceptsInput: 1
at: 2971,29
size: 1227,1048
workspace: 6 (6)
floating: 0
monitor: 1
> class: org.omarchy.cliamp
> title: cliamp
> initialClass: org.omarchy.cliamp
> initialTitle: Ghostty
pid: 588281
xwayland: 0
pinned: 0
pinFullscreened: 0
fullscreen: 0
fullscreenClient: 0
fullscreenHandler: scrolling
allowedOverFullscreen: 1
grouped: 0
tags: default-opacity*, terminal*
swallowing: 0
focusHistoryID: 1
inhibitingIdle: 0
xdgTag:
xdgDescription:
contentType: none
tearingHint: 0
stableID: 18000039View raw text
### System details
Omarchy 4.0.0-1, Ghostty 1.3.1-arch2, Hyprland 0.56.2 with Scrolling layout
### What's wrong?
Launching `cliamp` from the application menu produces a terminal window with generic terminal initialClass and initialTitle properties. The result is that I was not able to write a hyprland `window_rule` that could distinctly match this `cliamp` terminal window. For example:
Note - Could be a skill issue, but I attempted to match on the various class a title properties (commented out below) and with regex patterns. However, I think the core issue is the need to match on initial property values.
```lua
hl.window_rule({
match = {
-- class = "org.omarchy.cliamp",
class = " com.mitchellh.ghostty",
title = 'cliamp',
initial_class = "com.mitchellh.ghostty",
initial_title = "Ghostty",
-- initial_class = "org.omarchy.cliamp",
-- initial_title = "Ghostty",
},
float = true,
no_initial_focus = true,
size = { 600, 400 },
move = { "monitor_w-window_w-20", 20 },
workspace = "9",
})
```
This is *not* the case if I instead launch `cliamp` via the key binding
### Steps to Reproduce
Launch cliamp from the application menu then execute `hyprctl clients`:
```bash
Window 55ceb3f54860 -> cliamp:
mapped: 1
hidden: 0
visible: 1
acceptsInput: 1
at: 3075,29
size: 1226,1048
workspace: 6 (6)
floating: 0
monitor: 1
> class: com.mitchellh.ghostty
> title: cliamp
> initialClass: com.mitchellh.ghostty
> initialTitle: Ghostty
pid: 567371
xwayland: 0
pinned: 0
pinFullscreened: 0
fullscreen: 0
fullscreenClient: 0
fullscreenHandler: scrolling
allowedOverFullscreen: 1
grouped: 0
tags: default-opacity*, terminal*
swallowing: 0
focusHistoryID: 1
inhibitingIdle: 0
xdgTag:
xdgDescription:
contentType: none
tearingHint: 0
stableID: 18000037
```
Launch cliamp from the keybinding `SUPER SHIFT ALT + M` and then execute `hyprctl clients`:
```bash
Window 55ceb593e6b0 -> cliamp:
mapped: 1
hidden: 0
visible: 1
acceptsInput: 1
at: 2971,29
size: 1227,1048
workspace: 6 (6)
floating: 0
monitor: 1
> class: org.omarchy.cliamp
> title: cliamp
> initialClass: org.omarchy.cliamp
> initialTitle: Ghostty
pid: 588281
xwayland: 0
pinned: 0
pinFullscreened: 0
fullscreen: 0
fullscreenClient: 0
fullscreenHandler: scrolling
allowedOverFullscreen: 1
grouped: 0
tags: default-opacity*, terminal*
swallowing: 0
focusHistoryID: 1
inhibitingIdle: 0
xdgTag:
xdgDescription:
contentType: none
tearingHint: 0
stableID: 18000039
```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 04:45 UTC