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.
Apple Silicon lid close binds wrong command — machine never suspends
Reported by cd-slash · filed Sep 26, 2026Closed upstream on 2026-10-08 by its own reporter cd-slash, as a duplicate of #8418 (R-1415). GitHub close reason: duplicate.
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
On Apple Silicon Macs, closing the laptop lid does not lock the screen or suspend the machine.
Root cause: In default/hypr/bindings/utilities.lua, the Apple Silicon fork of the lid switch bindings maps switch:on:Apple SMC power/lid events to omarchy-hyprland-monitor-clamshell instead of omarchy-system-lid-close. The generic Lid Switch binding does this correctly — the Mac fork does not.
-- Correct (generic):
o.bind("switch:on:Lid Switch", nil, "omarchy-system-lid-close", { locked = true })
-- Bug (Apple Silicon):
o.bind("switch:on:Apple SMC power/lid events", nil, "omarchy-hyprland-monitor-clamshell", { locked = true })
-- Should be: omarchy-system-lid-closeomarchy-hyprland-monitor-clamshell only handles display reconfiguration (clamshell mode). omarchy-system-lid-close locks the screen, then delegates to omarchy-hyprland-monitor-clamshell internally. Because the Mac fork skips it, the lock never fires and the suspend flow never begins.
Version: 4.0.2-2 (aarch64)
Workaround: Add to ~/.config/hypr/bindings.lua:
hl.unbind("switch:on:Apple SMC power/lid events")
o.bind("switch:on:Apple SMC power/lid events", nil, "omarchy-system-lid-close", { locked = true })View raw text
On Apple Silicon Macs, closing the laptop lid does not lock the screen or suspend the machine.
**Root cause:** In `default/hypr/bindings/utilities.lua`, the Apple Silicon fork of the lid switch bindings maps `switch:on:Apple SMC power/lid events` to `omarchy-hyprland-monitor-clamshell` instead of `omarchy-system-lid-close`. The generic `Lid Switch` binding does this correctly — the Mac fork does not.
```lua
-- Correct (generic):
o.bind("switch:on:Lid Switch", nil, "omarchy-system-lid-close", { locked = true })
-- Bug (Apple Silicon):
o.bind("switch:on:Apple SMC power/lid events", nil, "omarchy-hyprland-monitor-clamshell", { locked = true })
-- Should be: omarchy-system-lid-close
```
`omarchy-hyprland-monitor-clamshell` only handles display reconfiguration (clamshell mode). `omarchy-system-lid-close` locks the screen, then delegates to `omarchy-hyprland-monitor-clamshell` internally. Because the Mac fork skips it, the lock never fires and the suspend flow never begins.
**Version:** 4.0.2-2 (aarch64)
**Workaround:** Add to `~/.config/hypr/bindings.lua`:
```lua
hl.unbind("switch:on:Apple SMC power/lid events")
o.bind("switch:on:Apple SMC power/lid events", nil, "omarchy-system-lid-close", { locked = true })
```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.