From ef1d84e3babdebaa1c50d3eedbb779288ae58148 Mon Sep 17 00:00:00 2001 From: Spencer Janssen Date: Fri, 28 Sep 2007 19:45:10 +0200 Subject: LayoutModifier: call unhook after releaseResources darcs-hash:20070928174510-a5988-a7a20cfad92710b8b746fc182d83f109494de015.gz --- LayoutModifier.hs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'LayoutModifier.hs') diff --git a/LayoutModifier.hs b/LayoutModifier.hs index 8785c5f..1320fac 100644 --- a/LayoutModifier.hs +++ b/LayoutModifier.hs @@ -20,15 +20,17 @@ module XMonadContrib.LayoutModifier ( import Graphics.X11.Xlib ( Rectangle ) import XMonad import StackSet ( Stack ) -import Operations ( LayoutMessages(Hide) ) +import Operations ( LayoutMessages(Hide, ReleaseResources) ) -- $usage -- Use LayoutHelpers to help write easy Layouts. class (Show (m a), Read (m a)) => LayoutModifier m a where modifyModify :: m a -> SomeMessage -> X (Maybe (m a)) - modifyModify m mess | Just Hide <- fromMessage mess = do unhook m; return Nothing + modifyModify m mess | Just Hide <- fromMessage mess = doUnhook + | Just ReleaseResources <- fromMessage mess = doUnhook | otherwise = return Nothing + where doUnhook = do unhook m; return Nothing redoLayout :: m a -> Rectangle -> Stack a -> [(a, Rectangle)] -> X ([(a, Rectangle)], Maybe (m a)) redoLayout m _ _ wrs = do hook m; return (wrs, Nothing) -- cgit v1.2.3