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.
Pause and resume a screen recording mid-capture
Reported by tahadx · filed Aug 19, 2026 · open at source
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?
- 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
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
- `omarchy-capture-screenrecording --pause-recording` — toggles pause by sending
SIGUSR1to the runninggpu-screen-recorderprocess, and tracks paused state in a marker file (e.g./tmp/omarchy-screenrecord-paused) so the UI can read it back. - Menu entries — a
Pause Recordingrow visible while a recording is active, swapping for aResume Recordingrow while paused (thewhenguard already handles "recording active" viapgrep; extend it with the marker file check). - Bar indicator —
shell/plugins/bar/indicators/ScreenRecording.qmlcurrently 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-screenrecordingshell/plugins/bar/indicators/ScreenRecording.qmldefault/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.