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

Screensaver wordmark clipped horizontally at default monitor scale on 1080p displays

Reported by sedulam · filed Aug 29, 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

Screensaver wordmark clipped horizontally at default monitor scale on 1080p displaysrevision 1 · captured 2026-09-28 21:24 UTC via poll

Description

On a 1920x1080 laptop panel with entirely stock Omarchy configuration, the screensaver's OMARCHY wordmark is clipped on both the left and right edges — it renders as "MARCH", with the leading O sliced vertically in half and the trailing Y cut off past the right edge.

This is a stock-config-vs-stock-config mismatch, reachable without any user customization:

Shipped defaultValue
config/hypr/monitors.luaomarchy_monitor_scale = "auto" → Hyprland picks scale 2 on this 1080p/143-DPI panel
default/foot/screensaver.inifont=JetBrainsMono Nerd Font:size=18, pad=0x0
default/omarchy/branding/screensaver.txt81 columns wide × 10 rows

At scale 2 the fullscreen logical surface is 960x540, and a foot window with size=18 measures 66 columns — 15 short of the 81 the art needs. ttfx is invoked with --canvas-width 0 --anchor-canvas c --anchor-text c, so it sizes the canvas to the terminal and centre-crops the art, removing roughly 7 columns from each side.

Measured directly, same machine, same shipped screensaver.ini, only the monitor scale differing:

$ foot --config=/usr/share/omarchy/default/foot/screensaver.ini --fullscreen -e stty size
scale 2     ->  16 rows,  66 cols     <- art needs 81, clipped
scale 1.25  ->  27 rows, 106 cols     <- fits

The clipping threshold on a 1920px-wide panel is scale > ~1.63 (cell width measured at 14.55 logical px for size=18; 81 × 14.55 = 1179 logical px minimum). So "auto" resolving to 2 lands well inside the broken range, while 1.0/1.25/1.5 are all fine.

This is not foot-specific — the launcher hardcodes --font-size=18 for ghostty and --override font_size=18 for kitty as well, so the same clipping should occur on any of the four supported terminals.

Steps to reproduce

  1. On a 1920x1080 display (~143 DPI, so Hyprland's auto scaling selects 2), keep the stock ~/.config/hypr/monitors.lua — i.e. omarchy_monitor_scale = "auto".
  2. Confirm the scale: hyprctl monitors -j | jq '.[0].scale' → 2.
  3. Run omarchy-launch-screensaver force.
  4. The wordmark is clipped at both sides.

Setting omarchy_monitor_scale = 1.25 (or anything ≤ 1.6) and relaunching renders the full wordmark.

Expected

The screensaver logo renders fully, with margins, at Omarchy's own default monitor scale.

Actual

The logo is horizontally centre-cropped, losing ~7 columns from each side. Vertical is unaffected (10 rows into 16).

Captures

Before — stock `scale = "auto"` (2), 960x540 logical, 66 cols: reads "MARCH", O bisected at the left edge, Y gone at the right.

After — `scale = 1.25`, 1536x864 logical, 106 cols: full "OMARCHY" with margins.

Possible directions

Not prescribing a fix, but the mismatch is between a fixed 18pt font and a variable logical viewport. Options that would close it:

  • Size the screensaver font from the terminal's measured width instead of hardcoding 18 — e.g. have omarchy-screensaver re-exec with a font size derived from stty size after the existing wait_for_terminal_resize.
  • Pass --canvas-width/--anchor such that ttfx scales rather than crops, if it supports that.
  • Ship a narrower fallback wordmark used when the measured column count is below 81.

System

Omarchy:   4.0.0-1
Hyprland:  0.56.2 (efb5099)
Kernel:    7.1.8-arch1-3
CPU:       Intel Core i7-8665U
GPU:       Intel UHD Graphics 620 (WhiskeyLake-U GT2) [8086:3ea0]
Display:   eDP-1, BOE 0x0869, 1920x1080@60, 340x190 mm (~143 DPI), scale "auto" -> 2
Terminal:  foot 1.27.0-2 (xdg-terminal-exec --print-id -> foot.desktop)
ttfx:      0.3.2-1

Note: omarchy debug --no-sudo --print is documented but not present in 4.0.0-1 (Unknown Omarchy command), and no debug route appears in omarchy commands --all; the details above were collected manually.

View raw text
## Description

On a 1920x1080 laptop panel with **entirely stock Omarchy configuration**, the screensaver's OMARCHY wordmark is clipped on both the left and right edges — it renders as "MARCH", with the leading `O` sliced vertically in half and the trailing `Y` cut off past the right edge.

This is a stock-config-vs-stock-config mismatch, reachable without any user customization:

| Shipped default | Value |
|---|---|
| `config/hypr/monitors.lua` | `omarchy_monitor_scale = "auto"` → Hyprland picks **scale 2** on this 1080p/143-DPI panel |
| `default/foot/screensaver.ini` | `font=JetBrainsMono Nerd Font:size=18`, `pad=0x0` |
| `default/omarchy/branding/screensaver.txt` | **81 columns** wide × 10 rows |

At scale 2 the fullscreen logical surface is 960x540, and a foot window with `size=18` measures **66 columns** — 15 short of the 81 the art needs. `ttfx` is invoked with `--canvas-width 0 --anchor-canvas c --anchor-text c`, so it sizes the canvas to the terminal and centre-crops the art, removing roughly 7 columns from each side.

Measured directly, same machine, same shipped `screensaver.ini`, only the monitor scale differing:

```
$ foot --config=/usr/share/omarchy/default/foot/screensaver.ini --fullscreen -e stty size
scale 2     ->  16 rows,  66 cols     <- art needs 81, clipped
scale 1.25  ->  27 rows, 106 cols     <- fits
```

The clipping threshold on a 1920px-wide panel is **scale > ~1.63** (cell width measured at 14.55 logical px for `size=18`; 81 × 14.55 = 1179 logical px minimum). So `"auto"` resolving to 2 lands well inside the broken range, while 1.0/1.25/1.5 are all fine.

This is not foot-specific — the launcher hardcodes `--font-size=18` for ghostty and `--override font_size=18` for kitty as well, so the same clipping should occur on any of the four supported terminals.

## Steps to reproduce

1. On a 1920x1080 display (~143 DPI, so Hyprland's `auto` scaling selects 2), keep the stock `~/.config/hypr/monitors.lua` — i.e. `omarchy_monitor_scale = "auto"`.
2. Confirm the scale: `hyprctl monitors -j | jq '.[0].scale'` → `2`.
3. Run `omarchy-launch-screensaver force`.
4. The wordmark is clipped at both sides.

Setting `omarchy_monitor_scale = 1.25` (or anything ≤ 1.6) and relaunching renders the full wordmark.

## Expected

The screensaver logo renders fully, with margins, at Omarchy's own default monitor scale.

## Actual

The logo is horizontally centre-cropped, losing ~7 columns from each side. Vertical is unaffected (10 rows into 16).

## Captures

**Before — stock `scale = "auto"` (2), 960x540 logical, 66 cols:** reads "MARCH", `O` bisected at the left edge, `Y` gone at the right.

**After — `scale = 1.25`, 1536x864 logical, 106 cols:** full "OMARCHY" with margins.

## Possible directions

Not prescribing a fix, but the mismatch is between a fixed 18pt font and a variable logical viewport. Options that would close it:

- Size the screensaver font from the terminal's measured width instead of hardcoding `18` — e.g. have `omarchy-screensaver` re-exec with a font size derived from `stty size` after the existing `wait_for_terminal_resize`.
- Pass `--canvas-width`/`--anchor` such that `ttfx` scales rather than crops, if it supports that.
- Ship a narrower fallback wordmark used when the measured column count is below 81.

## System

```
Omarchy:   4.0.0-1
Hyprland:  0.56.2 (efb5099)
Kernel:    7.1.8-arch1-3
CPU:       Intel Core i7-8665U
GPU:       Intel UHD Graphics 620 (WhiskeyLake-U GT2) [8086:3ea0]
Display:   eDP-1, BOE 0x0869, 1920x1080@60, 340x190 mm (~143 DPI), scale "auto" -> 2
Terminal:  foot 1.27.0-2 (xdg-terminal-exec --print-id -> foot.desktop)
ttfx:      0.3.2-1
```

Note: `omarchy debug --no-sudo --print` is documented but not present in 4.0.0-1 (`Unknown Omarchy command`), and no `debug` route appears in `omarchy commands --all`; the details above were collected manually.

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 10:01 UTC