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.
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++.