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

omarchy-toggle-waybar creates inconsistent state on boot

Reported by shmall03 · filed Jul 20, 2026Closed upstream on 2026-07-20 by dhh. GitHub close reason: completed. No closing PR or commit is recorded — "completed" alone is not evidence of a fix.

Received and recorded verbatim. Nothing has been checked 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?
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

omarchy-toggle-waybar creates inconsistent state on bootrevision 1 · captured 2026-10-04 11:56 UTC via poll

Bug

omarchy-toggle-waybar toggles the waybar-off flag before checking whether waybar is running. This creates an inconsistent state that persists across reboots.

Steps to reproduce

  1. Boot with waybar not running (e.g. after a crash, race condition, or any reason waybar fails to start)
  2. Press SUPER+SHIFT+SPACE to activate waybar
  3. Waybar appears and is visible — but the waybar-off flag is now set
  4. Reboot — waybar does not start because the autostart check sees the flag

Root cause

In bin/omarchy-toggle-waybar:

omarchy-toggle waybar-off        # toggles flag BEFORE checking state

if pgrep -x waybar >/dev/null; then
  pkill -9 -x waybar
else
  uwsm-app -- waybar >/dev/null 2>&1 &
fi

When waybar is not running:
1. omarchy-toggle waybar-off creates the flag
2. Waybar starts (because it wasn't running)
3. Result: waybar running + flag set → next boot skips autostart

Fix

Check whether waybar is running first, then toggle the flag to match:

if pgrep -x waybar >/dev/null; then
  omarchy-toggle waybar-off
  pkill -9 -x waybar
else
  omarchy-toggle waybar-off
  uwsm-app -- waybar >/dev/null 2>&1 &
fi

This ensures the flag always reflects the actual desired state.

View raw text
## Bug

`omarchy-toggle-waybar` toggles the `waybar-off` flag **before** checking whether waybar is running. This creates an inconsistent state that persists across reboots.

## Steps to reproduce

1. Boot with waybar not running (e.g. after a crash, race condition, or any reason waybar fails to start)
2. Press `SUPER+SHIFT+SPACE` to activate waybar
3. Waybar appears and is visible — but the `waybar-off` flag is now set
4. Reboot — waybar does not start because the autostart check sees the flag

## Root cause

In `bin/omarchy-toggle-waybar`:

```bash
omarchy-toggle waybar-off        # toggles flag BEFORE checking state

if pgrep -x waybar >/dev/null; then
  pkill -9 -x waybar
else
  uwsm-app -- waybar >/dev/null 2>&1 &
fi
```

When waybar is **not** running:
1. `omarchy-toggle waybar-off` creates the flag
2. Waybar starts (because it wasn't running)
3. Result: waybar running + flag set → next boot skips autostart

## Fix

Check whether waybar is running **first**, then toggle the flag to match:

```bash
if pgrep -x waybar >/dev/null; then
  omarchy-toggle waybar-off
  pkill -9 -x waybar
else
  omarchy-toggle waybar-off
  uwsm-app -- waybar >/dev/null 2>&1 &
fi
```

This ensures the flag always reflects the actual desired state.

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.