asmvik / asmvik/yabai

Question: Can I make all non-resizeable windows float (preference windows, autosuggestion windows etc)?

Open
#1,317 26 comments 4 reactions 0 assignees View on GitHub
Dominant language
C
Stars
29.6k
Forks
758
PR merge metrics
No merged PRs in 30d

Description

I have searched a lot for this but can't find any real answer to how to do this. I'm a bit new to this – sorry if this is a noob question with obvious answer. I really like Yabai so far and this is absolutely not a big issue for me.

For some small non-resizable windows it seems to work that they become float but some are not.

**Example**
When I have a finder window and calendar window open – then the both window share the space which is great.
working layout

But if I for example open the finder preferences window – then the preferences window is not floating which results in the calendar window is pushed down and a lot of space is unused plus that the layout becomes "broken".
broken layout

**My try to resolve this**
I use the finder preferences window as an example here but this happens to some other small windows (for example the autosuggestion box inside calendar app or the finder file transfer window).

I have tried writing this code in the yabairc but it dont seem to work:
`yabai -m rule --add can-resize="^false$" manage=off`

**This is my yabairc**
```
#!/usr/bin/env sh

# 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 off
yabai -m config window_origin_display default
yabai -m config window_placement second_child
yabai -m config window_topmost off
yabai -m config window_shadow off
yabai -m config window_opacity off
yabai -m config window_opacity_duration 0.0
yabai -m config active_window_opacity 1.0
yabai -m config normal_window_opacity 0.80
yabai -m config window_border on
yabai -m config window_border_width 6
yabai -m config active_window_border_color 0xffbf616a
yabai -m config normal_window_border_color 0xff4c566a
yabai -m config insert_feedback_color 0xffebcb8b
yabai -m config split_ratio 0.50
yabai -m config auto_balance off
yabai -m config mouse_modifier fn
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
yabai -m config top_padding 0
yabai -m config bottom_padding 0
yabai -m config left_padding 0
yabai -m config right_padding 0
yabai -m config window_gap 10

# apps to not manage (ignore)
yabai -m rule --add app="^System Preferences$" manage=off
yabai -m rule --add app="^Archive Utility$" manage=off
yabai -m rule --add app="^Wally$" manage=off
yabai -m rule --add app="^Pika$" manage=off
yabai -m rule --add app="^balenaEtcher$" manage=off
yabai -m rule --add app="^Creative Cloud$" manage=off
yabai -m rule --add app="^Logi Options$" manage=off
yabai -m rule --add app="^Alfred Preferences$" manage=off

yabai -m rule --add can-resize="^false$" manage=off

echo "yabai configuration loaded.."
```

Do I need to have the SIP disabled and scripting-addition loaded?

Does anyone know a way to do this? Thanks!

If there is no way to do this to all windows then it is fine. Yabai seems really great and I love how powerful it seems to be!

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the yabairc rule using can-resize="^false$" and compare its behavior across Finder preferences, Calendar autosuggestions, and Finder file-transfer windows. Determine whether yabai can apply manage=off to all non-resizable windows, including whether scripting addition or SIP affects this; done means the supported limitation or configuration is established.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, macos, shell
Domain
desktop, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.