xmonad / xmonad-contrib

Contributed modules for xmonad
https://xmonad.org
BSD 3-Clause "New" or "Revised" License
579 stars 271 forks source link

LayoutB l1 l2 p a in LayoutBuilder breaks composability #166

Open lierdakil opened 7 years ago

lierdakil commented 7 years ago

Problem Description

Most layout definitions have the form T ... layout window. Having LayoutB l1 l2 p a conflicts with that, which leads to some problems with typeclass magic I'm using in my config (see https://github.com/lierdakil/xmonad-prime-monad, in particular https://github.com/lierdakil/xmonad-prime-monad/blob/master/XMonad/Config/Prime/Monadic.hs#L330).

Consider moving predicate to the first position, i.e. LayoutB p l1 l2.

geekosaur commented 7 years ago

LayoutBuilder is likely to be deprecated in favor of Combo-based layouts; consider using that instead.

On Fri, Apr 14, 2017 at 3:20 PM, Nikolay Yakimov notifications@github.com wrote:

Problem Description

Most layout definitions have the form T ... layout window. Having LayoutB l1 l2 p a conflicts with that, which leads to some problems with typeclass magic I'm using in my config (see https://github.com/lierdakil/ xmonad-prime-monad, in particular https://github.com/lierdakil/ xmonad-prime-monad/blob/master/XMonad/Config/Prime/Monadic.hs#L330).

Consider moving predicate to the first position, i.e. LayoutB p l1 l2.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/xmonad/xmonad-contrib/issues/166, or mute the thread https://github.com/notifications/unsubscribe-auth/AB8SoJf8y2SEcEN5UC94niKT-FwNisW0ks5rv8btgaJpZM4M-BJf .

-- brandon s allbery kf8nh sine nomine associates allbery.b@gmail.com ballbery@sinenomine.net unix, openafs, kerberos, infrastructure, xmonad http://sinenomine.net

lierdakil commented 7 years ago

TBH, I'm not currently using it anyway, so it's not a major problem for me, so no rush. But this nonconformity in order of constructor arguments kinda bugs me. So I would be grateful if it's fixed somewhere down the line in case it's not deprecated.