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

Emoji picker opens at output center instead of over the focused window

Reported by JoNil · filed Aug 31, 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

Emoji picker opens at output center instead of over the focused windowrevision 1 · captured 2026-09-28 21:24 UTC via poll

System details

AMD Ryzen 9 5950X, NVIDIA GeForce RTX 4090, Omarchy 4.0.1-1 stable, Hyprland 0.56.2-1, quickshell 0.3.1-1, kernel 7.1.9-arch1-2

What's wrong?

The emoji picker is centered on the whole output instead of opening over the window that had keyboard focus when the picker was invoked.

Steps to reproduce:

  1. Tile two or more windows on one output.
  2. Focus a text field in a window that is not beneath the center of the output.
  3. Open the emoji picker with Super+Ctrl+E.

Expected: the picker opens over the window where the user was typing, ideally centered within that window and clamped to the output bounds.

Actual: the picker card opens at the center of the output and can cover an unrelated window. This makes the picker appear disconnected from the input that invoked it.

This is separate from #7350. Even if insertion is changed to restore the original focus target, the picker placement still obscures the wrong application. The current placement also makes #7350 easier to trigger when an emoji is selected with the mouse.

In the 4.0.1-1 implementation, the emoji card in shell/plugins/emojis/Emojis.qml uses anchors.centerIn on a full-output PanelWindow and does not position itself relative to the previously focused client window.

View raw text
### System details

AMD Ryzen 9 5950X, NVIDIA GeForce RTX 4090, Omarchy 4.0.1-1 stable, Hyprland 0.56.2-1, quickshell 0.3.1-1, kernel 7.1.9-arch1-2

### What's wrong?

The emoji picker is centered on the whole output instead of opening over the window that had keyboard focus when the picker was invoked.

Steps to reproduce:

1. Tile two or more windows on one output.
2. Focus a text field in a window that is not beneath the center of the output.
3. Open the emoji picker with Super+Ctrl+E.

Expected: the picker opens over the window where the user was typing, ideally centered within that window and clamped to the output bounds.

Actual: the picker card opens at the center of the output and can cover an unrelated window. This makes the picker appear disconnected from the input that invoked it.

This is separate from #7350. Even if insertion is changed to restore the original focus target, the picker placement still obscures the wrong application. The current placement also makes #7350 easier to trigger when an emoji is selected with the mouse.

In the 4.0.1-1 implementation, the emoji card in shell/plugins/emojis/Emojis.qml uses anchors.centerIn on a full-output PanelWindow and does not position itself relative to the previously focused client window.

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:18 UTC