[xmonad] Grid layout eats other layouts

Roman Cheplyaka roma at ro-che.info
Sun Apr 27 12:06:57 EDT 2008


* Roman Cheplyaka <roma at ro-che.info> [2008-04-27 19:00:20+0300]
> * Yitzchak Gale <gale at sefer.org> [2008-04-27 18:54:03+0300]
> > I wrote:
> > >> I want to add Grid to the default list of layouts.
> > >> When I do:
> > >> ,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...
> > >> Any ideas why?
> > 
> > Roman Cheplyaka <roma at ro-che.info> wrote:
> > >  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.
> > 
> > But that would put Grid as the first layout instead of the
> > last. That is not what I want.
> 
> Right. It's not a solution, I'm just illustrating the problem (your
> question was "why", not "what to do").
> 
> Now your options are:
> - compose needed layouts explicitely (again, layouts like (a|||b)|||c
>   won't work), or
> - use NewSelect combinator from XMonad.Layout.LayoutCombinators.

BTW, I'm not sure about the last. Since your "layoutHook defaultConfig"
will use the old combinator, they may not play nicely.
Then, just write down layouts explicitely.

-- 
Roman I. Cheplyaka (aka Feuerbach @ IRC)


More information about the xmonad mailing list