1
0
mirror of https://github.com/xmonad/xmonad-contrib.git synced 2025-08-18 05:33:49 -07:00

fix bug leading to gaps in tabs at the corner of the screen.

Besides being ugly, this had the effect of making me fail to click on the
tab I aimed for, if it was in the corner.
This commit is contained in:
David Roundy
2008-03-25 21:02:11 +00:00
parent 1f53383e2e
commit 6850c0fed7

@@ -108,19 +108,15 @@ instance Eq a => DecorationStyle TabbedDecoration a where
describeDeco TabbedBottom = "Tabbed Bottom"
decorationMouseDragHook _ _ _ = return ()
pureDecoration ds _ ht _ s wrs (w,r@(Rectangle x y wh hh)) =
if length wrs' <= 1
if length ws <= 1
then Nothing
else Just $ case ds of
Tabbed -> Rectangle nx y nwh (fi ht)
TabbedBottom -> Rectangle nx (y+fi(hh-ht)) nwh (fi ht)
where wrs' = filter ((==r) . snd) wrs
ws = map fst wrs'
nwh = wh `div` max 1 (fi $ length wrs')
nx = case elemIndex w $ filter (`elem` ws) (S.integrate s) of
Just i -> x + (fi nwh * fi i)
Nothing -> x
Tabbed -> Rectangle nx y wid (fi ht)
TabbedBottom -> Rectangle nx (y+fi(hh-ht)) wid (fi ht)
where ws = filter (`elem` map fst (filter ((==r) . snd) wrs)) (S.integrate s)
loc i = (wh * fi i) `div` max 1 (fi $ length ws)
wid = maybe (fi x) (\i -> loc (i+1) - loc i) $ w `elemIndex` ws
nx = maybe x (fi . loc) $ w `elemIndex` ws
shrink ds (Rectangle _ _ _ dh) (Rectangle x y w h) = case ds of
Tabbed -> Rectangle x (y + fi dh) w (h - dh)
TabbedBottom -> Rectangle x y w (h - dh)