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.
This tool reduces my cognitive load.
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.
It has a couple libraries for window management. One is plug and play, the other is lower level. Here is my config for setting up a 2x2 grid: https://github.com/andrewhampton/dotfiles/blob/master/hammer...
Very flexible, my favorite feature is that configs can be written in JS, here's mine: https://gist.github.com/tnajdek/48ea2a2ccac365b91f29
https://github.com/mattr-/slate
Unfortunately, it was declared unmaintained as of a few days ago...
- It's open source + free - Once you install it and learn the keyboard shortcuts you basically can forget it's there because it stays out of your way
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.
This project seems safe, as the UI doesn't show a preview grid you can drag over.
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.
Thanks!
Some other default bindings would be useful.
- hotkey for full screeen window
- hotkey for center screen window
- hotkey for left/right half window
- hotkey for move window to prev/next monitor
- hotkey for resize window by mouse (a la bettertouchtool)
- hotkey for move window by mouse (a la bettertouchtool)
currently i'm using a combination of these to do the following, but i feel its a bit overkill when all i need are what i described above:
- bettertouchtool
- sizeUp
If you want it so badly, why not pay for the ones that exist?
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.)