I can highly recommend kvm[1] for those of you who are interested in tiling window managers for macOS. Another pearl is Amethyst[2]. I've used both of them (and others such as xnomad) extensively for the past 5 years or so and must say that I'm very pleased.
Been using kwm for the past 6 months or so. Amethyst never really clicked for me, and it didn't work very well with multiple spaces, which I am a big user of.
Kwm and khd (kwm does layouting, khd sets up keyboard shortcuts) are not the easiest to configure, and kwm can be extremely complex, but for me it's been the best window manager for Mac OS I've been able to find. I just wish that performance was better, and that it handled corner cases like small dialogs better.
Doesn't hold a candle to the ones available for Linux, but I blame Apple for that more than I blame the developers.
I've used Amethyst day-to-day on my work laptop for several months and overall I'm happy with it. It's a bit idiosyncratic, but that's more the fault of Apple for not making it easy to develop such a plugin.
It's strange that a company focused on good design and ease of use is beholden to ancient window management traditions such as manually dragging every single window into the dimensions you want. When you open and close terminal windows to various servers dozens of times a day, need a window open on the side with a site showing documentation on this or that, it just doesn't make sense to waste time doing something that could be automated.
Funny that you mention 'ancient window management'. Tiling window managers are basically a continuation of terminal muxing and are thus more ancient than stacking window managers. Personally, I think going hybrid (stacking window management + spectacle/magnet.me) is the way to go. Best of both worlds :)
Fair point about my word choice. I just think we can do better is what I mean. I think I agree with you, but I'd need to see it in action. Currently I just use workspaces for whatever I'd use stacking for.
There's also spectacle (https://www.spectacleapp.com/), however this seems worth trying out, especially due to the ease of remembering the layout config shortcuts
Came here to recommend spectacle too. I basically only use the keyboard shortcuts to send windows to the left half, or right half of the screen. If you hit them again it does 2/3rds or 1/3rds of that side of the screen which is helpful on lower resolutions. That pretty much covers me for window management.
Author here. I actually started this project after buying Divvy. Divvy has many more features but I could never set it up just right. In particular I found no way to use the grid feature without the mouse (other than assigning shortcuts to pre-defined layouts). So I scratched my own itch and created Keypad Layout as a simple no-frills replacement that works exactly the way I want it to.
I own Magnet, Moom, Cinch and a few others. I always end up abandoning because the powerful keyboard features get in the way when you're in an actual workflow, and the basic ones make me reach for the mouse.
Yes, I ended up using pre-defined shortcuts for common areas. It seemed like a massive downer after paying money for it, but in the end covered 95% of my use-cases acceptably.
I have a 4k monitor and Divvy is a godsend for setting up the monitor as a 6x6 grid which I can then split with either the numpad keys or the 2x3 stacked control keys which mirror the layouts.
I use Moom for this, it has a killer feature (for me) that I haven't seen anywhere else, the ability to leave n pixels between windows, and between windows and the edge of the screen.
This looks great, definitely going to give it a whirl.
I have to use a Windows 7 PC for work (proprietary software for a laser cutter) and have AutoHotKey running about 30 customer keyboard shortcuts, so when I get home to my Linux and Mac laptops I that I use for casual computer use I struggle to remember key combos for window management. Moom looks like it solves that problem by novel use of existing window manipulation buttons.
I use option+shift+a/d for left/right snapping and option+shift+e for full screen, all mapped in BetterTouchTool. But I do feel I need more flexibility for corner and horizontal snaps. Anyone got ideas how to do it better (I do not have numpad)?
Phoenix is programmed in JS, it seems faster for me, has fewer features. (But what you want is there.)
Hammerspoon is programmed in Lua, it's slower (to start up at least), and it has more features. (I've got a "vi normal mode" config after Karabiner doesn't work with macOS Sierra.)
[1] https://koekeishiya.github.io/kwm/
[2] https://github.com/ianyh/Amethyst