[xmonad] YAML x config. files

Spencer Janssen spencerjanssen at gmail.com
Fri Feb 6 14:01:48 EST 2009

On Fri, Feb 06, 2009 at 12:01:01PM +0700, Roy Lanek wrote:
> Hi,
> Why not to use YAML, YAML Ain't a Markup Language, with XMonad's configuration
> files? ... Don't faint, there is no need to use full blown YAML.
> It could even be added *transparently*, i.e., as a separate program generating
> Haskell output.
> Why?, because YAML's format is _truly_ human-readable (and concise), there is
> no Lua or whatever that can be better. And, in our context (reduced/subset
> YAML), a snap to learn and grasp.
> I am using myself my 'cqac' program written in Perl (celerius quam asparagi
> cocuntur, more swiftly than asparagus is cooked, a favorite expression of
> Augustus to say that something was done quickly), which is an implementation
> and extension of the Blackbox window manager original menu (nop's inclusive).
> 'cqac' uses X::Osd (Perl extension to the X On Screen Display library, xosd),
> no mouse, YAML::Tiny, and, unfortunately, X11::Protocol ... from the latter
> I need exclusively Grab- and UngrabKeyboard, hence I am thinking to put the
> original X11::Protocol on *diet*, and skim unnecessary fat away.
> Anyway, 'cqac', which at present still uses YAML::Tiny in-line, i.e., still
> reads its '.yml'-configuration file on the flight, and uses the original,
> jumbo-sized X11::Protocol is reasonably fast (on a okay/acceptable/no-ancient
> notebook) ... in Perl!, and with a no-toy cqac.yml. (Well, for that I also
> have nicknamed it like I have.)
> There is nothing more annoying than to being obliged to pass from the stage
> of *inheriting* default setups or monkeying setups from guru X, master Y,
> and wizard Z, *merging* and *pruning* a' la trial and error m more or less
> mysterious configuration files until one learns to read--and write--Haskell,
> Lua, whatever. (No, in ten minutes reading and studying one learns what there
> is to know to use YAML::Tiny's format, just in case; quicker than memorizing
> all the meta chars to use a given window manager. Better still: one doesn't
> need to *restudy* Haskell, Lua, whatever if, after m months, he decides to
> modify the configuration file ... _and_ he doesn't use Haskell, Lua, whatever
> n hours a day.)
> Cheers,
> /Roy Lanek (West Sumatra)
> P.S.
> cqac ... I have used--not longer--Ion: never have liked its *application
> launcher*, worse, I am not a fan of Lua (though I may understand that it's
> cute); never have used Ion's status bar, by the way ... a dumb (notebook)
> idea.
> Ditto for dwm's dmenu.

Configuration in Haskell, the same language as xmonad's core is written in, is
a central and defining characteristic of xmonad.  We're simply not going to
consider moving away from pure Haskell to some mark up language.

Of course you're free to write an extension to xmonad that uses YAML (much as
has already been done with xmonad-light), or you can fork xmonad and try out
your ideas there.

Spencer Janssen

More information about the xmonad mailing list