Clean up dialog window Query

This commit is contained in:
Matthias Schiffer 2011-02-23 17:45:27 +01:00
parent 0bafbe18d9
commit 894e8b41d3

View file

@ -75,6 +75,11 @@ myStartupHook = do
startupHook gnomeConfig startupHook gnomeConfig
setWMName "LG3D" 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 :: String -> Query Atom
atomProperty p = ask >>= (\w -> liftX $ withDisplay $ \d -> fmap (fromMaybe 0) $ getAtomProperty d w p) atomProperty p = ask >>= (\w -> liftX $ withDisplay $ \d -> fmap (fromMaybe 0) $ getAtomProperty d w p)
@ -86,23 +91,21 @@ getAtomProperty d w p = do
myManageHook :: ManageHook myManageHook :: ManageHook
myManageHook = do myManageHook = composeAll
atom__NET_WM_WINDOW_TYPE_DIALOG <- liftX $ getAtom "_NET_WM_WINDOW_TYPE_DIALOG" [ composeOne
composeAll [ isDialogWindow -?> doFloat
[ composeOne , className =? "Guake.py" -?> doFloatMaybeFullscreen -- <+> doConfigBorderOff)
[ atomProperty "_NET_WM_WINDOW_TYPE" =? atom__NET_WM_WINDOW_TYPE_DIALOG -?> doFloat --, className =? "Do" -?> (doFloat <+> doConfigBorderOff)
, className =? "Guake.py" -?> doFloatMaybeFullscreen -- <+> doConfigBorderOff) , className =? "MPlayer" -?> doCenterFloat
--, className =? "Do" -?> (doFloat <+> doConfigBorderOff) , className =? "Gimp" -?> doFloat
, className =? "MPlayer" -?> doCenterFloat , className =? "Display" -?> doFloat
, className =? "Gimp" -?> doFloat , className =? "Wine" -?> doFloat
, className =? "Display" -?> doFloat , className =? "Pcsx2" -?> doFloat
, className =? "Wine" -?> doFloat , stringProperty "WM_ICON_NAME" =? "ZeroGS" -?> doFloat
, className =? "Pcsx2" -?> doFloat , isFullscreen -?> doFullscreen
, stringProperty "WM_ICON_NAME" =? "ZeroGS" -?> doFloat ]
, isFullscreen -?> doFullscreen , manageHook gnomeConfig
] ]
, manageHook gnomeConfig
]
myLayoutHook = manageFullscreen $ smartBorders (Full ||| tiled ||| Mirror tiled) myLayoutHook = manageFullscreen $ smartBorders (Full ||| tiled ||| Mirror tiled)