[xmonad] Opinions (skip if you are busy)

Ismael Carnales icarnales at gmail.com
Sun Apr 5 18:53:26 EDT 2009

Sorry, my English is not the best, I'm from Uruguay.

To clarify some things:

 * I've never tried to make this an XMonad vs Awesome thread (I hate the latter)
 * As I explain in my mail I think XMonad is the most useful piece of
software running in my machine :)

What I do say is that Awesome does some things good in aspects that
XMonad could do better:

These are:

 * Being more friendly for customization out of the box: I don't talk
here about changing configuration system or anything like that.
Altough I think it would be good to include 2 or 3 different
functional config.hs (with some common twaks) and an annotated one
maybe saying things like: # for a status bar you can use xmonadDzen or
xmonadXmobar, or look at the modules X, Y .... and other basic things
like UrgencyHook, etc.

 * Publicity/Advertising: Awesome is pure blah, and unluckily its
everywhere. I know that some efforts are being done to improve the
communication in general (Webpage, Blog etc) and I think that we
should help with this, writing beginner-oriented info, and some guides
like the official tour but for the contrib set of modules (that could
go in the main page instead of wiki) and also try to show the world
what XMonad is capable of.

As I said before I offer my help to go in this direction (or the one
that we think could be more appropriate), I've made an effort in the
past to made a tour-a-like of the contribs, it's in here:


The las Pimp your XMonad used part of the document
as a starting-point (yay!) I think that this kind of documents belong
somewere in the homepage, to be really easy to find, and one more
thing .. we need screenshots, lots of screenshots, of simple separated

So feel free to contact me or ask for help in getting some of these
things (or others) done, bye!

On Sun, Apr 5, 2009 at 7:03 PM, Norbert Zeh <nzeh at cs.dal.ca> wrote:
> On Sat, Apr 04, 2009 at 10:38:43PM -0300, Ismael Carnales wrote:
>> Hi, I was bothering some people on IRC and someone suggested me to
>> send my opinions in an email, so here it goes:
> [...]
>> Sorry for the ranting, I'm willing to help in everything that I can, bye!
> In general, I agree that documentation lowers the entry threshold and is
> great for advertising something as awesome as xmonad (pun intended).
> However, since awesome was mentioned here, I feel I have to put a few
> things in perspective.  [This is probably a bit OT.]  As for the reasons
> why people choose awesome or xmonad, they are varied.  The fact that
> xmonad was written in haskell was one of the reasons I switched from
> awesome to xmonad, while it made a friend of mine switch the other way.
> I guess it's a matter of taste.  Here, however, are a few more objective
> comments that make xmonad shine, even as far as documentation is
> concerned, and which were part of the reasons I quickly fell in love
> with xmonad.
> 1) Stability (as in no crashes).  Xmonad never crashed on me, while just
>   before switching, awesome did this about 3 times a day at random.
>   (I found xmonad rather by accident while looking for something that
>   could do what awesome does and is more stable.)
> 2) Stability (as in stable API).  The lua api of awesome seems to change
>   quite frequently without warning, in ways that often break the
>   existing config file.  The awesome developers consider this okay
>   because they consider awesome under development.  Nothing wrong with
>   this, but it's a plus for xmonad that so far I never ran into API
>   changes that would cripple my current xmonad.hs.
> 3) Documentation.  It is true that the xmonad API has the potential to
>   be improved (as everything does).  In my experience, however, doing
>   rather standard customizations in awesome required trips to the mailing
>   list, while I can do much more in xmonad without asking someone by
>   digging through the available documentation.  In fact, for some of the
>   things I asked about how to do things in awesome, I simply got the reply
>   to look at the C source code to find out which lua properties of the
>   objects it exports.  I don't have to browse the source code in xmonad
>   to see which module lets me do what.
> 4) Abstraction.  Once you move to a tiling window manager, you almost
>   immediately accept that you'll be building your own window manager from
>   the right set of lego bricks.  That's true both for awesome and xmonad.
>   Doing this effectively depends on having the right abstractions,
>   playing with Duplo most of the time and playing with Lego only when
>   needed.  I feel that xmonad does an excellent job here, making
>   moderately advanced configuration a piece of cake, and allowing the
>   manipulation of exactly the necessary information without touching (or
>   worrying about) anything else when doing slightly more advanced stuff
>   (such as writing one's own layout, for example).  In awesome, on the other
>   hand, writing a new layout requires some quite low-level C hacking, and
>   even somewhat non-basic customization requires a bit of lifting in lua
>   where one feels the lack of the right abstractions.
> Overall, in my opinion, the main thing that awesome has going over
> xmonad is the built-in status bar (including widgets), but with apps like
> xmobar and dzen, I don't really miss this in xmonad.  As far as
> documentation and ease of customization is concerned, I don't think
> Ismael's post does xmonad justice, as it is miles ahead of awesome in my
> experience.  Of course, as I said, there's always room for improvement,
> and Ismael's suggestions are good.
> Cheers,
> Norbert
> _______________________________________________
> xmonad mailing list
> xmonad at haskell.org
> http://www.haskell.org/mailman/listinfo/xmonad

More information about the xmonad mailing list