xmonad / xmonad-contrib

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

Tabbed decoration broken with LayoutBuilder #136

Open bmjoan opened 7 years ago

bmjoan commented 7 years ago

When any of XMonad.Layout.Tabbed layouts used in layoutN, layoutAll, … from XMonad.Layout.LayoutBuilder, it would introduce various graphics artifacts present on all workspaces.

For example, with following layout

wmii = (layoutN 1 (relBox 0 0 ratio 1) Nothing stabbed) $
            (layoutAll (relBox ratio 0 1 1) stabbed)
        stabbed = tabbedAlways shrinkText defaultTheme
        ratio   = 61/100

if you start add clients like 3 or more xterms, content of tab bars starts get garbled. Window names out of position or quite missing, bar from 1st workspace visible on all other workspaces, missing fragments in border around tabs etc.

Tabbed layouts works well on the same machine, either standalone or combined with different combinators like Combo, DragPane, TwoPane, Master and others. Issue is only in combination with LayoutBuilder.

pjones commented 7 years ago

@bmjoan I'm trying to reproduce this. I've seen this issue personally in the past but it's been awhile.

Which version of XMonad are you using? There were changes made to LayoutBuilder not too long ago (unreleased changes) that may have affected this.

pjones commented 7 years ago

Just an FYI, I've decided to move forward with the 0.13 release without a fix for this bug. This issue is important and I'm moving it to the next release milestone which will hopefully happen in the next few months.

pjones commented 7 years ago

Honestly, I like the idea of deprecating LayoutBuilder since everything it does can be done with Combo and Combo is a much cleaner implementation.

I'm going to leave this issue open for community feedback.

geekosaur commented 7 years ago

One could prove that, and minimize breakage of existing configs, by producing an alternative implementation in terms of Combo.

On Mon, Apr 10, 2017 at 4:08 PM, Peter J. Jones notifications@github.com wrote:

Honestly, I like the idea of deprecating LayoutBuilder since everything it does can be done with Combo and Combo is a much cleaner implementation.

I'm going to leave this issue open for community feedback.

— 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/136#issuecomment-293063834, or mute the thread https://github.com/notifications/unsubscribe-auth/AB8SoCDWkEh50zo4e9HfzJtBVsWu7-xBks5ruowjgaJpZM4LgRCN .

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

jameslikeslinux commented 7 years ago

I am just getting started with xmonad, but I am using tabs inside of a LayoutBuilder layout with success and I would be sad to see it deprecated without an alternative. I use it to define fixed three and four cell grids such that windows cannot take up the whole desktop, and the last cell in the grid is tabbed. I am using xmonad and xmonad-contrib versions 0.13.

Example:

fix3 = myGaps $ layoutN 1 (relBox 0 0 0.5 0.5) Nothing (myGaps Simplest)
                $ layoutN 1 (relBox 0 0.5 0.5 1) Nothing (myGaps Simplest)
                  $ layoutAll (relBox 0.5 0 1 1) (myGaps $ tabbedBottom shrinkText tabTheme)

fix4 = myGaps $ layoutN 1 (relBox 0 0 0.5 0.5) Nothing (myGaps Simplest)
                $ layoutN 1 (relBox 0 0.5 0.5 1) Nothing (myGaps Simplest)
                  $ layoutN 1 (relBox 0.5 0 1 0.5) Nothing (myGaps Simplest)
                    $ layoutAll (relBox 0.5 0.5 1 1) (myGaps $ tabbedBottom shrinkText tabTheme)

Resulting in:

fixed4-1 fixed4-2 fixed4-3 fixed4-full

This layout makes sense for me on my secondary monitor where I just want a couple of small status windows without them taking up the whole 25 inches of my monitor, and without having to deal with floating.

I have observed that the tab decoration has persisted across all of my workspaces once or twice, but that seemed to have happened while I was tweaking the layout and recompiling xmonad a bunch. I haven't seen that happen since I've finalized the layout.

And, like I said, I am still new to xmonad, so if there is another way to get sort of fixed-size tiling layouts, let me know. The only other layouts that come close are fixMastered from X.L.Master and withIM from X.L.IM, but neither does quite what I want.