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

omarchy-font-set: terminal-restart notifications never fire (-g without a glyph) and pgrep PIDs leak to stdout

Reported by llkkk · filed Sep 20, 2026 · open at source

Decided: Out of scope — decided by agents · verified 3 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-font-set: terminal-restart notifications never fire (-g without a glyph) and pgrep PIDs leak to stdoutrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

MECHREVO WUJIE15XA — AMD Ryzen 7 8745HS w/ Radeon 780M (HawkPoint1), Omarchy 4.0.4-1, Hyprland 0.56.2, foot 1.28.0

What's wrong?

omarchy font set "<family>" never shows the "you must restart your terminal" notification. Instead it prints stray output: the PIDs of every running foot instance, followed by a usage error from omarchy-notification-send.

$ omarchy font set "Maple Mono NF CN"
587447
3922164
4002998
Usage: omarchy-notification-send [--app-name <app-name>] [-g <glyph>] [-u <low|normal|critical>] [-i <icon>] [-t <ms>] [-r <id>] [-p] [--image <path-or-uri>] <headline> [description] [--exec <program> [args...]]

Expected: the font is applied, the shell restarts, and a notification reminds the user to restart the running terminal(s). No PIDs on stdout, no usage error.

The font itself is set correctly (verified: ~/.config/fontconfig/fonts.conf, foot.ini, ghostty/config, alacritty.toml, kitty.conf all updated, and fc-match monospace resolves to the new family). Only the user-facing reminder is lost.

Steps to reproduce:

  1. Have at least one foot window open.
  2. Run omarchy font set "CaskaydiaMono Nerd Font" (any installed family).
  3. Observe the output above; no notification appears.

Minimal repros of each part:

$ pgrep -x foot            # prints the PIDs — the script uses it as a condition without redirecting stdout
587447
3922164
4002998

$ omarchy-notification-send -g  "You must restart Foot to see font change"
Usage: omarchy-notification-send ...     # exit status 1

Cause

bin/omarchy-font-set (4.0.4-1, and still present on quattro), lines 76-81:

if pgrep -x ghostty; then
  omarchy-notification-send -g  "You must restart Ghostty to see font change"
fi

if pgrep -x foot; then
  omarchy-notification-send -g  "You must restart Foot to see font change"
fi

Two problems:

  1. -g takes a value (-g <glyph>), so the message string is consumed as the glyph value and no <headline> remains. omarchy-notification-send then prints usage and exits 1 — both notification branches are dead code.
  2. pgrep -x ghostty / pgrep -x foot are used as conditions but their stdout is not redirected, so the PIDs of the running terminals are printed into the user's terminal.

Suggested fix

Either drop the option:

if pgrep -x foot >/dev/null; then
  omarchy-notification-send "Restart your terminal" "You must restart Foot to see the font change"
fi

or pass a glyph and redirect pgrep:

if pgrep -x foot >/dev/null; then
  omarchy-notification-send -g 󰊌 "Restart your terminal" "You must restart Foot to see the font change"
fi

The same applies to the ghostty branch.

No omarchy-debug output is attached: the bug is reproducible from the script and CLI alone, with no hardware or compositor dependency.

View raw text
### System details

MECHREVO WUJIE15XA — AMD Ryzen 7 8745HS w/ Radeon 780M (HawkPoint1), Omarchy 4.0.4-1, Hyprland 0.56.2, foot 1.28.0

### What's wrong?

`omarchy font set "<family>"` never shows the "you must restart your terminal" notification. Instead it prints stray output: the PIDs of every running `foot` instance, followed by a usage error from `omarchy-notification-send`.

```
$ omarchy font set "Maple Mono NF CN"
587447
3922164
4002998
Usage: omarchy-notification-send [--app-name <app-name>] [-g <glyph>] [-u <low|normal|critical>] [-i <icon>] [-t <ms>] [-r <id>] [-p] [--image <path-or-uri>] <headline> [description] [--exec <program> [args...]]
```

Expected: the font is applied, the shell restarts, and a notification reminds the user to restart the running terminal(s). No PIDs on stdout, no usage error.

The font itself *is* set correctly (verified: `~/.config/fontconfig/fonts.conf`, `foot.ini`, `ghostty/config`, `alacritty.toml`, `kitty.conf` all updated, and `fc-match monospace` resolves to the new family). Only the user-facing reminder is lost.

Steps to reproduce:

1. Have at least one `foot` window open.
2. Run `omarchy font set "CaskaydiaMono Nerd Font"` (any installed family).
3. Observe the output above; no notification appears.

Minimal repros of each part:

```
$ pgrep -x foot            # prints the PIDs — the script uses it as a condition without redirecting stdout
587447
3922164
4002998

$ omarchy-notification-send -g  "You must restart Foot to see font change"
Usage: omarchy-notification-send ...     # exit status 1
```

### Cause

`bin/omarchy-font-set` (4.0.4-1, and still present on `quattro`), lines 76-81:

```bash
if pgrep -x ghostty; then
  omarchy-notification-send -g  "You must restart Ghostty to see font change"
fi

if pgrep -x foot; then
  omarchy-notification-send -g  "You must restart Foot to see font change"
fi
```

Two problems:

1. `-g` takes a value (`-g <glyph>`), so the message string is consumed as the glyph value and no `<headline>` remains. `omarchy-notification-send` then prints usage and exits 1 — both notification branches are dead code.
2. `pgrep -x ghostty` / `pgrep -x foot` are used as conditions but their stdout is not redirected, so the PIDs of the running terminals are printed into the user's terminal.

### Suggested fix

Either drop the option:

```bash
if pgrep -x foot >/dev/null; then
  omarchy-notification-send "Restart your terminal" "You must restart Foot to see the font change"
fi
```

or pass a glyph and redirect `pgrep`:

```bash
if pgrep -x foot >/dev/null; then
  omarchy-notification-send -g 󰊌 "Restart your terminal" "You must restart Foot to see the font change"
fi
```

The same applies to the `ghostty` branch.

No `omarchy-debug` output is attached: the bug is reproducible from the script and CLI alone, with no hardware or compositor dependency.

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 16:22 UTC