summaryrefslogtreecommitdiffstats
path: root/lib/Phi/Widgets
diff options
context:
space:
mode:
authorMatthias Schiffer <mschiffer@universe-factory.net>2011-07-19 12:49:05 +0200
committerMatthias Schiffer <mschiffer@universe-factory.net>2011-07-19 12:49:05 +0200
commitbc9f8e1fbc7e117ec5368d2d74742cdb2c5f22f7 (patch)
tree99b56cfa39523beb018024e5c08a958df85352ea /lib/Phi/Widgets
parent387613b2f0752836524ccd6d9d8001694bd219fb (diff)
downloadphi-bc9f8e1fbc7e117ec5368d2d74742cdb2c5f22f7.tar
phi-bc9f8e1fbc7e117ec5368d2d74742cdb2c5f22f7.zip
Some minor adjustments
Diffstat (limited to 'lib/Phi/Widgets')
-rw-r--r--lib/Phi/Widgets/Systray.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/lib/Phi/Widgets/Systray.hs b/lib/Phi/Widgets/Systray.hs
index e11e58d..0d14f0e 100644
--- a/lib/Phi/Widgets/Systray.hs
+++ b/lib/Phi/Widgets/Systray.hs
@@ -61,7 +61,7 @@ instance WidgetClass Systray where
return $ SystrayState phi (head . getScreens $ dispvar) 0 lastReset []
minSize _ (SystrayState _ systrayScreen _ _ icons) height screen = case True of
- _ | screen == systrayScreen -> (length icons)*height
+ _ | screen == systrayScreen -> max 0 $ (length icons)*(height+2)-1
| otherwise -> 0
weight _ = 0
@@ -72,7 +72,7 @@ instance WidgetClass Systray where
liftIO $ writeIORef lastResetRef reset
Matrix _ _ _ _ dx dy <- getMatrix
forM_ (zip [0..] icons) $ \(i, SystrayIconState midParent window) -> do
- let x = round dx + i*h
+ let x = round dx + i*(h+2)
y = round dy
sendMessage phi $ RenderIcon midParent window x y h h (lastReset /= reset)
@@ -115,16 +115,15 @@ systrayRunner phi dispvar = do
writeIORef errorWindowRef (ev_resourceid event:errorWindows)
(_, x', y', w', h', _, _) <- getGeometry disp midParent
+ (_, _, _, w'', h'', _, _) <- getGeometry disp window
let resize = (fromIntegral x) /= x' || (fromIntegral y) /= y' || (fromIntegral w) /= w' || (fromIntegral h) /= h'
+ || (fromIntegral w) /= w'' || (fromIntegral h) /= h''
when resize $ do
moveResizeWindow disp midParent (fromIntegral x) (fromIntegral y) (fromIntegral w) (fromIntegral h)
resizeWindow disp window (fromIntegral w) (fromIntegral h)
sync disp False
- clearArea disp midParent 0 0 (fromIntegral w) (fromIntegral h) True
- sync disp False
-
when (resize || reset) $ do
clearArea disp window 0 0 (fromIntegral w) (fromIntegral h) True
sync disp False