---------------------------------------------------------------------------- -- | -- Module : XMonad.Hooks.RestoreMinimized -- Copyright : (c) Jan Vornberger 2009 -- License : BSD3-style (see LICENSE) -- -- Maintainer : jan.vornberger@informatik.uni-oldenburg.de -- Stability : unstable -- Portability : not portable -- ----------------------------------------------------------------------------- module XMonad.Hooks.RestoreMinimized ( RestoreMinimized (..) , restoreMinimizedEventHook ) where import Data.Monoid import Control.Monad(when) import XMonad import XMonad.Layout.Minimize data RestoreMinimized = RestoreMinimized deriving ( Show, Read ) restoreMinimizedEventHook :: Event -> X All restoreMinimizedEventHook (ClientMessageEvent {ev_window = w, ev_message_type = mt}) = do a_aw <- getAtom "_NET_ACTIVE_WINDOW" a_cs <- getAtom "WM_CHANGE_STATE" when (mt == a_aw || mt == a_cs) $ do sendMessage (RestoreMinimizedWin w) return (All True) restoreMinimizedEventHook _ = return (All True)