Today I started a new project on github that aims to bring the same level of freedom in setting up key bindings that Xmonad and FVWM provides. The project uses python-wnck and python-keybinder, and coexists with the window manager.

https://github.com/mntnoe/wmbinder

Configuration example:

import gtk
from wmbinder.commands import *

if __name__ == '__main__':
    bind("<Mod5>z"      , spawn , "xclip -selection primary -o | xclip -selection clipboard -i")
    bind("<Mod5>x"      , spawn , "xterm")
    bind("<Mod5>t"      , focus , "Firefox"      , cmd="firefox")
    bind("<Mod5>Return" , focus , "XTerm"        , cmd="xterm")
    bind("<Mod5>s"      , focus , "File Manager" , cmd="nautilus ~")
    bind("<Mod5>v"      , focus , "Vim"          , cmd="gvim --servername VIM")
    bind("<Mod5>n"      , nextWindow)
    bind("<Mod5>e"      , prevWindow)
    bind("<Mod5>k"      , close)

    gtk.main()