[xmonad] X.M.TabbedModifier is the Tabbed-Solution

Adam Vogt vogt.adam at gmail.com
Thu Feb 19 14:41:59 EST 2009


* On Thursday, February 19 2009, Dominik Bruhn wrote:

>Hy everybody,
>the patch by Adam Vogt containing the "TabbedModifier" seems the solution to my
>wishes (see my mail "Real Tabbing support"). Although its not perfekt at the
>moment it seems the right way. I got the following anotations:
>
>1. Before applying it to the rep fix the following error:
>The documentation is wrong, it imports a module named Tabify which was renamed
>to TabbedModifier. Also the keybinding for the "UnTab" is wrong, it should read:
>"sendMessage . Tab.UnTab" instead of "sendMessage . UnTab" because of the
>imorts.

Yes.

>2. Sometimes, some of the tab-headers are not drawn but stay empty.

For me, the titles of hidden windows don't have any text after a resize, 
but is fixed when the focus is changed, or after just a 'refresh' (M-n)

I'm not sure where to start on this bug. The problem could be in my code, 
XMonad.Layout.Tabbed.addTabs...

>3. Sometimes a tab-switch also moves the whole window around. To repoduce check
>the following: Take a empty Workspace with the "Tall" Layout. Open three
>console-windows and open some applications in them (ill take top, htop and
>mutt). Stack all of the to the left (using Ctrl+Mod+H), so that all three are on
>the same tabbed-stack. Now UnTab the first window (moves to the right) and try
>switiching tabs (two tabs remain). On every Tab-Switch the Tab-Stack moves from
>left to right or right to left. 

I can think of a couple ways to solve this, though I'm not sure which sort 
of behavior is better (and adding an option between the 3 choices would 
just confuse everybody):
    0. keep it the same, but just allow groups to be created out of windows 
    adjacent in the stack (ie. don't use windowNavigation to pick the 
    window to merge into)

    1. rearrange the WindowSet to keep the tabbed groups together, so the 
    modifier can keep asking the underlying layout to place the focused 
    window where it would normally be placed
        - tabbing and untabbing causes the WindowSet to be rearranged

    2. ask the underlying layout to place group where the 'master' of the 
    group would go.
        - you won't be able to rearrange tab groups with the regular 
          WindowSet operations (M-K,M-J, windowNavigation...), unless the 
          first tab is focused

>4. A keybinding for only switching tabs is missing.

That shouldn't be too difficult to add a specific message that will do 
that.

--
Adam


More information about the xmonad mailing list