
On Tue, Feb 26, 2008 at 05:39:23PM -0500, Brent Yorgey wrote:
Hi all,
I've just pushed (what I hope is) an exciting patch to XMonad.Util.EZConfig. It now exports a bunch of functions for parsing keybindings, emacs-style. That's right, instead of typing
((modMask x .|. shiftMask .|. controlMask, xK_F12), action)
or other such boilerplate drudgery, you can now just say
("M-S-C-<F12>", action).
Submaps are also supported -- just do something like
("M-x p", action1) ("M-x q", action2)
and it does the right thing. Detailed documentation is included, so look there for a more thorough explanation and examples. As always, comments, bug reports, and patches welcome.
This sounds nice, but I can't help but wonder if we can't do one up, and provide our users with a handy interface that doesn't allow them to run into run-time parse errors. Something like (m 'q', action0) (m $ s $ c f12, action1) (m $ s $ c 'x', action2) should be trivial to implement (albeit eating up the namespace rather ferociously), and would give a bit more safety with only a slightly-less-pretty syntax. Submaps would require a bit more syntax, but something like (m x &&& 'q') should be implementable. I'm not sure if this would be deemed worthwhile, but it seems to me a bit more elegant than parsing strings into key bindings. David