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-1618GitHub issuePublicFixed

keybindings --print uses a different format than hl.unbind / o.bind

Reported by temper303 · filed Aug 20, 2026 · open at source

In the audited area (menu) — decided by agents · verified. Not validated 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?
AreaIn the audited areamenu· 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?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. So far: in the audited area (menu) — decided by agents · verified; matches no known issue — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

keybindings --print uses a different format than hl.unbind / o.bindrevision 1 · captured 2026-09-28 21:29 UTC via poll

System details

Omarchy 4.0.0-1 (Hyprland Lua config)

What's wrong?

~/.config/hypr/bindings.lua tells you to inspect current bindings with:

omarchy menu keybindings --print

--print does not use the same key syntax that hl.unbind / o.bind require.

Print shows modifiers bunched together, with a single + only before the key:

SHIFT ALT + D
SUPER SHIFT + S

Lua config needs a + between every part:

hl.unbind("SUPER + SHIFT + S")
o.bind("SUPER + SHIFT + S", ...)

If you copy the printed combo into hl.unbind(...), the unbind silently does nothing and the default shortcut stays active.

Steps to reproduce

  1. Open ~/.config/hypr/bindings.lua.
  2. Follow the comment: run omarchy menu keybindings --print.
  3. Pick a default combo such as Google Maps / Super+Shift+S.
  4. Paste the printed form into Lua, e.g. hl.unbind("SUPER SHIFT + S").
  5. Save and reload.

Expected

Print output can be copied into hl.unbind("...") / o.bind("...") as-is, or the comment in bindings.lua shows the Lua form (SUPER + SHIFT + S) instead of pointing at --print as the source of truth.

Actual

--print and Lua use two different dialects. Copying from print is the obvious thing to do, and it fails.

View raw text
## System details

Omarchy 4.0.0-1 (Hyprland Lua config)

## What's wrong?

`~/.config/hypr/bindings.lua` tells you to inspect current bindings with:

```
omarchy menu keybindings --print
```

`--print` does not use the same key syntax that `hl.unbind` / `o.bind` require.

Print shows modifiers bunched together, with a single `+` only before the key:

```
SHIFT ALT + D
SUPER SHIFT + S
```

Lua config needs a `+` between every part:

```lua
hl.unbind("SUPER + SHIFT + S")
o.bind("SUPER + SHIFT + S", ...)
```

If you copy the printed combo into `hl.unbind(...)`, the unbind silently does nothing and the default shortcut stays active.

## Steps to reproduce

1. Open `~/.config/hypr/bindings.lua`.
2. Follow the comment: run `omarchy menu keybindings --print`.
3. Pick a default combo such as Google Maps / Super+Shift+S.
4. Paste the printed form into Lua, e.g. `hl.unbind("SUPER SHIFT + S")`.
5. Save and reload.

## Expected

Print output can be copied into `hl.unbind("...")` / `o.bind("...")` as-is, **or** the comment in `bindings.lua` shows the Lua form (`SUPER + SHIFT + S`) instead of pointing at `--print` as the source of truth.

## Actual

`--print` and Lua use two different dialects. Copying from print is the obvious thing to do, and it fails.

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

  • Fixed bypr/7660· 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.

  • Decided by agents · verified: in the audited area (menu)
  • Decided by agents · verified: matches no known issue

The outcome (valid, duplicate, not a bug, …) is not decided yet.