I've used Xmonad for a few weeks now and it is simply great: "screen real estate" is never wasted, you get free brain cycles by never doing the nitty-gritty details of window arrangement manually again - you switch high level "layout algorithms" instead that arrange your windows differently.
Are you (like me) an Emacs user? You want to remap the Xmonad modifier-key (default is on left Alt a.k.a. Meta). Here is my solution:
Now I can use Caps Lock as Xmonad modifier key and Ctrl/Meta as I'm used to for Emacs (note that I have a PC 102 keyboard - if you have a keyboard with "Windows"-key you might use this key as modifier key instead and perhaps remap Caps Lock as your Control key...).
I have a laptop with no windows key and am forced to use stumpwm because of the awkward positioning I have to use if it were bound to caps lock as alt is needed for emacs
stumpwm isn't bad though just xmonad is really nice when you have a decent modifier key available.
It should be pointed out, however, that while Windows 1.0 might have been a tiling WM it doesn't come even vaguely close to the depth of features and attention to detail put into xmonad (and some of it's competitors).
It was my understanding that overlapping windows was a "cool hack" that the developers implemented for fun. Then the marketing people decided to include that "feature" in the final version... and here we are today.
If you use tiled window managers, and haven't used Xmonad before, I highly recommend it. It's very lightweight, fast, non-buggy, and has a perfect (for me at least) little feature set.
Many kudos to dons for creating an awesome twm, but I don't think it's a good investment of time for the HN userbase (i.e., the young start-ups who just want to get their thing working and up, whatever be that 'thing'). Xmonad is hard to configure and set up, and hard to work with. I'd rather stick with gnome and have everything Just Work.
Many kudos to Linux for creating an awesome DOS 6.2, but I don't think it's a good investment of time for the HN userbase. Linux is hard to configure and set up, and hard to work with. I'd rather stick with Windows and have everything Just Work.
Yeah, this comment is kind of like that. Most "modern" windowmanagers are much more about making the desktop pretty than making it usable. Me, I'm happily still running fvwm2 (though I use XMonad every once in a while), and not only does it not waste cycles on things I'm not looking at, it is configurable quickly and easily to an extent that the mainstream Gnome WMs have a hard time touching. XMonad takes that a step further by allowing configuration directly in Haskell (in my perfect world fvwm2 would use guile, but I'm not really complaining).
When you want to improve your efficiency at repetitive tasks or basic interactions with your computer, dropping relatively simple "Just Work" solutions in favor of more flexible options makes complete sense. Arguing against a meager time investment to make your UI yours strikes me as rather wrongheaded.
It's true. Eating is a waste of time, sleeping is a waste of time, interacting with other people is a waste of time, posting to HN is a waste of time, talking about things that are a waste of time is a waste of time, wasting time is a waste of time. Your startup is, statistically, probably a waste of time. But we do it anyway.
I have spent a bit of time configuring Xmonad, but the configuration has lasted me for 2+ years and has saved me an infinite amount of frustration. I used Windows for a while at work, and the constant interaction with the mouse makes my hand hurt. With Xmonad, I never have to use the mouse. (I use it for casual web browsing, and whatnot, but I never need it to do real work.)
I have also wasted a lot of time configuring Emacs -- my .emacs and support files are more than 2000 lines long. But everything I've spent time on has eliminated small bits of frustration during my work (and play), so even if I can't justify the time savings, I can enjoy life more. Since you eventually die, I think it's worth enjoying life.
Xmonad makes my life similarly enjoyable.
The only thing that bothers me about Xmonad is that there is no "instance Monad X" in the source code -- Monad is automatically derived on the X type.
I use conkeror (emacs vimperator, basically). The only program I need a mouse for is a PDF reader. I have tried evince and xv, and would gladly accept a replacement :)
They have lots of example configurations you can just copy. I agree that at first it seems like it's going to be a huge hassle to setup but it's really not that bad after you've done it once.
Personally I find I get increased productivity out of not constantly fiddling with window placement.
Even the default config is reasonable and instantly usable, so this complaint really isn't very valid. You really can just install either distribution or cabal package, run it, and get the work done.
On the other hand, there are things, that really aren't going to work just out of the box and are hard to configure. Xmonad has quite a different behaviour than Gnome, and sometimes different from what usual desktop app expect. It might be necessary to create a specific settings for a single application, sometimes. But that's what makes it beneficial. If it were just another bad copy of metacity or kwin-like window manager, without adequate support of EWMH and stuff like it, which is the case of many and many X11 WMs, then it would be really worthless.
I agree here. I set up a new machine the other day and had the default xmonad config for a while. It works fine; it is not significantly different from my super-custom configuration. It was certainly better than a window manager where you have to drag things around to see all your windows.
> They have lots of example configurations you can just copy.
Sure, you can do that. But then you also have to take the time to understand THAT config (which, isn't even optimized for _YOU_, to begin with) and get USED to that . . .
>I agree that at first it seems like it's going to be a huge hassle to setup but it's really not that bad after you've done it once. You also have to invest time in understanding how the config goes, and have a bit of experience with Haskell, and Xmonad itself, to even create a config that really is good for you.
Maybe twm is something for me, maybe it isn't. I really don't know - because I only gave it one try, and quickly gave up (because I was having some problems with it, and wasn't willing at that time to set aside time to resolve those problems).
Wow, strange moderation. I bumped you up to +2 earlier in the day (as I appreciate your contribution), but now you are back to 1. I can't believe someone would downmod this comment; you aren't even arguing about anything, you are just sharing your config.
Very clean config. You should share that with the Wiki if you haven't already. (Yeah, it's simple, but it seems many people don't think a simple configuration can be useful.)
I was a long term ion user and contributed code over several years to the project before switching to xmonad.
As I remember it, with ion you basically created your own layout manually. You'd make horizontal or vertical splits to divide up your workspace and then manually move windows around in to the resulting frames. It worked brilliantly: with a few keystrokes you could get exactly the windows you wanted in the order you wanted.
xmonad manages the layout for you, you don't have to do it manually. This means that when you create a new window xmonad automatically creates a new frame for it. To contrast, ion would add the window as a new tab of the current frame. If you wanted a new frame in ion then you'd have to create it.
The automatic layouts of xmonad are what make it so interesting, but you do need to spend some time getting them set up for the way you work. xmonad is without a doubt the most customisable window manager ever (which is both a blessing and a curse).
xmonad also works much better with other software than ion. This is a reflection of the developers behind each window manager. The ion developer had very strong opinions about everything and told anything he didn't like (like anti-aliased fonts, automake, GNOME, etc.) to f'ck off. The xmonad team are super-friendly and play well with others. xmonad has great GNOME support, for example.
I think I still prefer ion's way of working, but I strongly suspect that it's possible to duplicate it in xmonad, I just haven't done it yet. Maybe now that 0.9 is out I'll review my xmonad configuration.
I've been using awesome for about a year now, and never had it crash. Xmonad, however, while never crashing, would cause my Xorg process to eventually use all available RAM after several days of use without restarting.
Yeah, I have played with Awesome recently and it is not nearly as flaky anymore. I still enjoy xmonad's test suite, however. Software that ships with a test suite tends to be more reliable than software that doesn't have tests.
(Example of software without a test suite: Emacs. No tests anywhere; not for the byte compiler, not for the memory allocator, nowhere. I am amazed it works at all.)
xmonad is pretty cool, it uses quickcheck for (almost) exhaustive testing of every basic element of the manager, and as I understand it the process of programming new tiling layouts etc is pretty easy.
I'm looking at it from a distance, trying to find some free time to play. A couple of questions:
1. They mention "Gnome compatibility" and "KDE compatibility" on their page. Why? I thought this window manager is supposed to be used instead of gnome/KDE, no?
2. On some screenshots you can clearly see overlapping windows, i.e. not all of them are always tiled?
> 1. They mention "Gnome compatibility" and "KDE compatibility" on their page. Why? I thought this window manager is supposed to be used instead of gnome/KDE, no?
You can do that if you want to, and most choose to. But there's good reason to not to:
I, for example, prefer not to spend a couple hours setting up dzen or xmobar in all their multifarious complexity & ability, getting the features right, setting up the colors to match my current GTK theme, etc. when I could just continue to use Gnome status-bar. (Gnome may have its issues, but I have no problem with the status bar.)
Not to mention that running inside a Gnome session means you get a decent window manager, but also you get all the stuff Gnome usually does like printer support or device management. You could figure out how to do that independent of Gnome, but I don't consider that a good use of time.
> 2. On some screenshots you can clearly see overlapping windows, i.e. not all of them are always tiled?
You mean the floating layer? Windows are either tiled, or floating; floating is for things like Firefox dialogues which don't make sense to push into the tiled arrangement.
Gnome and KDE has their own window managers, namely Metacity and KWin. These can be replaced by other window managers, like Xmonad, and you can still use the Gnome/KDE infrastructure and utilities just as nicely.
For point 2, you can set a given window (or the layout for the current screen) to floating, which is the only behavior available in many conventional WMs. Some programs (most notably, the gimp) are very annoying to use in a tiled layout, so this is an easy way to accommodate them.
.
It's one of the reasons I'm switching back to Linux (from OS X) with my next computer purchase. Xmonad controlling my X-apps and the native OS X window manager controlling everything else is just unpleasant.
Yes, I'd totally do that (at-least use my Linux partition) if a) the experience of running Linux on a MacBook was a little smoother (I've just bought a new one and I kind of like Apples hardware) and b) I wasn't dependent on PhotoShop et al.
My current setup works good enough for now though; I'm pretty much working in "modes"; stay pretty focused on isolated tasks (either designing stuff in PhotoShop and Illustrator, watching a movie or coding in vim and running tests in a terminal .. alas, I have to switch to a browser to check stuff every once in a while).
Really? I do all my work at work through VMWare to a Linux image. I honestly wouldn't know that I'm not sitting at a Linux box save for the little border at the top of the VMWare console. Performance is the same.
I hear when you go the other way, Windows windows appear as windows on your Linux desktop. Sounds cool.
I'd be much more excited about getting a MBP if I could replace the window manager part of it with a tiling window manager, like can be done with gnome/kde.
Are you (like me) an Emacs user? You want to remap the Xmonad modifier-key (default is on left Alt a.k.a. Meta). Here is my solution:
taken from my ~/.xsession file - this remaps the "Caps Lock" key as a "Mod3 key".My ~/.xmonad/xmonad.hs looks like this:
Now I can use Caps Lock as Xmonad modifier key and Ctrl/Meta as I'm used to for Emacs (note that I have a PC 102 keyboard - if you have a keyboard with "Windows"-key you might use this key as modifier key instead and perhaps remap Caps Lock as your Control key...).