summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorJochen Keil <jochen.keil@gmail.com>2012-09-01 21:51:54 +0200
committerJochen Keil <jochen.keil@gmail.com>2012-09-01 21:51:54 +0200
commit4d0504dfe6f6ad4a3ddd39e046a54864e6a306bc (patch)
tree19f43396059f8b8ceb062bfcc468b3abf4696331
parent2b27a08668461ab83c2a4d2c084ed7ae18c965b0 (diff)
downloadxmobar-4d0504dfe6f6ad4a3ddd39e046a54864e6a306bc.tar.gz
xmobar-4d0504dfe6f6ad4a3ddd39e046a54864e6a306bc.tar.bz2
Some cosmetic fixes.
I tried to scrap the hide/reveal boilerplate, but that didn't work out due different functions ({show,hide}Window) and signaltypes. Got almost as ugly. Maybe a pattern matching function instead of the "case typ of" would be nicer. But that's just code golfing.
-rw-r--r--src/Window.hs3
-rw-r--r--src/Xmobar.hs30
2 files changed, 15 insertions, 18 deletions
diff --git a/src/Window.hs b/src/Window.hs
index 29e1516..4678046 100644
--- a/src/Window.hs
+++ b/src/Window.hs
@@ -159,8 +159,7 @@ hideWindow d w = do
a <- internAtom d "_NET_WM_STRUT_PARTIAL" False
c <- internAtom d "CARDINAL" False
changeProperty32 d w a c propModeReplace $ replicate 12 0
- unmapWindow d w
- sync d False
+ unmapWindow d w >> sync d False
showWindow :: Rectangle -> Config -> Display -> Window -> IO ()
showWindow r cfg d w = do
diff --git a/src/Xmobar.hs b/src/Xmobar.hs
index d2d29ad..9bec6bc 100644
--- a/src/Xmobar.hs
+++ b/src/Xmobar.hs
@@ -156,24 +156,22 @@ eventLoop tv xc@(XConf d r w fs cfg) signal = do
where
isPersistent = not $ persistent cfg
- hide t | t == 0 = do
- when isPersistent $ hideWindow d w
- eventLoop tv xc signal
- | otherwise = do
- void $ forkIO
- $ threadDelay t >> atomically (putTMVar signal $ Hide 0)
- eventLoop tv xc signal
+ hide t
+ | t == 0 =
+ when isPersistent (hideWindow d w) >> eventLoop tv xc signal
+ | otherwise = do
+ void $ forkIO
+ $ threadDelay t >> atomically (putTMVar signal $ Hide 0)
+ eventLoop tv xc signal
- reveal t | t == 0 =
- if isPersistent
- then do
- showWindow r cfg d w
+ reveal t
+ | t == 0 = do
+ when isPersistent (showWindow r cfg d w)
+ eventLoop tv xc signal
+ | otherwise = do
+ void $ forkIO
+ $ threadDelay t >> atomically (putTMVar signal $ Reveal 0)
eventLoop tv xc signal
- else eventLoop tv xc signal
- | otherwise = do
- void $ forkIO
- $ threadDelay t >> atomically (putTMVar signal $ Reveal 0)
- eventLoop tv xc signal
toggle t = do
ismapped <- isMapped d w