I like rectangle [0]. It fits my needs well enough without requiring disabling SIP. I especially like the “repeated key presses resize a window on the same side” feature, so I can get cycle the size of the window on the right side of the screen from 1/2->1/3->2/3 easily. I miss i3 sometimes and this ain’t an identical replacement but it gets the job done! Turns out I don’t move my windows all that often anyways.
Just wanted to point out that disabling SIP is not required to use most of yabai's window management features.
You do lose some features[0] but I've found the only ones I really care about is focusing spaces, and you can create keyboard shortcuts for that in System Settings.
I want to echo this as well. I use a 2nd tool to help me add additional i3-like keyboard shortcuts as well (I have the ability to "stack" windows with Alt-S and rotate through them with Alt-J and Alt-K).
Here it is. There is no visualization of the stack, which apparently Stackline in the other comment supports, but I don't tend to need that. Just being able to move between the windows is good enough for me.
I similarly find something like Yabai a bit too heavy-handed for my needs, and instead prefer Moom[0].
I find that I only need tiling occasionally, and for that Moom excels since it doesn’t add any new key shortcuts to memorize and is only ever visibly present when hovering your cursor over a window’s green button. Its Aero Snap equivalent is optional and turned off by default too, which is great for me (I trigger Aero Snap’s proposed-window-resize animations unintentionally often enough that they get to be irritating).
Moom is one of my main tools and I have used it for years. It is one of the first things I put on my Mac. I use it constantly to move windows around, lay things out for work, and move things between desktops. I can't recommend it enough.
Moom fan here too. I got as far in the readme for Yabai where it says you need another utility just to set keyboard shortcuts and decided to stick with what I know and love.
I find rectangle actually preferable to tiling, which I've tried on my linux boxes. Rectangle has the benefits of keeping the application-defined sizes (e.g. the terminal when opened up is 80x20 instead of whatever space is available on the screen) and playing nicely with the system defaults (like command-tab, command-~ to cycle through applications and windows). I find if I ever end up using a public or someone else's device, it's easier to cope; I'm not as helpless without rectangle as I was when I got used to a tiling WM muscle memory.
And the name of Yabai -- which translates to "danger" -- never sounded appealing to me to introduce into my device.
As a relatively young Japanese speaker, can confirm, it can be either bad or good in context as slang. The comparison to English “wicked” makes sense - could be like “whoa, that’s really uncool/dangerous/awful” or it could mean “whoa, that’s amazing! Sick!” Probably library author is going for the latter!
From what I understand, a more direct analogue to "danger" is "abunai". The word "yabai" almost seems to be usable as a generic intensifier, like many English speakers might use the s-word. (I'm extremely far from fluent, though, so take my observations with a pile of salt.)
Been using Rectangle pretty much as long as I've had my 14" M1 Pro - excellent FOSS that holds up extremely well against paid alternatives! Little to no customization necessary for a very well-executed window management experience. I did change one or two of the shortcuts to be one-handed (namely Restore window, to CTRL+OPT+R), but overall the shortcuts seem really well thought out.
I might have to grab the Pro version because they really deserve the support.
I like it so much that I wish I had the same muscle-memory for similar shortcuts on Windows (I believe PowerToys FancyZones can be set up to snap a window to a given zone or zones with hotkeys, but it's not something I've dug into yet).
It's amazing, makes MacOS usable when using big displays, I tried to use Yabai on my work macbook but couldn't install it due to SIP and work environment restrictions
Rectangle and Spectacle before it are really great for managing window placement and sizing. I wouldn't use a mac without it.
But I don't use a mac anymore. I use linux desktops and there's just nothing quite like Rectangle. For a long while, I used a tweaked fork of pygrid. These days I use wayland compositors and don't have a good option. I've been meaning to hack something together to work with floating windows on Hyprland but I never get around to it.
Someday I'd like to write something that does placement and sizing like Rectangle but snaps adjacent window edges together. Like if I have a bottom left window that's 1/3rd screen width and assign a new window to bottom right 1/3rd width, the bottom left would get resized to 2/3rd wide to fill the void. If I place a new window at bottom middle 1/3rd, the bottom left would get resized back to 1/3rd. If I resized bottom middle to 1/2 width, then the bottom left and right would each be resized to 1/4 width.
Hyprland has a plugin system that I believe would let me do this (someone has created an i3-like tiling plugin) but I don't have the skills or motivation to learn c++.
I still just use Spectacle. Still works, has never in years given me any trouble whatsoever—zero jank, never crashes, just works—so haven’t bothered to switch. Being able to get its behavior with same key-combos on any other OS I might seriously use, with similar perfect levels of stability and reliability, is now table-stakes for me.
If you’re willing to use GNOME (and, I believe, KDE Plasma) you can set up keybindings that are a reasonable approximation to Rectangle. That’s what I did before i3 or on machines that can’t have i3 for odd reasons.
This is the feature that makes rectangle for me. 95% of my use case is just cycling windows sizes (1/3 - 1/2 - 2/3) snapped to either side of my screen with '[' and ']' as shortcuts. Works wonderfully on both my ultrawide and 13" mba screen.
I miss rectangle the most after switching from macOS to Linux. Ironically I end up using the mouse more on Linux because I haven’t found a similar solution for window sizing keyboard shortcuts.
sway, i3, bswm, awesomewm, so many tiling window managers on Linux that you don't need the mouse for. There's even tiling making it's way into Gnome and KDE with the former having some good extensions and the latter just baking it in and getting better with every release.
One thing I really don't like about rectangle (and maybe MacOS in general) is that you can't easily multi-key hotkeys with regular keys. So for example CMD + Right Arrow + Up Arrow for upper-right tiling. This is simple/trivial with PowerToys on windows. But you can use Karabiner Elements to create a simulation of this using keypress delays. I use Karabiner + BetterTouchTools to accomplish the same functionality since I'm already running it for other reasons.
Doesn't this always force delays? If I have CMD + Right Arrow assigned to some other function, the system will have to wait to make sure the Up Arrow isn't coming soon before dispatching the Right Arrow function. Of course we want the delay short, but that makes the multi-key shortcut less reliable.
I haven't tried it, but the tradeoffs don't sound great to me. Only allowing multiple modifier keys avoids all of these timing issues. You seem to be comfortable with it, but I think most users would trigger a lot of spurious inputs.
It does force delays and your concerns are legitimate. All I will say is that in practice I've never actually noticed any kind of conflict or problem when the delay is on the order of 500ms.
It’s not really an issue. I have one of these hot keys set up and what it does is when I hit ⌘→ it will tile in the right half and when I go to hit ↑ it will then shrink to the upper quarter.
Rectangle makes much more sense to me on Mac than a tiling window manager like yabai. I tried to use it but it just felt kludgy and I went back to Rectangle. Suits my needs just fine.
[0]: https://rectangleapp.com/