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

Reply via email to