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.
Migration 1767138576 silently fails to fix scrolltouchpad syntax for Hyprland 0.53
Reported by GappelSolutions · filed Feb 20, 2026Closed upstream on 2026-02-20 by commit 518349e4905e (closed by dhh). GitHub close reason: completed.
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
Summary
After running omarchy-update, Hyprland reports config errors for the old scrolltouchpad window rule syntax in ~/.config/hypr/input.conf. Migration 1767138576.sh exists to fix this but silently fails to apply the sed replacement, while still being marked as "done".
Config errors
Config error in file /home/cgpp/.config/hypr/input.conf at line 35: invalid field type scrolltouchpad
Config error in file /home/cgpp/.config/hypr/input.conf at line 36: invalid field type scrolltouchpadRoot cause
The sed regexes in the migration anchor to end-of-line with $:
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)$/.../' ~/.config/hypr/input.conf
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)$/.../' ~/.config/hypr/input.confIf the config lines have any trailing whitespace (spaces, tabs, or \r), the $ anchor won't match and sed silently does nothing — but exits 0, so the migration is marked as successfully applied. It then never runs again.
Additionally, migration 1758019332 (the earlier scrolltouchpad migration) only matches the exact string class:Alacritty. If a user customized the line to class:(Alacritty|kitty), that migration also silently skips.
Suggested fix
Make the regexes more robust by allowing trailing whitespace:
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)\s*$/windowrule = match:class (\2), scroll_touchpad \1/' ~/.config/hypr/input.conf
sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)\s*$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.confOr alternatively, drop the $ anchor entirely since the match pattern is specific enough.
Environment
- Omarchy with Hyprland 0.53.3
- Arch Linux 6.18.7-arch1-1
View raw text
## Summary After running `omarchy-update`, Hyprland reports config errors for the old `scrolltouchpad` window rule syntax in `~/.config/hypr/input.conf`. Migration `1767138576.sh` exists to fix this but silently fails to apply the sed replacement, while still being marked as "done". ## Config errors ``` Config error in file /home/cgpp/.config/hypr/input.conf at line 35: invalid field type scrolltouchpad Config error in file /home/cgpp/.config/hypr/input.conf at line 36: invalid field type scrolltouchpad ``` ## Root cause The sed regexes in the migration anchor to end-of-line with `$`: ```bash sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)$/.../' ~/.config/hypr/input.conf sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)$/.../' ~/.config/hypr/input.conf ``` If the config lines have **any trailing whitespace** (spaces, tabs, or `\r`), the `$` anchor won't match and `sed` silently does nothing — but exits 0, so the migration is marked as successfully applied. It then never runs again. Additionally, migration `1758019332` (the earlier scrolltouchpad migration) only matches the exact string `class:Alacritty`. If a user customized the line to `class:(Alacritty|kitty)`, that migration also silently skips. ## Suggested fix Make the regexes more robust by allowing trailing whitespace: ```bash sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:\(([^)]+)\)\s*$/windowrule = match:class (\2), scroll_touchpad \1/' ~/.config/hypr/input.conf sed -Ei 's/^windowrule = scrolltouchpad ([^,]+), class:([^ ]+)\s*$/windowrule = match:class \2, scroll_touchpad \1/' ~/.config/hypr/input.conf ``` Or alternatively, drop the `$` anchor entirely since the match pattern is specific enough. ## Environment - Omarchy with Hyprland 0.53.3 - Arch Linux 6.18.7-arch1-1
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.