top | item 4059820

Customizing the Mac to behave like Xmonad

122 points| liangzan | 14 years ago |blog.liangzan.net | reply

81 comments

order
[+] pudquick|14 years ago|reply
I see you found SizeUp. That's also my application of choice. But it doesn't look like you did a lot of research into the available choices, or at least didn't bother listing them. Here's but a handful, for others who are interested:

ShiftIt: https://github.com/fikovnik/ShiftIt

TileWindows: http://www.carsten-mielke.com/tilewindows.html

Mercury Mover: http://www.heliumfoot.com/mercurymover/

... Or if you like mouse control of window placement:

MondoMouse: http://www.atomicbird.com/mondomouse

Zooom/2: http://coderage-software.com/zooom/index_green/index.html

Cinch: http://www.irradiatedsoftware.com/cinch/

... Or if you like a bit of both keyboard and mouse:

Optimal Layout: http://most-advantageous.com/optimal-layout/

Arrange: http://www.trifle.pl/arrange.html

Divvy: http://mizage.com/divvy/

BetterTouchTool and BetterSnapTool: http://blog.boastr.net/

Flexiglass: http://www.nulana.com/flexiglass

Moom: http://manytricks.com/moom/

And throwing this one in to just show that it can get exotic:

http://infinite-labs.net/afloat/

.... I could go on. OS X does not lack for people who disagree with Apple's idea of window management. There's lots of tools out there, if you just look for them :)

[+] zmmz|14 years ago|reply
I will also add that with many of these "window managers" you get the terribly annoying behaviour of one window's shadow disturbing the content of its neighbours.

Just yesterday I found ShadowKiller[1] that removes window shadows for all OSX windows, making it feel even more like a true tiling window manager.

[1]:http://unsanity.com/haxies/shadowkiller

[+] technosmurf|14 years ago|reply
ShiftIt is great because it's an open source version of many of the other app suggestions you list!

The public 1.5 versions on GitHub are missing one important feature: pushing the current window to a second monitor. This is available on the 1.6 branch. I couldn't get it to build with Xcode on OS X Lion, but the author has a very stable 1.6 binary available for download:

https://github.com/fikovnik/ShiftIt/issues/72#issuecomment-3...

[+] lloeki|14 years ago|reply
You're missing Window Magnet (fits in the "both" case)
[+] pimeys|14 years ago|reply
I use Arch + Xmonad at work and I simply love it as the OP does. Sometimes I need to work from home and I don't want to keep two laptops here, so I need to use my old 2008 unibody Macbook.

Working in OSX with Vim and console is painful after the Linux experience. Installing lots of utilities might help, but I chose to install Ubuntu with Xmonad and after couple of hours I had my favorite environment ready for productive work.

I know that the support for newer Apple technologies is not so good in Linux, so when this old laptop finally dies I need to buy a new one from some other manufacturer.

[+] josephkern|14 years ago|reply
Thinkpad. Great build quality, Linux friendly.
[+] moe|14 years ago|reply
I haven't used XMonad but I've been a heavy ion3 user for many years.

Last I checked none of the available bolt-ons (including Sizeup which the author proposes) would come anywhere near a true tiling WM.

The only candidate that would even try to automatically tile windows was TylerWM - but that was buggy as hell. All the others only act on keyboard-shortcuts, which largely defeats the purpose.

I'd happily pay $200+ for ion3 as a native OSX WM. The OSX window manager is just absurdly terrible.

[+] pyre|14 years ago|reply
He did seem to imply that his usage of Xmonad was 1 app per workspace, which isn't really 'tiling' per se.
[+] lubutu|14 years ago|reply
A slight tangent, but dmenu-4.5 uses token matching, which allows you to search somewhat fuzzily: "foo rb" will match "foobarbaz". How it looks compared to Alfred and co. is a matter of one's aesthetic...

Disclosure: I'm a dmenu developer.

[+] mwyvern|14 years ago|reply
I've always wondered -- is it suckless as in suck less than something else, or as in without suck?
[+] tyler_ball|14 years ago|reply
Tyler WM (http://www.tylerwm.com/) shows a lot of promise. It's a pretty good 1.0 but there are some edge cases that still prevent me from using it full time.
[+] tomlu|14 years ago|reply
To chime in here, IMO what sets Tyler apart is that it takes control of a window as soon as it is created, whereas AFAIK all other offerings leave the windows alone until you use keyboard commands to resize them.

It is indeed promising, but like you I cannot recommend it to anyone until they have fixed several critical bugs.

[+] DannyPage|14 years ago|reply
It depends on what mouse or touchpad you have, but I find that I don't even use Command-Tab anymore. It lacks the precision of getting to exactly the right window. Launching Mission Control via touch allows me to switch to the window I need much faster.

I hear you on the maximizing thing; I ended up finding a program called Shift (http://shift-it.en.softonic.com/mac) works very well to maximize, snap a window to just the left or right half of the screen, etc. Hope that helps!

[+] duaneb|14 years ago|reply
How do you navigate Mission Control without touching the mouse? Surely it can't be easier than cmd-tab.
[+] stevengg|14 years ago|reply
why not just run arch on your mac laptop?
[+] psadauskas|14 years ago|reply
No thunderbolt support, for one, so you can't use the beautiful 27" external monitor. The nVidia/ATI drivers on Linux aren't nearly as good, either.
[+] liangzan|14 years ago|reply
I did consider, but I bet that the solution would feel like trying to fit a square peg into a round hole. Even if I use Arch Linux, I want to be sure the hardware is working
[+] mwyvern|14 years ago|reply
Comment to the author: use cmd-` while you are command tabbing if you go too far! Similarly useful, hold cmd-tab and it will stop at the end. Also, cmd-esc if you decide not to switch.

I used a 15" MBP for a long time without missing a tiling window manager that much... but the problem was exaggerated when I started using a 27" imac. So I looked around and started using spectacle. Great utility. I use Quicksilver's "open application" custom triggers to get the app switching behavior, so I finally have a use for F15-F19 (on the very left side of my keyboard)! It has made a big difference for me.

One problem I would like to solve is switching between multiple emacsen. I have an 8:00-5:00 job and work on my own stuff after that, and I like to keep my buffer lists separate (so I can't just use multiple frames). Therefore, I open emacs again from the terminal and I wish I could switch between them with quicksilver's shortcut. Alas, quicksilver always brings up the first one. Has anyone dealt with this?

[+] ditoa|14 years ago|reply
You bought a new computer because of a fan error?! You could have got a new fan with next day delivery (so Tuesday in your case) for a hell of a lot less than a new computer and all the time it took you to get OS X setup how you want.

Or do you earn such crazy amounts of money that you made enough money on that Monday to cover the cost of the new Mac and your time configuring it?

[+] shellox|14 years ago|reply
I think his Thinkpad died, because of a fan error. Maybe it overheated or something like that.
[+] julioc|14 years ago|reply
Is there anything like xmonad for Windows?

Edit: found [some options on wikipedia][1], but maybe you have any other sugestions.

[1]: http://en.wikipedia.org/wiki/Tiling_window_manager#3rd_party...

[+] technosmurf|14 years ago|reply
I've had good success with an open source tiling window manager for Windows called HashTWM [1]. I use it inside my Windows XP virtual machine to manage a bunch of hairy situations with multiple windows. I like that it actually does reposition new windows to fit inside the grid, and that I can easily adjust the middle "split" line so that my main window can become thinner or thicker.

Where it falls down is when you deal with modal dialogue windows, like the "Save File As..." window of Firefox, or the "Find and Replace" window of Excel. I haven't found a good way to overcome the issue of those modal windows being hidden, even with the "-i ConsoleWindowClass -i #32770" ignore options. It seems like Firefox, Excel, and Photoshop implement some non-standard ways of opening smaller windows. In these situations, I quit HashTWM, deal with the modal window, and then start HashTWM again (using quick keyboard shortcuts).

[1] https://github.com/ZaneA/HashTWM

[+] gurraman|14 years ago|reply
I'm in a similar situation (hooked on Xmonad, but cannot run Linux). I've tried various solutions over the years, but the only one I've found acceptable so far is a full-screen iTerm2 running tmux.

I use `bind t split-window \; select-layout main-vertical` to emulate Xmonads default layout behaviour.

It works because I spend most of my time in the terminal anyway. I miss having the browser - and the video player when doing repetitive or otherwise boring tasks! - in a pane, but keeping other apps out of the tile-management is fine as I'm, more often than not, switching context anyway.

[+] evangineer|14 years ago|reply
Having made a similar transition a few years ago from a mouseless linux desktop using ruby-wmii on a thinkpad to osx on a macbook, I find ShiftIt works for tiling windows using the keyboard.
[+] bcl|14 years ago|reply
Or you could install Fedora 17 on your Mac and just run xmonad
[+] tilltheis|14 years ago|reply
I haven't used Xmonad myself but with all the talking why hasn't someone ported it to OS X (Cocoa) yet?
[+] ef4|14 years ago|reply
It's not just a question of porting it to cocoa. To really do its job, it needs to take control of every other window. So you need to hack Apple's existing window manager.

FWIW, you can easily compile and run it on OSX, under X. But of course it can't reach out and control any of the native applications.

[+] batista|14 years ago|reply
"Or you could, you know, just use Xmonad" comments considered harmful.

(plus ignorant/simplistic: it's not like everything else related to one's OS use and needs will be the same).