I've just tested your hack and it worked, but not very well.
When I placed a floating window on a tabbed workspace, changed the focus from floating and tiled alternately, it worked as expected.
But when I closed the floating window, the tiled windows just switched as before, which is not a big problem.
The real problem happened when I tried to float a tiled window, xmonad got crazy.
xmonad process got a 100% usage on a core and the 'screen' were not updated anymore, only the later window had the focus. No way to change the focus or do anything.
Hopefully this window I tried to float were a terminal and was able to kill xmonad and re-run it without kill X or logging ssh.
(xmonad --restart didn't worked)
Anyway, this switching focus problem is really annoying.
I'm willing to test anymore hacks you build :P
Henrique G. Abreu
Hi
>>In the other words you can't switch tabs after you've added a floatingOK, attached is a hack from my xmonad.hs
>>window: as soon as floating gets focus again, tabbed restores it's
>>state as it was before the floating window was added.
>>It's quite annoying and I'd like to fix it, but X.L.Decoration logic
>>is too complicated to me. Or maybe I should look at some other place?
>
> This affects all layouts as far as I can tell. I suspect it has something
> to do with this defect:
> http://code.google.com/p/xmonad/issues/detail?id=4
The idea is very dumb: I essentially intercept runLayout and memorize
last focused window w from passed Stack such that w ==
current->workspace->stack->focus ,i.e. if a window actually having
focus is the one focused in Stack. Then as soon as focused window is
floating I change Stack's focus (back) to w.
Seems to work for me: tabbed no longer switches tabs by itself when
there're floating windows around.
_______________________________________________
xmonad mailing list
xmonad@haskell.org
http://www.haskell.org/mailman/listinfo/xmonad