... finally I'm tiling too!Short story: I've just switched to xmonad as my window manager of choice within a Gnome desktop environment; I give some tips on how to achieve that quickly on a current Debian/unstable machine. /me and tiling window managersI switched to Gnome a long time ago. The benefit of that over good old window managers is enjoying an integrated environment and a workplace that you can find on other machines (e.g., the netbook you installed for your mother, the office desktop, the student lab machines, ...). Still, I've never been particularly happy about Gnome's default window manager: metacity. The feature I was missing the most is the ability to configure windows programmatically so that they appear where and how I want by default; sadly enough, the Gnome session mechanism is not yet able to do that properly. Hence, I've tried various time switching to a tiling window manager, imposing the extra requirement that it should integrate with Gnome. The coolest guy on the block of that area seems to be awesome and I gave it a try some months ago. I liked most of its (sometime revolutionary) principles, like window tagging, but I equally hated various aspects of it:
People nowadays tell me that awesome works fine with Gnome, so maybe I've just been unlucky back then, but sometime the first impression does count. I've never considered seriously xmonad, thinking (with no sound reason, apparently) that it was a project of the series: "I'm a fan of programming language $LANG, all my apps should be written in $LANG, my window manager is no exception", with LANG=haskell. Then two things happened:
Getting started with xmonad + Gnome on DebianThere is a page explaining how to use xmonad with Gnome in the xmonad wiki, but a handful of additional tips will help you get started in Debian, even if you know (almost) nothing about Haskell (yet).
The (crazy) way in which xmonad works is that you create your
config file as
The modMask setting means that ALT will get delivered to
applications, while all xmonad commands are delivered via the
infamous windows key: no more conflicts between apps and WM
The default Gnome configuration is quite nice: you can retain
your Nautilus desktop (in spite of what
is written on the wiki), The only glitch is that you will get 9 desktops which can clutter your workspace switched. My solution is to have the appler show workspaces on 2 rows but beware of bug 524065, which is really annoying.
The above example will make the pidgin buddy list and run
application dialog box float by default. The commented line is an
example of how to deliver specific windows to arbitrary workspaces.
To find out window properties on which match in your xmonad.hs, my
magic command is Note that you don't need to care about panel placement because
it is already taken care of by the default gnome config. Still
beware of not using myManageHook as your only management
hook, you should update the default one using the
xmonad rantSo, what's wrong with xmonad + Gnome in Debian? Well, the fact
that it will take about 200 Mb of disk space on amd64 by default.
Why so? Because xmonad is affected by the static linking hell which seems to be shared by modern statically typed functional languages, including in the category both Haskell and my beloved OCaml. In short, applications written for those language link statically code written in the implementation language in most cases; they rely on legacy shared libraries only for bindings to C libraries. For xmonad that means that if you are fine with the default configuration you will get a cheap 2 Mb binary package. If you are not, you will need to write your conffile ... which is a Haskell program ... using several contrib libraries ... and needing ghc6 to be compiled and run as your own window manager executable. This is plainly dumb and induces all the usual problems of static linking, like disk consumption due to non-shared (Haskell) code, and worries about staying up to date with the latest library release in case of fixes (including security fixes) need to be propagated to user executables. Truth to be said, |


... for giving me a reason to waste this beautiful sunny afternoon in front of my netbook to learn all about xmonad's configuration!
I now managed to start it and it's really cool. Before reading this I had just tried running "xmonad" with no prior reading, no configuration and no success, so thanks! I should be working at my assignments at the moment, though...
Matteo
Metacity in itself does not support complex window placement settings, but devilspie was written precisely to that effect. This way you can be a control freak, yet retaining the advantages of metacity.
http://live.gnome.org/DevilsPie
Actually, I was aware of devilspie, having looked at it some years ago. I don't remember why I ditched it back then, possibly because I didn't want to have yet another language to know (or maybe it wasn't working properly back then?) ... dunno, but still devilspie solves just the problem of window configuration.
You retain the fact that you have to place windows by hand (which is the main issue addressed by tiling window managers). Also, you retain metacity's joke compositing manager implementation.
I don't get why the hell GNOME doesn't tile!!!! FFFFFFFFFUUUUUUUUUUU
I'm very angry.