I was thinking I was going to read about some crazy hack utilizing one of the layouts or something (it's early), but it turns out the author has just discovered the awesome (no pun intended) that is tiling WMs.
If you'd like to journey down this road and do not want the large ghci dependency look into dwm (http://dwm.suckless.org/) (~28KB binary), wmii or awesome.
StumpWM is another one for you lispers out there. Tiling WMs are indeed awesome. However, some applications just don't play nice with them - if you use one of these apps frequently, you will have problems and probably end up switching to something else (Enlightenment in my case).
I'd be interested in knowing what programs you've had trouble with? In Awesome, you can switch your layout to a floating-based one (oddly default without some rc tweaking) and get around most issues these programs face. Or just switch it to a full screen-based layout :)
Anywho, figured some examples might give others' a heads up before devoting hours and mind share to trying it out.
Java (at least swing) apps behave oddly, by which I mean they show up as grey boxes. According to the xmonad faq, the problem is that Java uses a hardcoded list of wm's (rather than properly responding to wm events) which does not contain xmonad.
There are two things that set StumpWM apart from the others I've tried, like dwm and xmonad. First, you can name desktops. I find this very handy for quickly switching; I don't have to remember that desktop 5 is where my tests are running. Second, there aren't preset tiling algorithms, but rather it works like emacs - split a window horizontally or vertically, and then resize. I find it easier for the limited amount of splitting I do than cycling through layouts.
I've been using AwesomeWM in Ubuntu 10.04 since pretty much the day Ubuntu 10.04 came out. My hesitancy with Ubuntu always lay in a good browser (I'm a web developer), but with Chrome/Firefox as good as they are, I didn't really have an excuse anymore.
I used to be a Mac/TextMate zealot (Rubyist, go figure), and have wholly switched over to AwesomeWM, Vim, and a host of other open source tools and will never look back. I just feel like an incapable two year old with a messy desk trying to work in a floating WM like OS X/Windows now.
If you want to try AwesomeWM, but don't want to risk going crazy from setting up xinit scripts or scrapping all that vanilla Gnome install gives you, follow this wiki article and it'll side side-by-side in Gnome: http://awesome.naquadah.org/wiki/Quickly_Setting_up_Awesome_...
I get NetworkManager support, audio support, bluetooth, and battery life all out of the box. As long as you're not a purist about what's running in your WM and what's not, this setup works great with little risk/time investment.
It's not a tiling WM, but augments the standard OS X window management keyboard shortcuts with grid stuff, and doesn't have any odd side effects with GUI apps.
Personally I think OS X and its app population comfortably swing the overall usability balance vs desktop Linux so I won't follow your footsteps :-)
I've seen and tried sizeup before I made the switch, and though I feel that it's a great application and a great step towards a middle ground for tiling, it is most definitely not the same thing.
Being able to have windows automatically be positioned is key to the tiling wm, I feel. It allows you to have a layout work as you'd expect without fumbling or thinking about it.
I do agree about the inaccessibility of desktop Linux (though it seems to be getting so much better these days!). A previous co-worker of mine uses AwesomeWM every day inside of a VMWare instance with Mac hotkeys disabled and loves doing that. Might want to give that a shot if you like what SizeUp gives you.
I really begin to like suckless (and tried wmii in the past)! I don't think that's about the fact that I discovered the awesome (ahah) of tiling WMs but about the fact that:
1) it creates an isolation bubble in the middle of my current WM/setup.
2) I'm now way better at using Vim than I was back in the days.
3) while hacking (a little) XMonad (or dwm or awesome or...), one can quickly create a light IDE to work in, just adding the very few missing features to my "no mouse, Vim centric" development environment.
(Did I mentioned I can't bother using Eclipse/Netbeans/VS? Now I did.)
But I still need a classic WM for some tasks (unfortunately).
> If you'd like to journey down this road and do not want the large ghci dependency look into dwm (http://dwm.suckless.org/) (~28KB binary), wmii or awesome.
If you don't like the GHC dependency, then install xmonad & GHC, customize Xmonad to your liking, and then compile your xmonad.hs to a static binary (in the same way you would any other Haskell program). There, now you don't need GHC anymore and can remove it.
(What's that? You lose the ability to customize/recompile your xmonad.hs? But this is exactly true if you replace 'dwm' for 'xmonad' and 'gcc' for 'ghc'. And I'm not sure how one would make a static awesome binary, because of the Lua stuff.)
One note - many gnome based linux distros now use NetworkManager for providing wireless access which does not work once you move to a different window manager like XMonad. So read up on wpa_supplicant and XMonad bindings before you nuke gnome and install xmonad.
What makes you think that? NetworkManager is independent of the UI, it has a command-line client, too. And you can even run the Gnome NM applet in any panel-thingy/dock that implements the right spec, I believe it's EWMH. I have it in stalonetray (http://stalonetray.sourceforge.net) under OpenBox, it also works under XMonad.
That's completely wrong (and never was right). NetworkManager is a system-wide deamon and it's user interface is pretty much just a single applet, which you can run absolutely anywhere. There is also a CLI now (nmcli).
(I've been using xmonad and NM on my laptop since xmonad 0.3 or something like that, which should be 3 years now, wow.)
I was comparing it with wpa_supplicant, which if you setup runs automatically at bootup independent of which window manager you use, or if you even use X11. On the other hand at least in ubuntu and debian, installing XMonad and choosing it at gdm means that NetworkManager does not bring up the wireless.
NM 0.8 allows you to make a connection system-wide, so it is not dependent on the nm-applet running (it writes keys in /etc, otherwise, wireless passwords are stored in user's keyring) and it connects to that network whenever it's available. (It's the same with wired ethernet connections, they are also managed with NM, yet you don't need nm-applet, when you plug the cable in, there's a system Eth profile, which just runs DHCP query and connects you; only if you wanted a static IP or some other different setting, you'd have to make your own connection profile or change the system-wide one).
24 comments
[ 4.2 ms ] story [ 42.7 ms ] threadIf you'd like to journey down this road and do not want the large ghci dependency look into dwm (http://dwm.suckless.org/) (~28KB binary), wmii or awesome.
Anywho, figured some examples might give others' a heads up before devoting hours and mind share to trying it out.
http://www.haskell.org/haskellwiki/Xmonad/Frequently_asked_q...
Even with the suggested fix, Java still has some focus issues.
Xmonad has extensions for naming and renaming workspaces. And I think you over-exaggerate how Stumpwm/ratpoison tiling differs from Xmonad.
I used to be a Mac/TextMate zealot (Rubyist, go figure), and have wholly switched over to AwesomeWM, Vim, and a host of other open source tools and will never look back. I just feel like an incapable two year old with a messy desk trying to work in a floating WM like OS X/Windows now.
If you want to try AwesomeWM, but don't want to risk going crazy from setting up xinit scripts or scrapping all that vanilla Gnome install gives you, follow this wiki article and it'll side side-by-side in Gnome: http://awesome.naquadah.org/wiki/Quickly_Setting_up_Awesome_...
I get NetworkManager support, audio support, bluetooth, and battery life all out of the box. As long as you're not a purist about what's running in your WM and what's not, this setup works great with little risk/time investment.
http://irradiatedsoftware.com/sizeup/
It's not a tiling WM, but augments the standard OS X window management keyboard shortcuts with grid stuff, and doesn't have any odd side effects with GUI apps.
Personally I think OS X and its app population comfortably swing the overall usability balance vs desktop Linux so I won't follow your footsteps :-)
Being able to have windows automatically be positioned is key to the tiling wm, I feel. It allows you to have a layout work as you'd expect without fumbling or thinking about it.
I do agree about the inaccessibility of desktop Linux (though it seems to be getting so much better these days!). A previous co-worker of mine uses AwesomeWM every day inside of a VMWare instance with Mac hotkeys disabled and loves doing that. Might want to give that a shot if you like what SizeUp gives you.
(Did I mentioned I can't bother using Eclipse/Netbeans/VS? Now I did.)
But I still need a classic WM for some tasks (unfortunately).
If you don't like the GHC dependency, then install xmonad & GHC, customize Xmonad to your liking, and then compile your xmonad.hs to a static binary (in the same way you would any other Haskell program). There, now you don't need GHC anymore and can remove it.
(What's that? You lose the ability to customize/recompile your xmonad.hs? But this is exactly true if you replace 'dwm' for 'xmonad' and 'gcc' for 'ghc'. And I'm not sure how one would make a static awesome binary, because of the Lua stuff.)
(I've been using xmonad and NM on my laptop since xmonad 0.3 or something like that, which should be 3 years now, wow.)