asmvik / asmvik/yabai

BUG: System input indicator should not be considered a window for event handling

Open
#2,570 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
29.6k
Forks
758
PR merge metrics
No merged PRs in 30d

Description

![Image](https://github.com/user-attachments/assets/c4ea2853-b7f7-4f81-91b6-f19409062a96)
The system input indicator triggered by input source changes in macOS is being recognized as a window, causing yabai to send window events like `window_created` and `window_destroyed`.

I believe the input indicator shouldn't trigger window-related events (e.g., `window_created`, `window_destroyed`) through `yabai`, regardless of whether it is shown or hidden.

I use this in `yabairc` to capture this window info:
```
yabai -m signal --add event=window_created action='yabai -m query --windows > ~/Desktop/windows.json'
```
```json
{
"id":161,
"pid":1113,
"app":"xxxxxx",
"title":"",
"scratchpad":"",
"frame":{
"x":733.0000,
"y":586.0000,
"w":84.0000,
"h":77.0000
},
"role":"AXWindow",
"subrole":"AXDialog",
"root-window":true,
"display":1,
"space":1,
"level":3,
"sub-level":0,
"layer":"above",
"sub-layer":"normal",
"opacity":1.0000,
"split-type":"none",
"split-child":"none",
"stack-index":0,
"can-move":true,
"can-resize":false,
"has-focus":false,
"has-shadow":true,
"has-parent-zoom":false,
"has-fullscreen-zoom":false,
"has-ax-reference":true,
"is-native-fullscreen":false,
"is-visible":true,
"is-minimized":false,
"is-hidden":false,
"is-floating":true,
"is-sticky":false,
"is-grabbed":false
}
```

Is this an unintended behavior in yabai, or am I misinterpreting the expected functionality?

macOS version: `Sequoia 15.3.1`
yabai version: `yabai-v7.1.11`

---

**Expected Behavior:**
Transient system UI elements like the input indicator should not be recognized as standard windows or trigger window-related events.

Contributor guide

No contributing guide indexed for this repository

Research direction

Reproduce the input-source change on macOS Sequoia while monitoring the `yabai -m signal` `window_created` and `window_destroyed` events and the `yabai -m query --windows` output captured by `yabairc`. Done means the transient input indicator is absent from window queries and does not trigger window-related events whether it is shown or hidden.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos
Domain
desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.