From ae3fa53317da8447dcc005ea57a48ca4be4d3c0a Mon Sep 17 00:00:00 2001 From: David Roundy Date: Thu, 21 Jun 2007 17:15:24 +0200 Subject: add SimpleStacking module to make Combo and Tabbed work together. WARNING! This change will break existing Tabbed configurations. The problem is that there is no way within a Layout's "doLayout" to safely modify the layout itself. This makes LayoutHooks fragile, and more to the point, makes SimpleStacking fragile, so we can't safely define a tabbed' darcs-hash:20070621151524-72aca-2466fff5a37ce1388879367c419cf52161f8f838.gz --- Tabbed.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'Tabbed.hs') diff --git a/Tabbed.hs b/Tabbed.hs index 031f9c5..a4490d2 100644 --- a/Tabbed.hs +++ b/Tabbed.hs @@ -34,18 +34,18 @@ import XMonadContrib.NamedWindows -- You can use this module with the following in your configuration file: -- -- > import XMonadContrib.Tabbed +-- > import XMonadContrib.SimpleStacking -- -- > defaultLayouts :: [Layout] --- > defaultLayouts = [ tabbed shrinkText +-- > defaultLayouts = [ simpleStacking $ tabbed shrinkText -- > , ... ] - tabbed :: Shrinker -> Layout Window tabbed shrinkT = Layout { doLayout = dolay shrinkT, modifyLayout = const (return Nothing) } dolay :: Shrinker -> Rectangle -> W.Stack Window -> X [(Window, Rectangle)] dolay _ sc (W.Stack w [] []) = return [(w,sc)] -dolay shr sc@(Rectangle x y wid _) s@(W.Stack w _ _) = withDisplay $ \dpy -> +dolay shr sc@(Rectangle x y wid _) s = withDisplay $ \dpy -> do activecolor <- io $ initColor dpy "#BBBBBB" inactivecolor <- io $ initColor dpy "#888888" textcolor <- io $ initColor dpy "#000000" @@ -72,7 +72,7 @@ dolay shr sc@(Rectangle x y wid _) s@(W.Stack w _ _) = withDisplay $ \dpy -> (fromIntegral (wt `div` 2) - fromIntegral (width `div` 2)) (fromIntegral ht - fromIntegral (asc `div` 2)) name' forM tws maketab - return [ (w,shrink sc) ] + return $ map (\w -> (w,shrink sc)) ws type Shrinker = String -> [String] -- cgit v1.2.3