On Tue, Feb 26, 2008 at 11:16 PM, Braden Shepherdson <Braden.Shepherdson@gmail.com> wrote:

One handy use of this that occurred to me (I'm not sure if this is
possible under the original system) is to have "namespaces" of sorts. I
wanted to add a bunch of "execute this app" (or maybe runOrRaise) key
bindings, but a lot of keys were taken when just using mod and
mod+shift. Now I can use
M-x f   for Firefox
M-x t   for Thunderbird
M-x p   for Pidgin
and so on. I think of this as using M-x as a namespace for execute, and
then I have all 26 letters and all 10 numbers free to launch whatever
apps I like.

Yup, this was possible before, as Roman pointed out -- indeed, the keybinding parser uses XMonad.Actions.Submap under the hood -- but now it's super-easy.  In fact, after switching all my keybindings over, I went and changed a bunch of them into submaps -- I have a lot of keybindings, so it's a lot nicer with submaps (easier to remember, too), but I hadn't bothered before since it would have been more of a pain to change.

For anyone else reading who'd like to try this out, I just uploaded my current xmonad.hs to the wiki which you can use as an example.  Looks like oxymor00n has done the same.

-Brent