From cd08ed8a005a38e54231f71dbe24e15d251bfbdd Mon Sep 17 00:00:00 2001 From: Matthias Schiffer Date: Fri, 25 Feb 2011 19:44:32 +0100 Subject: Allow spawning processes bound to workspaces --- xmonad.hs | 23 +++++------------------ 1 file changed, 5 insertions(+), 18 deletions(-) (limited to 'xmonad.hs') diff --git a/xmonad.hs b/xmonad.hs index c1f7605..560a77b 100644 --- a/xmonad.hs +++ b/xmonad.hs @@ -21,6 +21,7 @@ import Ratio((%)) --import ConfigurableBorders import FullscreenManager import NoBorders +import ProcessWorkspaces modm = mod4Mask @@ -44,8 +45,7 @@ main = xmonad $ gnomeConfig , ("M-", viewOrWarp 0) , ("M-", viewOrWarp 1) , ("M-", viewOrWarp 2) - , ("M-p", spawn "exe=`dmenu_path | /home/neoraider/bin/dmemu -b` && eval \"exec $exe\"") - + , ("M-p", spawnOnCurrent "exe=`dmenu_path | /home/neoraider/bin/dmemu -b` && eval \"exec $exe\"") ] `additionalMouseBindings` [ ((modm, button4), \_ -> sendMessage Shrink) @@ -75,25 +75,11 @@ myStartupHook = do startupHook gnomeConfig setWMName "LG3D" -isDialogWindow :: Query Bool -isDialogWindow = do - atom__NET_WM_WINDOW_TYPE_DIALOG <- liftX $ getAtom "_NET_WM_WINDOW_TYPE_DIALOG" - atomProperty "_NET_WM_WINDOW_TYPE" =? atom__NET_WM_WINDOW_TYPE_DIALOG - -atomProperty :: String -> Query Atom -atomProperty p = ask >>= (\w -> liftX $ withDisplay $ \d -> fmap (fromMaybe 0) $ getAtomProperty d w p) - -getAtomProperty :: Display -> Window -> String -> X (Maybe Atom) -getAtomProperty d w p = do - a <- getAtom p - md <- io $ getWindowProperty32 d a w - return $ fmap fromIntegral $ listToMaybe $ fromMaybe [] md - myManageHook :: ManageHook myManageHook = composeAll [ composeOne - [ isDialogWindow -?> doFloat + [ isDialog -?> doFloat , className =? "Guake.py" -?> doFloatMaybeFullscreen -- <+> doConfigBorderOff) --, className =? "Do" -?> (doFloat <+> doConfigBorderOff) , className =? "MPlayer" -?> doCenterFloat @@ -104,11 +90,12 @@ myManageHook = composeAll , stringProperty "WM_ICON_NAME" =? "ZeroGS" -?> doFloat , isFullscreen -?> doFullscreen ] + , moveWindowHook , manageHook gnomeConfig ] -myLayoutHook = manageFullscreen $ smartBorders (Full ||| tiled ||| Mirror tiled) +myLayoutHook = processWorkspaceStorage $ manageFullscreen $ smartBorders (Full ||| tiled ||| Mirror tiled) where -- default tiling algorithm partitions the screen into two panes tiled = ResizableTall nmaster delta ratio [] -- cgit v1.2.3