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

omarchy-capture-screenshot toggle leaves stale hyprpicker overlay after crash

Reported by dphov · filed Apr 30, 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

omarchy-capture-screenshot toggle leaves stale hyprpicker overlay after crashrevision 1 · captured 2026-09-28 21:29 UTC via poll

System details

Omarchy 3.6.0, Arch Linux rolling, kernel 6.19.13-arch1-1, Intel UHD (CometLake-H) + NVIDIA Quadro T2000 Max-Q (driver 595.58.03), Hyprland 0.54.3, hyprpicker 0.4.6, slurp 1.5.0, satty 0.20.1, grim 1.5.0.

What's wrong?

Steps to reproduce:
1. Bind PRINT to omarchy-capture-screenshot (default).
2. Trigger screenshot → slurp + hyprpicker overlay appear.
3. Force-kill script mid-run (kill -9, OOM, session crash). EXIT trap
cleanup_freeze does not fire on SIGKILL, so hyprpicker keeps frozen
overlay alive.
4. Tap PRINT again to cancel → line 15 runs pkill slurp && exit 0.
slurp not running, && short-circuits, hyprpicker overlay remains.
Screen looks frozen.

How to resolve the problem today: TTY + pkill -9 hyprpicker.

omarchy-debug output not attached: command requires interactive TTY +
sudo, was driven from non-interactive shell. Can attach on request.

### Proposed fix

Line 15 of bin/omarchy-capture-screenshot:

pkill -x slurp hyprpicker && exit 0

  • -x exact match, no collateral
  • satty excluded — it's the editor, killing loses annotations
  • && semantics preserved: nothing running → fall through to capture

Posting as Discussion per CONTACT_LINKS (suggestions route).

I will open PR if you accepting the fix.

View raw text
### System details

  Omarchy 3.6.0, Arch Linux rolling, kernel 6.19.13-arch1-1,   Intel UHD (CometLake-H) + NVIDIA Quadro T2000 Max-Q (driver 595.58.03),   Hyprland 0.54.3, hyprpicker 0.4.6, slurp 1.5.0, satty 0.20.1, grim 1.5.0.

### What's wrong?

Steps to reproduce:
  1. Bind PRINT to `omarchy-capture-screenshot` (default).
  2. Trigger screenshot → slurp + hyprpicker overlay appear.
  3. Force-kill script mid-run (kill -9, OOM, session crash). EXIT trap
     `cleanup_freeze` does not fire on SIGKILL, so hyprpicker keeps frozen
     overlay alive.
  4. Tap PRINT again to cancel → line 15 runs `pkill slurp && exit 0`.
     slurp not running, && short-circuits, hyprpicker overlay remains.
     Screen looks frozen.

  How to resolve the problem today: TTY + `pkill -9 hyprpicker`.

  omarchy-debug output not attached: command requires interactive TTY +
  sudo, was driven from non-interactive shell. Can attach on request.

  ### Proposed fix

  Line 15 of `bin/omarchy-capture-screenshot`:

      pkill -x slurp hyprpicker && exit 0

  - `-x` exact match, no collateral
  - satty excluded — it's the editor, killing loses annotations
  - `&&` semantics preserved: nothing running → fall through to capture

  Posting as Discussion per CONTACT_LINKS (suggestions route). 

  I will open PR if you accepting the fix.

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 02:51 UTC