[Xmonad] ideas on tabbed
Stefan O'Rear
stefanor at cox.net
Sun Sep 30 12:50:58 EDT 2007
On Sun, Sep 30, 2007 at 10:23:11AM +0200, Andrea Rossato wrote:
> Hi,
>
> there was a discussion tonight (it was 5 AM here ;), about some issues
> with Tabbed: I'm answering here, since the story is a bit long.
>
> Some applications do not comply with the window's size xmonad gave
> them and do not display correctly.
>
> Here's an example provided by sorear:
> http://members.cox.net/stefanor/1191121852.png
>
> As you see there is an urxvt over firefox, which causes not only that
> visible problem, but focus problems too, since when the pointer enters
> the unhidden window that window would receives the focus.
>
> Now, there are two problem:
> - should tabbed hide unfocused windows?
> - should xmonad implement in Main that mouse focus stuff?
>
> I think the answer is no to both questions.
>
> >From XMonad.hs:
> -- 'doLayout': given a Rectangle and a Stack, layout the stack elements
> -- inside the given Rectangle. If an element is not given a Rectangle
> -- by 'doLayout', then it is not shown on screen. Windows are restacked
> -- according to the order they are returned by 'doLayout'.
>
> Tabbed returns a list with just the focused window and the relative
> rectangle. I think this is the correct behavior for a layout.
>
> But tabbed has enough information to unmap those windows and map the
> back when a Hide message is send to tabbed. So, please let me know if
> you think this second behavior is better.
>
> The mouse focus stuff: I tried (and still trying) to implement a
> layout modifier that will take care of the problem, so that we can
> remove the CrossingEvent handler (actually I get rid of it in my
> working xmonad instance) from Main and make it a configuration option.
> Still the problem is a bit tricky and did find a solution that works
> with every possible layout.
Argh. I seem to have mis-communicated myself horrendously.
Urxvt *is* obeying the size xmonad gives it, because I'm using
LayoutHints.
(old) Tabbed is displaying all windows, but relying on the focused
window's position in the Z-order to prevent others from being visible.
This is very fragile, and with LayoutHints it is possible to see other
windows; this is a major annoyance because of the interaction with mouse
focus. (moving to lower right makes firefox pop to the top and I have
to mod-j)
The behavior I would like to see does not involve any explicit
unmapping, but rather simply omitting them from the list of windows that
should be visible. (Don't you just love functional style? :) )
'full' already exhibits the behavior I want.
David Roundy did not want the behavior in (old) Tabbed, for reasons I
did not understand and did not like.
My question was whether New Tabbed did what I wanted.
Yesterday on IRC I threatened a fork.
With the benefit of sleep I have a *much* better idea.
If New Tabbed doesn't do what I want after my next upgrade cycle, I'll
add a boolean configuration option.
No big deal.
Stefan
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://www.haskell.org/pipermail/xmonad/attachments/20070930/91047938/attachment.bin
More information about the Xmonad
mailing list