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-1658GitHub issuePublicReceived

Pause and resume a screen recording mid-capture

Reported by tahadx · filed Aug 19, 2026 · open at source

Partly 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?
AreaPartly in 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: partly in the audited area (menu) — decided by agents · verified; matches no known issue — decided by agents · verified; not a duplicate of another report — decided by agents · verified. The outcome (valid, duplicate, not a bug, …) is not decided yet. See the decision.

Original report

Pause and resume a screen recording mid-capturerevision 1 · captured 2026-09-28 21:29 UTC via poll

What's missing

Omarchy's screen recorder (omarchy-capture-screenrecording) can only do two things: start a fresh recording, or stop and finalize one. Once a recording is running, the only option is to end it — there's no way to pause the capture and pick the same file back up a moment later.

That's a real gap for the common case of recording a demo or a clip and wanting to drop the dead air (loading screens, switching contexts, a phone call) without splicing multiple files together afterward.

Why this is possible today

gpu-screen-recorder already supports it. From its man page:

SIGUSR1 / SIGUSR2 — Pause/unpause recording (not for streaming/replay).

Omarchy just doesn't surface it. The stop path sends SIGINT; nothing ever sends SIGUSR1.

Proposed

  1. `omarchy-capture-screenrecording --pause-recording` — toggles pause by sending SIGUSR1 to the running gpu-screen-recorder process, and tracks paused state in a marker file (e.g. /tmp/omarchy-screenrecord-paused) so the UI can read it back.
  2. Menu entries — a Pause Recording row visible while a recording is active, swapping for a Resume Recording row while paused (the when guard already handles "recording active" via pgrep; extend it with the marker file check).
  3. Bar indicator — shell/plugins/bar/indicators/ScreenRecording.qml currently only reflects "recording" vs "idle". Reflect a third state, "paused" (distinct glyph + tooltip), and make the indicator click do the obvious thing per state: idle → open the capture menu, recording → stop, paused → resume.

Start, pause, resume, and stop all stay one command; pause/resume is a toggle on the same --pause-recording flag.

Files touched

  • bin/omarchy-capture-screenrecording
  • shell/plugins/bar/indicators/ScreenRecording.qml
  • default/omarchy/omarchy-menu.jsonc
  • tests under test/shell.d/
View raw text
## What's missing

Omarchy's screen recorder (`omarchy-capture-screenrecording`) can only do two things: start a fresh recording, or stop and finalize one. Once a recording is running, the only option is to end it — there's no way to pause the capture and pick the same file back up a moment later.

That's a real gap for the common case of recording a demo or a clip and wanting to drop the dead air (loading screens, switching contexts, a phone call) without splicing multiple files together afterward.

## Why this is possible today

`gpu-screen-recorder` already supports it. From its man page:

> SIGUSR1 / SIGUSR2 — Pause/unpause recording (not for streaming/replay).

Omarchy just doesn't surface it. The stop path sends SIGINT; nothing ever sends SIGUSR1.

## Proposed

1. **`omarchy-capture-screenrecording --pause-recording`** — toggles pause by sending `SIGUSR1` to the running `gpu-screen-recorder` process, and tracks paused state in a marker file (e.g. `/tmp/omarchy-screenrecord-paused`) so the UI can read it back.
2. **Menu entries** — a `Pause Recording` row visible while a recording is active, swapping for a `Resume Recording` row while paused (the `when` guard already handles "recording active" via `pgrep`; extend it with the marker file check).
3. **Bar indicator** — `shell/plugins/bar/indicators/ScreenRecording.qml` currently only reflects "recording" vs "idle". Reflect a third state, "paused" (distinct glyph + tooltip), and make the indicator click do the obvious thing per state: idle → open the capture menu, recording → stop, paused → resume.

Start, pause, resume, and stop all stay one command; pause/resume is a toggle on the same `--pause-recording` flag.

## Files touched

- `bin/omarchy-capture-screenrecording`
- `shell/plugins/bar/indicators/ScreenRecording.qml`
- `default/omarchy/omarchy-menu.jsonc`
- tests under `test/shell.d/`

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.

  • Decided by agents · verified: partly in the audited area (menu)
  • Decided by agents · verified: matches no known issue
  • Decided by agents · verified: not a duplicate of another report

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