
Last year this set of patches was submitted to the xmonad mailing list. It allows the user to set which types of events will be passed to event hooks by moving the two variables rootMask and clientMask from being hard-coded constants to configurable parameters. http://www.haskell.org/pipermail/xmonad/2012-January/012297.html This message got no replies when it was sent, but I have found it very useful. I have attached a few scripts that I have used with the patch: these allow me to spawn things in the root window using a single keypress without modifiers, to map caps lock to a "repeat last key" key that makes typing words with double letters a bit easier, and to implement a "show desktop" key that hides all windows when pressed and returns them when released. Since rootMask and clientMask are not modified by default, this won't break any current xmonad behavior. It also only impacts event hooks, so there is no chance of damaging other parts of xmonad with incorrect configuration--the affected event hooks simply won't receive some events. Can someone apply these changes to xmonad? I have attached a patch which merges the two from the original message (there's really no reason to apply one and not the other) and works with the latest darcs source. If these are added I will also clean up and formally submit the other scripts. Marshall