You can use this module by importing it into your ~/.xmonad/xmonad.hs file:
import XMonad.Layout.MessageEscape
Then, if you use a modified layout where the modifier would intercept
a message, but you'd want to be able to send it to the inner layout
only, add the unEscape modifier to the inner layout like so:
import XMonad.Layout.Master (mastered)
import XMonad.Layout.Tabbed (simpleTabbed)
import XMonad.Layout.LayoutCombinators ((|||))
myLayout = Tall ||| unEscape (mastered 0.01 0.5 $ Full ||| simpleTabbed)
you can now send a message to the inner layout with
sendMessage $ escape message, e.g.
-- Change the inner layout
((modm .|. controlMask, xK_space), sendMessage $ escape NextLayout)
If you want unescaped messages to be handled only by the enclosing
layout, use the ignore modifier:
myLayout = Tall ||| (ignore NextLayout $ ignore (JumpToLayout "") $
unEscape $ mastered 0.01 0.5
$ Full ||| simpleTabbed)
IMPORTANT NOTE: The standard '(|||)' operator from XMonad.Layout
does not behave correctly with ignore. Make sure you use the one
from XMonad.Layout.LayoutCombinators.
|