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

Chrome Live Caption bubble is tiled into its own window

Reported by IgnorEnd · filed Sep 26, 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

Chrome Live Caption bubble is tiled into its own windowrevision 1 · captured 2026-09-28 21:23 UTC via poll

System details

Intel Core i7-7700HQ, Intel HD Graphics 630 + NVIDIA GTX 1060 Mobile, Omarchy 4.0.4, Hyprland 0.56.2, Google Chrome 154.0.8037.57 (native Wayland)

What's wrong?

Chrome's Live Caption bubble (实时字幕; Settings → Accessibility → Live Caption) opens as its own tiled window and takes a layout cell. It should stay a small floating caption bubble.

default/hypr/apps/browser.lua tags every Chromium-family window and forces it to tile:

o.window("((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium)", { tag = "+chromium-based-browser" })
o.window({ tag = "chromium-based-browser" }, { tag = "-default-opacity", tile = true, opacity = "1.0 0.985" })

That tile = true exists so --app / PWA windows do not float. It matches on class, and the Live Caption bubble is a separate xdg_toplevel with the same class as the browser (google-chrome). Hyprland would otherwise float it: shouldBeFloated() returns true for a Wayland toplevel that has a parent, or whose min size equals its max size on either axis. The tile rule is applied after that check and overrides it, so the caption bubble is pulled into the tiling layout.

Steps:

  1. Launch Google Chrome the usual Omarchy way (Ozone/Wayland).
  2. Turn on Live Caption (实时字幕). Live Translate is optional and uses the same bubble.
  3. Play media that contains speech.
  4. The caption UI is a tiled window beside the page, not a floating bubble.

Related, but not the same report:

  • #10596 — the same tile = true rule makes a torn-off Chromium tab unable to follow the pointer
  • #1692 — page-opened popup windows (for example PayPal) are tiled as well
  • #9 — the --app floating behavior this rule is compensating for

A fix needs to keep real browser and --app windows tiled, and leave child or fixed-size toplevels (the Live Caption bubble, and the tear-out case in #10596) floating.

View raw text
### System details

Intel Core i7-7700HQ, Intel HD Graphics 630 + NVIDIA GTX 1060 Mobile, Omarchy 4.0.4, Hyprland 0.56.2, Google Chrome 154.0.8037.57 (native Wayland)

### What's wrong?

Chrome's Live Caption bubble (实时字幕; Settings → Accessibility → Live Caption) opens as its own tiled window and takes a layout cell. It should stay a small floating caption bubble. 

`default/hypr/apps/browser.lua` tags every Chromium-family window and forces it to tile:

```lua
o.window("((google-)?[cC]hrom(e|ium)|[bB]rave-browser|[mM]icrosoft-edge|Vivaldi-stable|helium)", { tag = "+chromium-based-browser" })
o.window({ tag = "chromium-based-browser" }, { tag = "-default-opacity", tile = true, opacity = "1.0 0.985" })
```

That `tile = true` exists so `--app` / PWA windows do not float. It matches on class, and the Live Caption bubble is a separate `xdg_toplevel` with the same class as the browser (`google-chrome`). Hyprland would otherwise float it: `shouldBeFloated()` returns true for a Wayland toplevel that has a parent, or whose min size equals its max size on either axis. The tile rule is applied after that check and overrides it, so the caption bubble is pulled into the tiling layout.

Steps:

1. Launch Google Chrome the usual Omarchy way (Ozone/Wayland).
2. Turn on Live Caption (实时字幕). Live Translate is optional and uses the same bubble.
3. Play media that contains speech.
4. The caption UI is a tiled window beside the page, not a floating bubble.

Related, but not the same report:

- #10596 — the same `tile = true` rule makes a torn-off Chromium tab unable to follow the pointer
- #1692 — page-opened popup windows (for example PayPal) are tiled as well
- #9 — the `--app` floating behavior this rule is compensating for

A fix needs to keep real browser and `--app` windows tiled, and leave child or fixed-size toplevels (the Live Caption bubble, and the tear-out case in #10596) floating.

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 19:53 UTC