
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. Andrea