Yes, i noticed that problem too, so please wait with the patch. As some don't understand what the problem is, here is a better description:
The tabbed mode in urxvt works using different instances of urxvt without letting the user notice that: One instance for the tabbar, one instance for each shell (tab) you opened. Normal windows are controlled by the window manager, he gives the window a border, a stacking and allows to give or take the focus. If you want to have something like the gnome panel or the urxvt tabbed mode, you need to use the x window property _XEMBED_INFO . The properties are read on window creating by the window manager and he actes then. For _XEMBED_INFO this does mean: Don't give a border, don't give or take focus, don't allow to move or any other things - just ignore this window. As for urxvt tabbed mode this does mean: - main window showing the tabbar is a normal window (no _XEMBED_INFO) - each shell (tab) is an extra window with _XEMBED_INFO set Now the tabbing extension of urxvt takes control over showing the shells or moving the windows. If you switch a tab (and also on first creating of a tab) the window properties of shell window are given to the main window. This is needed for setting the title in the titlebar and such stuff. Now this is alright. The problem is: The _XEMBED_INFO window property is also given to the main window - so the main window has these property. Now why does these still work? Normaly a window manager does read the window properties once on window creating. There is no need to reread the window properties again and again as a normal window wouldn't change his state to _XEMBED_INFO or something. So that's why that still works - it's simply chached by the window manager (and that's ok). So we have a wrong setting on the main window but the window managers don't know about that. Now i have a special case where this breaks: Enlightenment e17 allows to restart the window manager while still keeping all windows. The window manager does the restart, rereads the window properties - and that's where it fails! The urxvt main window has the _XEMBED_INFO setting and the window manager goes the correct way and ignores the window. So this is a problem which exists and which isn't a problem of the window manager, simply other window manager don't allow to restart itself, in short, this is a bug. I guess IceWM does read the window properties more often instead of caching and that's why it's also happen there. Again, it is NOT a bug in the window manager, it is a bug in the tabbing code. The solution itself is simple: Just don't give the main window the _XEMBED_INFO and everything is ok. :) My patch tried to do this but it fails on different machines as the atom numbers are changing. So it's better to use something like _XEMBED_INFO for the comparison, but didn't checked that for now. Hopefully it's now clear how the problem appears and how to fix it. You can check that yourself using `xprop`. Might drop a better patch during the next few days - if someone other do - please keep me informed. Greets, Brian 'morlenxus' Miculcy On Tue, Mar 09, 2010 at 02:53:55AM +0100, Mikael Magnusson wrote: > On 8 March 2010 01:34, Brian 'morlenxus' Miculcy <[email protected]> wrote: > > Hello all, > > > > while using the tabbing extension i noticed a bug: When switching tabs > > all properties of the swallowed urxvt window where assigned to the main > > urxvt > > window - including the _XEMBED_INFO . This is absolutely wrong and leads to > > problems when the window manager is restarted while running urxvt windows > > with > > tabs: The urxvt windows appear without any border or any window manager > > control. > > Please answer directly as i'm not assigned to the list. > > > > Keep up the good work! :) > > > > Greets, > > Brian 'morlenxus' Miculcy > > I think you will find that atom numbers are dynamically allocated. For > me _XEMBED_INFO is 370 at the moment. > > -- > Mikael Magnusson _______________________________________________ rxvt-unicode mailing list [email protected] http://lists.schmorp.de/cgi-bin/mailman/listinfo/rxvt-unicode
