diff options
author | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-09 03:47:22 +0100 |
---|---|---|
committer | Spencer Janssen <sjanssen@cse.unl.edu> | 2007-11-09 03:47:22 +0100 |
commit | 4ac83b98a1abf352c27cdd4caefaf4dc86ef59e4 (patch) | |
tree | 1e74edcbb5091b1ae0c0d41ff092d0de2ad2f849 /XMonad/Config.hs | |
parent | a2fcbf0cdfff251b13706e630af6af9a3fcd98ba (diff) | |
download | xmonad-4ac83b98a1abf352c27cdd4caefaf4dc86ef59e4.tar.gz xmonad-4ac83b98a1abf352c27cdd4caefaf4dc86ef59e4.tar.xz xmonad-4ac83b98a1abf352c27cdd4caefaf4dc86ef59e4.zip |
New ManageHook system
darcs-hash:20071109024722-a5988-c499d006a8a4a48dd7c8cbaf4e4ea9635ceb1ec4.gz
Diffstat (limited to 'XMonad/Config.hs')
-rw-r--r-- | XMonad/Config.hs | 28 |
1 files changed, 7 insertions, 21 deletions
diff --git a/XMonad/Config.hs b/XMonad/Config.hs index 5c988c9..1cab6a3 100644 --- a/XMonad/Config.hs +++ b/XMonad/Config.hs @@ -29,6 +29,7 @@ import qualified XMonad.Core as XMonad import XMonad.Layouts import XMonad.Operations +import XMonad.ManageHook import qualified XMonad.StackSet as W import Data.Ratio import Data.Bits ((.|.)) @@ -112,28 +113,13 @@ defaultGaps = [(0,0,0,0)] -- 15 for default dzen font -- xprop | grep WM_CLASS -- and click on the client you're interested in. -- -manageHook :: Window -- ^ the new window to manage - -> String -- ^ window title - -> String -- ^ window resource name - -> String -- ^ window resource class - -> X (WindowSet -> WindowSet) - --- Always float various programs: -manageHook w _ _ c | c `elem` floats = fmap (W.float w . snd) (floatLocation w) +manageHook :: ManageHook +manageHook = composeAll . concat $ + [ [ className =? c --> doFloat | c <- floats] + , [ resource =? r --> doIgnore | r <- ignore] + , [ resource =? "Gecko" --> doF (W.shift "web") ]] where floats = ["MPlayer", "Gimp"] - --- Desktop panels and dock apps should be ignored by xmonad: -manageHook w _ n _ | n `elem` ignore = reveal w >> return (W.delete w) - where ignore = ["gnome-panel", "desktop_window", "kicker", "kdesktop"] - --- Automatically send Firefox windows to the "web" workspace: --- If a workspace named "web" doesn't exist, the window will appear on the --- current workspace. -manageHook _ _ "Gecko" _ = return $ W.shift "web" - --- The default rule: return the WindowSet unmodified. You typically do not --- want to modify this line. -manageHook _ _ _ _ = return id + ignore = ["gnome-panel", "desktop_window", "kicker", "kdesktop"] ------------------------------------------------------------------------ -- Logging |