aboutsummaryrefslogtreecommitdiffstats
path: root/XMonad/Hooks/ManageHelpers.hs
diff options
context:
space:
mode:
Diffstat (limited to 'XMonad/Hooks/ManageHelpers.hs')
-rw-r--r--XMonad/Hooks/ManageHelpers.hs13
1 files changed, 4 insertions, 9 deletions
diff --git a/XMonad/Hooks/ManageHelpers.hs b/XMonad/Hooks/ManageHelpers.hs
index e9a6cf3..4d6dc98 100644
--- a/XMonad/Hooks/ManageHelpers.hs
+++ b/XMonad/Hooks/ManageHelpers.hs
@@ -46,6 +46,7 @@ module XMonad.Hooks.ManageHelpers (
import XMonad
import qualified XMonad.StackSet as W
+import XMonad.Util.WindowProperties (getProp32s)
import Data.Maybe
import Data.Monoid
@@ -117,9 +118,7 @@ p -?>> f = do
-- | A predicate to check whether a window is a KDE system tray icon.
isKDETrayWindow :: Query Bool
isKDETrayWindow = ask >>= \w -> liftX $ do
- dpy <- asks display
- kde_tray <- getAtom "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR"
- r <- io $ getWindowProperty32 dpy kde_tray w
+ r <- getProp32s "_KDE_NET_WM_SYSTEM_TRAY_WINDOW_FOR" w
return $ case r of
Just [_] -> True
_ -> False
@@ -127,10 +126,8 @@ isKDETrayWindow = ask >>= \w -> liftX $ do
-- | Helper to check if a window property contains certain value.
isInProperty :: String -> String -> Query Bool
isInProperty p v = ask >>= \w -> liftX $ do
- dpy <- asks display
- pa <- getAtom p
va <- getAtom v
- r <- io $ getWindowProperty32 dpy pa w
+ r <- getProp32s p w
return $ case r of
Just xs -> fromIntegral va `elem` xs
_ -> False
@@ -146,9 +143,7 @@ isDialog = isInProperty "_NET_WM_WINDOW_TYPE" "_NET_WM_WINDOW_TYPE_DIALOG"
pid :: Query (Maybe ProcessID)
pid = ask >>= \w -> liftX $ do
- dpy <- asks display
- a <- getAtom "_NET_WM_PID"
- p <- io $ getWindowProperty32 dpy a w
+ p <- getProp32s "_NET_WM_PID" w
return $ case p of
Just [x] -> Just (fromIntegral x)
_ -> Nothing