
I just noticed that my first reply didn't make it back to the list since I wasn't subscribed. I can confirm that the submapDefaultFixLeak patch patch fixes the issue for me. I no longer see keypresses leaking from the submap. In case anyone is interested, here are my keybindings for moving/resizing floating windows. Just invoke floatsub from some initial keybinding and then use arrows or vi or emacs bindings to move/resize the windows. Hit enter or escape to break out of the submode. floatsub = submapDefault floatsub floatsublist floatsublist = M.fromList $ [ -- Window floating stuff ((0, xK_Return), return ()) , ((0, xK_Escape), return ()) , ((0, xK_t ), withFocused $ windows . W.sink) -- arrow bindings , ((0, xK_Left ), moveFloatLeft) , ((0, xK_Right ), moveFloatRight) , ((0, xK_Up ), moveFloatUp) , ((0, xK_Down ), moveFloatDown) , ((shiftMask, xK_Left ), shrinkFloatRight) , ((shiftMask, xK_Right ), expandFloatRight) , ((shiftMask, xK_Up ), shrinkFloatBottom) , ((shiftMask, xK_Down ), expandFloatBottom) -- vi bindings , ((0, xK_h ), moveFloatLeft) , ((0, xK_l ), moveFloatRight) , ((0, xK_k ), moveFloatUp) , ((0, xK_j ), moveFloatDown) , ((shiftMask, xK_h ), shrinkFloatRight) , ((shiftMask, xK_l ), expandFloatRight) , ((shiftMask, xK_k ), shrinkFloatBottom) , ((shiftMask, xK_j ), expandFloatBottom) -- emacs bindings , ((0, xK_b ), moveFloatLeft) , ((0, xK_f ), moveFloatRight) , ((0, xK_p ), moveFloatUp) , ((0, xK_n ), moveFloatDown) , ((shiftMask, xK_b ), shrinkFloatRight) , ((shiftMask, xK_f ), expandFloatRight) , ((shiftMask, xK_p ), shrinkFloatBottom) , ((shiftMask, xK_n ), expandFloatBottom) ] where moveFloatLeft = (withFocused (keysMoveWindow (-20, 0))) >> floatsub moveFloatRight = (withFocused (keysMoveWindow ( 20, 0))) >> floatsub moveFloatUp = (withFocused (keysMoveWindow ( 0,-20))) >> floatsub moveFloatDown = (withFocused (keysMoveWindow ( 0, 20))) >> floatsub shrinkFloatRight = (withFocused (keysResizeWindow (-10, 0) (0,0))) >> floatsub expandFloatRight = (withFocused (keysResizeWindow ( 10, 0) (0,0))) >> floatsub shrinkFloatBottom = (withFocused (keysResizeWindow ( 0,-10) (0,0))) >> floatsub expandFloatBottom = (withFocused (keysResizeWindow ( 0, 30) (0,0))) >> floatsub Note that this only works properly with the submapDefaultFixLeak patch from Anders: http://www.haskell.org/pipermail/xmonad/2009-April/007821.html Stacey.