[xmonad] Grid layout eats other layouts

Don Stewart dons at galois.com
Sun Apr 27 12:41:46 EDT 2008


roma:
> * Yitzchak Gale <gale at sefer.org> [2008-04-27 17:45:57+0300]
> > Using xmonad 0.7 and KDE 3.5 with the xmonad.hs
> > from http://haskell.org/haskellwiki/Xmonad/Using_xmonad_in_KDE
> > 
> > I want to add Grid to the default list of layouts.
> > When I do:
> > 
> > 3a4
> > > import XMonad.Layout.Grid
> > 10c11
> > <  , layoutHook            = avoidStruts $ layoutHook defaultConfig
> > ---
> > >  , layoutHook            = avoidStruts $ layoutHook defaultConfig ||| Grid
> > 
> > I only get Tall and Grid. The last two layouts from
> > defaultConfig - Mirror Tall and Full - disappear,
> > seemingly "eaten" by Grid.
> > 
> > If I specify the entire layout list manually:
> > 
> > 3a4
> > > import XMonad.Layout.Grid
> > 10c11,12
> > <  , layoutHook            = avoidStruts $ layoutHook defaultConfig
> > ---
> > >  , layoutHook            = avoidStruts $ let t = Tall 1 (3/100) (1/2) in
> > >                            t ||| Mirror t ||| Full ||| Grid
> > 
> > I get all four layouts as expected.
> > 
> > Any ideas why?
> > 
> > Thanks,
> > Yitz
> 
> It's because code which works with Choose data type expects the tree to
> grow to the left. If you write
>   layoutHook            = avoidStruts $ Grid ||| layoutHook defaultConfig
> it will work. This is undocumented (afaik) and should be considered as a
> bug.
> By the way, NewSelect combinator from LayoutCombinators does not have
> this issue, so one more reason to merge it to the core.
> 

Ah, sounds like we should get a ticket for this. Can you open that up?

-- Don


More information about the xmonad mailing list