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

A bare click in the capture picker snaps to the whole monitor instead of the highlighted window

Reported by Chessing234 · filed Aug 25, 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

A bare click in the capture picker snaps to the whole monitor instead of the highlighted windowrevision 1 · captured 2026-09-28 21:24 UTC via poll

In smart mode (the default for both omarchy screenshot and omarchy capture screenrecording), slurp is fed the monitor and window rectangles and highlights the one under the pointer. Click a window without dragging and you get the whole monitor instead of the window that was highlighted.

Why

omarchy-capture-region treats a selection under 20px² as a bare click and snaps it to a rectangle itself:

while IFS= read -r rect; do
  ...
  if ((click_x >= rect_x && click_x < rect_x + rect_width && ...)); then
    SELECTION="${rect_x},${rect_y} ${rect_width}x${rect_height}"
    break
  fi
done <<<"$RECTS"

It takes the first containing rectangle. $RECTS comes from get_rectangles(), which prints monitor_rects before window_rects, and a monitor contains every click on it — so the loop always stops on the monitor and never reaches the windows behind it.

The rest of the file already knows the right rule. resolve_rect_at() picks the smallest containing rectangle, with the comment "slurp highlights the smallest box containing the point and keeps the first one on a tie, so overlapping rectangles resolve the same way here", and geo_at_cursor() deliberately tries window_rects before monitor_rects for the same reason. Only the click-snap path disagrees.

Reproduce

Press the screenshot key, hover a window until slurp highlights it, and click without dragging. The saved PNG is the full monitor.

Same for omarchy capture screenrecording — the recording is started with -w <monitor geometry> rather than the window's.

View raw text
In `smart` mode (the default for both `omarchy screenshot` and `omarchy capture screenrecording`), slurp is fed the monitor and window rectangles and highlights the one under the pointer. Click a window without dragging and you get the whole monitor instead of the window that was highlighted.

## Why

`omarchy-capture-region` treats a selection under 20px² as a bare click and snaps it to a rectangle itself:

```bash
while IFS= read -r rect; do
  ...
  if ((click_x >= rect_x && click_x < rect_x + rect_width && ...)); then
    SELECTION="${rect_x},${rect_y} ${rect_width}x${rect_height}"
    break
  fi
done <<<"$RECTS"
```

It takes the **first** containing rectangle. `$RECTS` comes from `get_rectangles()`, which prints `monitor_rects` before `window_rects`, and a monitor contains every click on it — so the loop always stops on the monitor and never reaches the windows behind it.

The rest of the file already knows the right rule. `resolve_rect_at()` picks the *smallest* containing rectangle, with the comment "slurp highlights the smallest box containing the point and keeps the first one on a tie, so overlapping rectangles resolve the same way here", and `geo_at_cursor()` deliberately tries `window_rects` before `monitor_rects` for the same reason. Only the click-snap path disagrees.

## Reproduce

Press the screenshot key, hover a window until slurp highlights it, and click without dragging. The saved PNG is the full monitor.

Same for `omarchy capture screenrecording` — the recording is started with `-w <monitor geometry>` rather than the window's.

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:04 UTC