diff options
-rw-r--r-- | conf/xmonad/xmonad.hs | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/conf/xmonad/xmonad.hs b/conf/xmonad/xmonad.hs index 3c5e62f..86b92e6 100644 --- a/conf/xmonad/xmonad.hs +++ b/conf/xmonad/xmonad.hs @@ -125,7 +125,7 @@ customEventHook = do customLogHook = do historyHook - customizeBorderWhen isFloat "#aadb0f" 6 + customizeBorderWhen (isFloat <&&> isNotFullscreen) "#aadb0f" 6 main = xmonad $ ewmh $ defaultConfig @@ -149,8 +149,14 @@ nonEmptyWS = WSIs $ return (\w -> nonNSP w && nonEmpty w) placeFloating :: RationalRect -> Window -> X () placeFloating rect = windows . (flip XMonad.StackSet.float $ rect) +isNotFullscreen :: Query Bool +isNotFullscreen = ask >>= (\w -> liftX $ do wa <- withDisplay $ (\d -> io $ getWindowAttributes d w) + sr <- fmap (screenRect . screenDetail . current) (gets windowset) + return $ not (fromIntegral (wa_width wa) == rect_width sr && + fromIntegral (wa_height wa) == rect_height sr)) + isFloat :: Query Bool -isFloat = ask >>= (\w -> liftX $ withWindowSet $ \ws -> return $ M.member w (floating ws)) +isFloat = ask >>= (\w -> liftX $ withWindowSet $ \ws -> return $ (M.member w (floating ws))) customizeBorderWhen :: Query Bool -> String -> Dimension -> X () customizeBorderWhen q color width = withFocused $ \w -> runQuery q w >>= flip when (setWindowBorder' color width w) |