yabai icon indicating copy to clipboard operation
yabai copied to clipboard

Yabai placing windows on incorrect display and desktop

Open ChrisOlsonFilms opened this issue 3 years ago • 4 comments

For a bit now I've used Yabai to manage which spaces apps were placed in. For the last handful of months it has been really inconsistent. I have 3 displays and frequently an app that is supposed to open on display 3 will open there, and then immediately move to my middle monitor. Sometimes it goes to the correct one, other times it does not. Most of the time it sends it to the wrong display.

I tried disabling my Yabai rules to control windows and instead used the native way MacOS has for managing which apps are in which space. This also has inconsistent results. As soon as I disable Yabai though, all applications are managed correctly and the issue goes away.

Any ideas? Running MacOS Mojave 10.14.6 Yabai 3.3.7.

ChrisOlsonFilms avatar Mar 12 '21 00:03 ChrisOlsonFilms

I seem to have the same issue but with one monitor. My apps will open on the wrong virtual desktop for me. Not sure why.

heywoodlh avatar Mar 19 '21 16:03 heywoodlh

Same experience.

For example, I have three displays indexed like this, the left one is #2, the central one is #1, and the right one is #3

I have this rule in my yabairc:

yabai -m rule --add app="^Chromium$" display=^3

(also tested without the "^")

But when I launch Chromium, Yabai alternates between display #3 and #1 between consecutive launches (as in, launch chromium > window goes to display #3 > close Chromium > relaunch Chromium > window goes to display #1 > close > relaunch > goes to display #3 etc)

(same behavior as described by @ChrisOlsonFilms, each time the window is launched on one display then jumps to the other)

The same happening with, for example, mac vim, which alternates between screens #2 and #1.

Extra info for what it's worth:

  • Yabai version 3.3.7 (same thing happening before I updated, had v3.4 I think)

  • MacOS Catalina 10.15.7

  • Freshly reinstalled Scripting Addition, or removing then reinstalling yabai... neither of those doesn't solve the problem

  • Other config lines that reference display indexes work consistently (for example, moving windows via keyboard shortcuts)

  • In system preferences >> Mission control:

    1. [ ] Automatically rearrange Spaces based on most recent use
    2. [X] When switching to an application, switch to a space with open windows for the application
    3. [ ] Group windows by application
    4. [X] Displays have separate spaces

    (tried turning #2off, doesn't make a difference)

Edit: I attempted to capture what's happening in the log file... but I can't make sense of it.

Case when Chromium goes to the correct display as specified by rule. I added exclamation marks to lines that include the word DISPLAY

EVENT_HANDLER_WINDOW_RESIZED: Finder 27436
EVENT_HANDLER_MOUSE_DOWN: 810.07, 425.66
EVENT_HANDLER_MOUSE_UP: 810.07, 425.66
EVENT_HANDLER_MOUSE_DOWN: 810.07, 425.66
EVENT_HANDLER_MOUSE_UP: 810.07, 425.66
window_manager_create_and_add_window: ignoring AXUnknown window Finder 28228
EVENT_HANDLER_APPLICATION_LAUNCHED: Chromium (9610) is not finished launching, subscribing to finishedLaunching changes
-[workspace_context observeValueForKeyPath:ofObject:change:context:]: Chromium (9610) finished launching
EVENT_HANDLER_APPLICATION_LAUNCHED: Chromium (9610)
window_manager_create_and_add_window: Chromium 28229
EVENT_HANDLER_APPLICATION_FRONT_SWITCHED: Chromium (9610)
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_APPLICATION_FRONT_SWITCHED: Finder (504)
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_APPLICATION_FRONT_SWITCHED: Chromium (9610)
EVENT_HANDLER_DISPLAY_CHANGED: 69733568 52  !!!
EVENT_HANDLER_WINDOW_FOCUSED: Chromium 28229
EVENT_HANDLER_WINDOW_FOCUSED: Chromium 28229
EVENT_HANDLER_WINDOW_RESIZED: Chromium 28229
EVENT_HANDLER_WINDOW_RESIZED: Chromium 28229
EVENT_HANDLER_WINDOW_MOVED: Chromium 28229
EVENT_HANDLER_WINDOW_RESIZED: Chromium 28229
EVENT_HANDLER_APPLICATION_DEACTIVATED: Finder
EVENT_HANDLER_APPLICATION_ACTIVATED: Chromium
EVENT_HANDLER_APPLICATION_DEACTIVATED: Chromium
EVENT_HANDLER_APPLICATION_ACTIVATED: Finder
EVENT_HANDLER_APPLICATION_DEACTIVATED: Finder
EVENT_HANDLER_APPLICATION_ACTIVATED: Chromium
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28229
EVENT_HANDLER_MOUSE_DOWN: 2158.54, 481.70
EVENT_HANDLER_MOUSE_UP: 2158.54, 481.70
window_manager_create_and_add_window: ignoring AXUnknown window Chromium 28263
window_manager_create_and_add_window: ignoring AXUnknown window Chromium 28264
EVENT_HANDLER_WINDOW_DESTROYED: Chromium 28229
EVENT_HANDLER_APPLICATION_FRONT_SWITCHED: Finder (504)
EVENT_HANDLER_APPLICATION_DEACTIVATED: Chromium
EVENT_HANDLER_APPLICATION_ACTIVATED: Finder
EVENT_HANDLER_DISPLAY_CHANGED: 59578370 1 !!!
EVENT_HANDLER_APPLICATION_TERMINATED: Chromium (9610)

Case when Chromium is sent to the wrong (central display)

EVENT_HANDLER_MOUSE_DOWN: 459.98, 431.87
EVENT_HANDLER_MOUSE_UP: 459.98, 431.87
EVENT_HANDLER_MOUSE_DOWN: 459.98, 431.87
EVENT_HANDLER_MOUSE_UP: 459.98, 431.87
window_manager_create_and_add_window: ignoring AXUnknown window Finder 28292
EVENT_HANDLER_APPLICATION_LAUNCHED: Chromium (9727) is not finished launching, subscribing to finishedLaunching changes
-[workspace_context observeValueForKeyPath:ofObject:change:context:]: Chromium (9727) finished launching
EVENT_HANDLER_APPLICATION_LAUNCHED: Chromium (9727)
window_manager_create_and_add_window: Chromium 28293
EVENT_HANDLER_DISPLAY_CHANGED: 59578370 1 !!!
EVENT_HANDLER_APPLICATION_FRONT_SWITCHED: Chromium (9727)
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_RESIZED: Finder 27436
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_TITLE_CHANGED: Chromium 28293
EVENT_HANDLER_WINDOW_RESIZED: Chromium 28293
EVENT_HANDLER_WINDOW_MOVED: Chromium 28293
EVENT_HANDLER_DISPLAY_CHANGED: 59578370 1  !!!
EVENT_HANDLER_WINDOW_RESIZED: Chromium 28293
EVENT_HANDLER_APPLICATION_DEACTIVATED: Finder
EVENT_HANDLER_APPLICATION_ACTIVATED: Chromium
EVENT_HANDLER_MOUSE_DOWN: 1026.25, 556.57
EVENT_HANDLER_MOUSE_UP: 1026.25, 556.57
window_manager_create_and_add_window: ignoring AXUnknown window Chromium 28354
EVENT_HANDLER_WINDOW_DESTROYED: Chromium 28293
EVENT_HANDLER_WINDOW_RESIZED: Finder 27436
EVENT_HANDLER_APPLICATION_FRONT_SWITCHED: Finder (504)
EVENT_HANDLER_APPLICATION_DEACTIVATED: Chromium
EVENT_HANDLER_APPLICATION_ACTIVATED: Finder
EVENT_HANDLER_APPLICATION_TERMINATED: Chromium (9727)

Smingvin avatar Apr 22 '21 08:04 Smingvin

I'm a new Yabai user, and I like it. However I have been experiencing the same issue with a single display. It's really frustrating almost randomly placing the windows sometimes.

caltuntas avatar Jun 22 '22 09:06 caltuntas

I really have no idea; I've never experienced this on my end, in both single and multiple monitor setups.

koekeishiya avatar Jun 22 '22 09:06 koekeishiya