aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--XMonad/Util/WindowProperties.hs12
1 files changed, 11 insertions, 1 deletions
diff --git a/XMonad/Util/WindowProperties.hs b/XMonad/Util/WindowProperties.hs
index eb7539c..b1d0055 100644
--- a/XMonad/Util/WindowProperties.hs
+++ b/XMonad/Util/WindowProperties.hs
@@ -14,9 +14,10 @@
module XMonad.Util.WindowProperties (
-- * Usage
-- $usage
- Property(..), hasProperty)
+ Property(..), hasProperty, focusedHasProperty)
where
import XMonad
+import qualified XMonad.StackSet as W
-- $usage
-- This module allows to specify window properties, such as title, classname or
@@ -47,3 +48,12 @@ hasProperty (Or p1 p2) w = do { r1 <- hasProperty p1 w; r2 <- hasProperty p2
hasProperty (Not p1) w = do { r1 <- hasProperty p1 w; return $ not r1 }
hasProperty (Const b) _ = return b
+-- | Does the focused window have this property?
+focusedHasProperty :: Property -> X Bool
+focusedHasProperty p = do
+ ws <- gets windowset
+ let ms = W.stack $ W.workspace $ W.current ws
+ case ms of
+ Just s -> hasProperty p $ W.focus s
+ Nothing -> return False
+