[Xmonad] ideas on tabbed

Andrea Rossato mailing_list at istitutocolli.org
Sun Sep 30 04:23:11 EDT 2007


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:

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.


More information about the Xmonad mailing list