-
-
Notifications
You must be signed in to change notification settings - Fork 705
Description
Environment
- macOS 26.4 (25E241)
- yabai 7.1.17
- Google Chrome 146.0.7680.154
Summary
I hit a case where one specific Google Chrome window is clearly a normal visible top-level window, but yabai reports it with blank title/role, no AX reference, is-visible = false, and is-floating = false.
Other Chrome windows from the same process on the same space/display are reported normally by yabai.
What I see
The problematic Chrome window is visibly on screen and frontmost. Chrome itself reports it as a normal window with bounds:
osascript -e 'tell application "Google Chrome" to get {title, bounds} of window 1'Output:
G-Space "Bicycle Birthday Stream" - PART 2 - YouTube 🔊, 1701, 139, 3500, 1316
CoreGraphics also sees the same window server id as a normal on-screen layer-0 Chrome window:
swift -e 'import Foundation; import CoreGraphics; let info = CGWindowListCopyWindowInfo([.optionOnScreenOnly, .excludeDesktopElements], kCGNullWindowID) as? [[String:Any]] ?? []; for row in info { let owner = row[kCGWindowOwnerName as String] as? String ?? ""; if owner != "Google Chrome" { continue }; let id = (row[kCGWindowNumber as String] as? NSNumber)?.intValue ?? -1; let name = (row[kCGWindowName as String] as? String) ?? ""; let layer = (row[kCGWindowLayer as String] as? NSNumber)?.intValue ?? -1; let alpha = (row[kCGWindowAlpha as String] as? NSNumber)?.doubleValue ?? -1; let bounds = row[kCGWindowBounds as String] ?? ""; print("id=\(id) layer=\(layer) alpha=\(alpha) name=\(name) bounds=\(bounds)") }'Relevant line:
id=602 layer=0 alpha=1.0 name=G-Space "Bicycle Birthday Stream" - PART 2 - YouTube 🔊 bounds={ Height = 1177; Width = 1799; X = 1701; Y = 139; }
But yabai reports the same window id like this:
yabai -m query --windows | jq '.[] | select(.id==602)'Output:
{
"id": 602,
"pid": 707,
"app": "Google Chrome",
"title": "",
"role": "",
"subrole": "",
"frame": { "x": 1701.0000, "y": 139.0000, "w": 1799.0000, "h": 1177.0000 },
"display": 1,
"space": 1,
"can-move": false,
"can-resize": false,
"has-focus": false,
"has-ax-reference": false,
"is-visible": false,
"is-minimized": false,
"is-hidden": false,
"is-floating": false
}At the same time, other Chrome windows from the same app/pid on the same space/display are reported normally, for example:
yabai -m query --windows | jq '.[] | select(.id==2808)'{
"id": 2808,
"pid": 707,
"app": "Google Chrome",
"title": "I Made Claude and Codex Argue Until My Code Plan Was Actually Good | Aseem Shrey - Part of group Review / Temp - Google Chrome",
"role": "AXWindow",
"subrole": "AXStandardWindow",
"display": 1,
"space": 1,
"can-move": true,
"can-resize": true,
"has-ax-reference": true,
"is-visible": true,
"is-floating": true
}Expected
For window 602, I would expect yabai to expose the same basic state as the window server / Chrome itself:
- non-empty title
role = AXWindowsubrole = AXStandardWindowhas-ax-reference = trueis-visible = true- correct floating state (or at least not an obviously contradictory one)
Actual
For that one Chrome window only, yabai returns a blank/limited-looking window state even though the window is clearly present and normal on screen.
Notes
- This seems to be a one-off pathological window rather than a global Chrome problem.
- Other Chrome windows in the same session are reported correctly.
- I reduced the problematic window down to a normal single-tab window and still saw the same mismatch.