... and that makes it completely useless, sadly =(
I would love to have a tiling WM for MacOS X, but it seems impossible (unless Apple suddenly makes one themselves =).
Yes, I tried it, but gave up after a few days: it provides nothing that manual tiling doesn't (I have a background with a spot in the center, helps tiling 4 terminal windows).
I'm working on an app to make window management as easy as possible: http://windowflow.com
It's about to relaunch with a significantly improved UI and more flexible tiling methods, so check back in a week if you don't like what you see now. Any feedback is appreciated.
What's truly sad is that with the size of the screens on the newer desktop machines, a tiling WM would have a lot of room (literally) to shine. With OSX's standard window management, I end up having to do a lot of manual fiddling to get my windows to the point where they're simultaneously large enough to be useful, while not so large that they overwhelm my visual field. That little green button in the upper left corner really doesn't do what I'd want it to do on a 27" screen when I'm sitting just a couple feet away from it.
If the effect of the little green button is to fill your screen with the window, complain to the application developer. It's supposed to go to a useful size. (Finder and Safari are examples of good implementations, though Safari's is slightly glitchy.)
I switched back to Linux last month after 5 years of OS X usage and XMonad was one of the main reasons.
Now, whenever I try using OS X on my 13 inch MBP again, the WM makes it feel really unproductive. Once I have few apps opened moving around is slow. Exposé and Spaces don't help much. It feels like going back to whatever good IDE from Emacs or Vim, not very fun.
In contrast, with a tiling manager, even small screens are bearable. I really recommend giving it a shot. Of course not everyone likes it, but I'd say it's not particularly unfriendly. Bindings are very simple. Setup is mostly straightforward.
dwm is good, too. Sure, C isn't the greatest thing for exploratory programming, but configuring it isn't hard. (One of these days I might really learn X programming and do a tiled WM configured with Lua, but I've got too many projects already.)
wmii is also good, and once you get used to using libixp, you can script it in anything. I found wmii's named tabs interfered with muscle memory, though.
I used XMonad for a bit, but GHC is a hell of a dependency, and for a while there were problems getting any version newer than 6.6 to build on FreeBSD and OpenBSD. That's a dealbreaker for me.
Having used OpenBSD as a desktop for a bit, I realized, after waiting 24 hours for Amarok to build, that it is not a desktop OS. It's for your router. Use Linux for your desktop, it's just easier.
First off: Use binary packages. The ports tree is for porters and people running snapshots or CVS head. (Also: Definitely use binary packages if you're installing something that depends on KDE, or you'll be building KDE from source as a dependency.)
My "desktop" is emacs, dwm, tmux, and firefox, so that hasn't really been an issue for me. The OpenBSD minimalism is very much my style. (I use mpd for music, by the way.) It makes a killer router too, though.
I've tried going back to Linux a couple times, just to see what new developments (and ports, etc.) I've been missing since I spend most of my time on BSD. (I used Debian for a couple years, then mainly OpenBSD for the last six or seven.) I've gotten really used to OpenBSD, though, and every Linux distro I've tried hasn't stuck around for more than a day or two.
My Linux setup is like this, but it's nice to have the "long tail" readily available. Stuff like SBCL and GHC are a pain to manually compile (or get from ports), and this leads to a cycle where since there's no GHC, there's no GHC. Compare to Debian where the latest version is almost always available, and so building $latest + 1 is trivial.
I know where you're coming from - trying to update a common lisp port years ago got me into porting stuff. I'm happiest with OpenBSD, and I've done a fair bit of porting. (Not everything made it into the tree, though.) These days I'm a bit wary of depending too much on anything I can't bootstrap.
I don't like Awesome. I've been using Lua for a while, and something about the way the Lua stuff is set up doesn't sit right with me. I can't rattle off any examples off the top of my head (it's been a while since I checked it out), but, I tried it, not my thing. (Also, taking a BSD codebase and making it GPL'd and bloated tends to piss me off.)
You could also check out Ion. The development has stopped and the webpages pulled, but there seems to be two forks (notion and anion3) that are in progress.
I liked aewm, blackbox, dwm, ratpoison, and XMonad the most, FWIW. While I really like the keyboard-centric UI in ion and ratpoison, I think the layout/tile interface style used by dwm, XMonad, etc. gracefully accommodates programs that have too many windows or just blatantly break ICCCM, while ion and ratpoison don't even try.
I use pwm (precursor to ion) since I configured it years ago and it has served me well since then. One benefit of using such an old wm is speed; it does so little that it is blazingly fast on a modern computer. If I were to switch, it would probably be to ion or xmonad.
After casually trying AwesomeWM on my mac for a short while, I decided to try to make XMonad as usable as possible under OSX without writing any HOC code. It's been an incremental process, but at point I'd call my setup _more_ than adequate. One of these day's I'm either going to update the OSX/Xmonad wiki page with my method with all of the scripts and configurations I am using under the hood... In my opinion, much of the magic of integrating X11/Xmonad with aqua involves 'capturing' key combinations (on the Xmonad side), determining how to respond, then either responding directly or emitting the correct keystrokes using xdotool (http://www.semicomplete.com/projects/xdotool/).
For example, I let xmonad capture the keysequence <Command-Tab>. Xmonad keeps track of the MRU-like window list and switches to it. If it is another window in the current workspace, xmonad can switch to it unassisted. If a 'switch' would involve switching to an aqua application, xmonad then uses xdotool to emit the <Command-Option-A> + <Command-Tab> key sequence (popping out of X11).
21 comments
[ 2.2 ms ] story [ 43.9 ms ] threadsize up is worth a look, but it's not quite the same if you're used to Xmonad, that's for sure.
It's about to relaunch with a significantly improved UI and more flexible tiling methods, so check back in a week if you don't like what you see now. Any feedback is appreciated.
Now, whenever I try using OS X on my 13 inch MBP again, the WM makes it feel really unproductive. Once I have few apps opened moving around is slow. Exposé and Spaces don't help much. It feels like going back to whatever good IDE from Emacs or Vim, not very fun.
In contrast, with a tiling manager, even small screens are bearable. I really recommend giving it a shot. Of course not everyone likes it, but I'd say it's not particularly unfriendly. Bindings are very simple. Setup is mostly straightforward.
In the same boat -- 6 years OSX, installed Lucid RC on 13 inch MBP recently -- so far no intention of going back.
wmii is also good, and once you get used to using libixp, you can script it in anything. I found wmii's named tabs interfered with muscle memory, though.
I used XMonad for a bit, but GHC is a hell of a dependency, and for a while there were problems getting any version newer than 6.6 to build on FreeBSD and OpenBSD. That's a dealbreaker for me.
My "desktop" is emacs, dwm, tmux, and firefox, so that hasn't really been an issue for me. The OpenBSD minimalism is very much my style. (I use mpd for music, by the way.) It makes a killer router too, though.
I've tried going back to Linux a couple times, just to see what new developments (and ports, etc.) I've been missing since I spend most of my time on BSD. (I used Debian for a couple years, then mainly OpenBSD for the last six or seven.) I've gotten really used to OpenBSD, though, and every Linux distro I've tried hasn't stuck around for more than a day or two.
This has already been done. It's called awesomeWM and it is exactly as good as its name indicates.
I liked aewm, blackbox, dwm, ratpoison, and XMonad the most, FWIW. While I really like the keyboard-centric UI in ion and ratpoison, I think the layout/tile interface style used by dwm, XMonad, etc. gracefully accommodates programs that have too many windows or just blatantly break ICCCM, while ion and ratpoison don't even try.
I use pwm (precursor to ion) since I configured it years ago and it has served me well since then. One benefit of using such an old wm is speed; it does so little that it is blazingly fast on a modern computer. If I were to switch, it would probably be to ion or xmonad.
For example, I let xmonad capture the keysequence <Command-Tab>. Xmonad keeps track of the MRU-like window list and switches to it. If it is another window in the current workspace, xmonad can switch to it unassisted. If a 'switch' would involve switching to an aqua application, xmonad then uses xdotool to emit the <Command-Option-A> + <Command-Tab> key sequence (popping out of X11).