The PR for those curious:
For those who haven't used ChunkWM, the closest corollary in Linux is BSPWM. Just like BSPWM, the window manager is a standalone daemon that exclusively handles tiling and window management, and relies on an external hotkey daemon to issue commands to the WM that resize, focus, etc.
Obviously this requires a lot of configuration - if you like the tiling WM idea but don't want to maintain a few hundred lines of config files, I'd highly recommend looking at Amethyst.
If chunkwm seems like a lot and you still want to try out a tiling window manager, I'd recommend Amethyst simply for the lower barrier to entry.
Why oh why does every page on the internet need a sticky header? Just give me a document already...
border: 1px solid #404040;
I also pair this with Cinch as I regularly switch between inputs and setups (KB & Mouse at the desk, neither on the go) and like to have flexibility with both keyboard and mouse/trackpad control.
The key value-add of Cinch for me is replicating Windows-style 'drag-to-top' for fullscreen, and 'drag-to-side' for half-screen window adjustments.
In short, Spectacle for fine-tuned keyboard controlled window management, and Cinch for mouse/trackpad.
For anyone who uses a Mac, and has used this - how is it? It looks really cool, but I'm concerned about speed/stability. I used Magnet (http://magnet.crowdcafe.com/) when I had a Mac, because the lack of any sort of tiling or snapping annoyed me, but it was slow and felt very much like a third-party add-on and a hack.
Tiling is the complete opposite: keyboard based. I've had fine experiences with both the gestures and tiling, and I find that macOS is easier to use for graphic design, while sway is easier to use for coding.
I think amethyst and chunkwm are both a little clunky, but that's too be expected. I'm wondering which does HN prefer?
The only thing that keeps me from running Mac as my main machine is that I don't have i3 on mac. (My main systems all run archlinux w/ a heavily customized i3 tiling window manager.)
I'll definitely be looking into this.
HHTWM also persists state between reloads, something that chunkwm didn't do last time I checked.
It is based of http://www.brain-dump.org/projects/dwm-win32/ with my patches.
I am unsure why do you think Linux has more options? How did you count them?
I love the idea of chunkwm, but I don't have a lot of spare time.
I have been using it for about 2 years now.
I'd guess that a lot of macOS users don't care much since the pointer inputs (touchpads, magic trackpad) are really quite nice on Apple hardware. On the other hand, I definitely started using tiling WMs because the trackpads on my Linux laptops were always absolute garbage in the mid-2000s and early 2010s. The first time I used a Macbook touchpad I understood why so many people fell in love with those devices - especially back then, the touchpads felt magic compared to the crap being put out by every other PC manufacturer.
I personally use SizeUp instead of Moom, because I was used to using the keyboard and Moom's initial focus on a GUI threw me off. I only discovered later that Moom of course also supports shortcuts.
Some of my other additions:
- Karabiner-Elements, to swap Fn and Ctrl on the macbook's keyboard. I require Ctrl as my corner key!
- Witch, an alternative task switcher (alt-tab), which supports selecting individual app windows (macOS's distinction drives me nuts). Unfortunately it occasionally lags, so I'm iffy about it.
On all my linux systems, I have a separate Mod4 modifier that is exclusively used for key bindings that my window manager interprets.
On Mac, there's control, option/alt, and command, but various programs use various subsets of them, so none of them is available for me to completely commandeer.
Karabiner(-Elements) lets you convert a key to be a cmd-control-shift-option modifier, and I might just end up doing that, but whatever key you choose probably isn't going to be under my left thumb like my muscle memory wants.
For hammerspoon what I ended up doing is making modal keymaps, but modal keymaps are really different from how I handle it on my other systems, so it hasn't stuck yet.
it just works