yabai icon indicating copy to clipboard operation
yabai copied to clipboard

Dialogs (pop up windows) showing behind app windows

Open AmkSk opened this issue 3 years ago • 8 comments

Hello, I am using the DEV version (HEAD) of yabai on a M1 Silicon Macbook.

I am encountering dialogs not being visible on a lot of apps (e.g. Brave, Preferences). It is basically the same issue as stated in https://github.com/koekeishiya/yabai/issues/987. But I am not using the layer=above setting anywhere.

AmkSk avatar Feb 13 '22 09:02 AmkSk

I am having the same issue on macOS Monterey and INTEL

Chandru-B avatar Feb 16 '22 17:02 Chandru-B

Same here, on Monterey 12.1 and M1 Pro.

akubak avatar Feb 20 '22 05:02 akubak

Same here, on Big Sur 11.6.2 and intel.

#!/usr/bin/env sh

# the scripting-addition must be loaded manually if
# you are running yabai on macOS Big Sur. Uncomment
# the following line to have the injection performed
# when the config is executed during startup.
#
# for this to work you must configure sudo such that
# it will be able to run the command without password
#
# see this wiki page for information:
#  - https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)
#

sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"

# global settings
yabai -m config mouse_follows_focus          off
yabai -m config focus_follows_mouse          on

# which display a windhow should become managed at when created
yabai -m config window_origin_display        default
# auto tile windows to the side
yabai -m config window_placement             second_child

# make floating windows stay on top
yabai -m config window_topmost               on

# disable window drop-shadows
yabai -m config window_shadow                off
# enable opacity for windows
yabai -m config window_opacity               off
# duration in changing opacity (tweening)
yabai -m config window_opacity_duration      0.0
# opacity of active window
yabai -m config active_window_opacity        1.0
# opacity of unfocused window
yabai -m config normal_window_opacity        0.90
# draw border for windows (limelight)
yabai -m config window_border                on
yabai -m config window_border_width          6
yabai -m config window_border_radius		 6
#yabai -m config active_window_border_color   0xff775759
yabai -m config active_window_border_color   0xff76ff03
yabai -m config normal_window_border_color   0xff555555
# color of window --insert message selection
yabai -m config insert_feedback_color        0xffd75f5f
# default split ratio
yabai -m config split_ratio                  0.50
# balance window tree on change
yabai -m config auto_balance                 off
# cmd, alt, shift, ctrl, fn
yabai -m config mouse_modifier               cmd
yabai -m config mouse_action1                move
yabai -m config mouse_action2                resize
yabai -m config mouse_drop_action            swap

# general space settings
yabai -m config layout                       bsp

# padding on the space itself
yabai -m config top_padding                  10
yabai -m config bottom_padding               10
yabai -m config left_padding                 10
yabai -m config right_padding                10
# the gap separator
yabai -m config window_gap                   06

ShawnMcCool avatar Feb 24 '22 17:02 ShawnMcCool

I just commented out:


sudo yabai --load-sa
yabai -m signal --add event=dock_did_restart action="sudo yabai --load-sa"

# global settings
yabai -m config mouse_follows_focus          off
yabai -m config focus_follows_mouse          on

# which display a windhow should become managed at when created
yabai -m config window_origin_display        default
# auto tile windows to the side
yabai -m config window_placement             second_child

# make floating windows stay on top
yabai -m config window_topmost               on

restarted and my dialogs worked again.. I uncommented them to try to figure out the cause.. and the dialogs still worked..

ShawnMcCool avatar Feb 24 '22 17:02 ShawnMcCool

Issues still persist in 4.0.0

AmkSk avatar Mar 18 '22 13:03 AmkSk

Some application/windows appear to have trouble with child windows when made topmost. If you experience this a lot set yabai -m config window_topmost off.

koekeishiya avatar Mar 18 '22 13:03 koekeishiya

Even with window_topmost off I am still experiencing the same issue. Namely when trying to download a file with Brave the pop-up to determine the save-to location is hidden.

lgulich avatar Aug 17 '22 23:08 lgulich

Same. Even after set window_topmost off

nzhl avatar Sep 08 '22 13:09 nzhl

This workaround works fine for me:

alt - l : yabai -m window --toggle topmost; yabai -m window --toggle topmost

ucchiee avatar Sep 29 '22 06:09 ucchiee

This workaround works fine for me:

alt - l : yabai -m window --toggle topmost; yabai -m window --toggle topmost

Can confirm this works for me too but you essentially have to use this bind every time you want to see the pop up window, very inconvenient

rainx0r avatar Sep 29 '22 09:09 rainx0r

This custom rules works perfectly fine for me:

# applications with custom rules
applications="(Calendar|Mail|Reminders|Notes|Microsoft Outlook|Discord|Messages|Slack|Firefox|Chrome|Code|Microsoft Word|Preview|Terminal|iTerm2|QuickTime|Player|Spotify|Music|Brave Browser|Kitty|Alacritty|Trello)"

# NOTE: you need to set the settings for the applications in the 
#       list first, or else they don't apply properly and you can end up with
#       some weird border/float/window behaviours

# everything listed gets sent to below layer to prevent 
# them from covering floating applications/popup windows
yabai -m rule --add app="^${applications}$"    manage=on layer=below

Ref) #1284

ucchiee avatar Sep 29 '22 12:09 ucchiee

Basically, we need to set layer=below rule to interact with floating applications/popup windows.

ucchiee avatar Sep 29 '22 12:09 ucchiee

That works for pop ups from those apps themselves but causes other problems such as system pop ups (spotlight / autocorrect + autocomplete suggestions / mail notifications) forcing a window resize and taking up an entire tile.

rainx0r avatar Sep 29 '22 13:09 rainx0r

Can you upload some images? Those behaviors can't be reproduced in my environment.

ucchiee avatar Sep 29 '22 14:09 ucchiee

This issue still hasn't been fixed in latest version. Started experiencing this with latest version on an M1 mac 13.0.1

george43g avatar Mar 05 '23 22:03 george43g

Same on yabai-v5.0.3, Mac OS 13.3.1 M1

lokhmakov avatar Apr 25 '23 07:04 lokhmakov

This custom rules works perfectly fine for me:

# applications with custom rules
applications="(Calendar|Mail|Reminders|Notes|Microsoft Outlook|Discord|Messages|Slack|Firefox|Chrome|Code|Microsoft Word|Preview|Terminal|iTerm2|QuickTime|Player|Spotify|Music|Brave Browser|Kitty|Alacritty|Trello)"

# NOTE: you need to set the settings for the applications in the 
#       list first, or else they don't apply properly and you can end up with
#       some weird border/float/window behaviours

# everything listed gets sent to below layer to prevent 
# them from covering floating applications/popup windows
yabai -m rule --add app="^${applications}$"    manage=on layer=below

Ref) #1284

This seems to work, thanks!

Would be nice if this issue would be fixed at some point, this issue makes yabai unusable for beginners.

DimiDumo avatar Jul 05 '23 09:07 DimiDumo

Unfortunately this issue is unresolved for me. Applying the above recommended fix

# applications with custom rules
applications="(Calendar|Mail|Reminders|Notes|Microsoft Outlook|Discord|Messages|Slack|Firefox|Chrome|Code|Microsoft Word|Preview|Terminal|iTerm2|QuickTime|Player|Spotify|Music|Brave Browser|Kitty|Alacritty|Trello)"

# NOTE: you need to set the settings for the applications in the 
#       list first, or else they don't apply properly and you can end up with
#       some weird border/float/window behaviours

# everything listed gets sent to below layer to prevent 
# them from covering floating applications/popup windows
yabai -m rule --add app="^${applications}$"    manage=on layer=below

Causes tooltips in Chrome to flicker and relayout. That issue was resolved here by using manage=off so these things seem in conflict? https://github.com/koekeishiya/yabai/issues/424

Agreed this issue make yabai unusable for beginners. Hoping I can figure it.

AdamDorwart avatar Jul 25 '23 23:07 AdamDorwart

For anyone looking for the answer this solved it for me: https://github.com/koekeishiya/yabai/issues/1798#issuecomment-1630965678

yabai -m config window_topmost off

I see this was mentioned in the thread and I thought I tried it but after finding that ref'd issue I figured I would try again. Maybe I needed to restart both yabai and Chrome for the change to take effect?

Either way, with the above fix I removed manage=on layer=below and pop up windows and tooltips both display correctly in Google Chrome.

AdamDorwart avatar Aug 02 '23 20:08 AdamDorwart

while the fix

yabai -m rule --add app="^${applications}$"    manage=on layer=below
yabai -m config window_topmost off

allows me now to see completion of safari and other various menus, I am experiencing a random flicking of the window now :(

mickaelperrin avatar Aug 12 '23 12:08 mickaelperrin

@mickaelperrin did you try removing manage=on layer=below and only using window_topmost off? The flickering of the window I was seeing was a rapid relayout caused by hover over tooltips in chrome. I had the issue with your config but fixed all issues (dialog popups and tooltips display correctly, no rapid relayout) with just topmost off.

AdamDorwart avatar Aug 12 '23 13:08 AdamDorwart

@AdamDorwart mmm, strange, it looks like it's working now only with window_topmost off. But I am on my MacBook without external displays. I will update the issue, if I am encounter the issue again with external displays.

mickaelperrin avatar Aug 13 '23 10:08 mickaelperrin

Oh geez the issue appears state dependent somehow. Without any configuration change (only window_topmost off) pop up windows stopped working again in Chrome. I tried restarting yabai and the issue persisted. So then I revived the config manage=on layer=below, restarted yabai, and now it works again!

...then I reverted that change (manage=on layer=below), restarted yabai, and it still works... I double checked that I didn't update yabai or anything else changed. I didn't try rebooting before it resolved from the above debugging.

Hopefully I'm missing something but that interaction leads me to believe there is some bad state that causes this. I'm back to my window_topmost off change only and things are okay for now.

EDIT: Okay happened again. This time I noticed it was a particular Chrome window and for whatever reason it became unmanaged by yabai (not snapping to the spaces tiling). I just closed that window and reopened the tabs in a new window and it's managed again. Need to dig into why chrome windows become unmanaged. Hopefully not chasing my tail.

AdamDorwart avatar Aug 26 '23 18:08 AdamDorwart

Hello,

It's the same issue that #819. In that issue I provided a tempory solution. However, the problem persists with only an app (Raycast) when it is set as such :

yabai -m rule --add app="Raycast" manage=off layer=above

The tempory solution for that app is to call yabai with skhd that way:

 fn - f : yabai -m window --toggle topmost;\
          yabai -m window --toggle zoom-fullscreen;\
          yabai -m window --toggle topmost

The author of Yabai already made a great work. If someone does have a better solution, I'm curious.

Sulfyderz avatar Sep 22 '23 19:09 Sulfyderz

Window layers have been reworked in v6.0.0 , #1887

koekeishiya avatar Oct 10 '23 21:10 koekeishiya