Dissappearing Titlebars in Ion3

Guarded Identity khe31uw02 at sneakemail.com
Thu Feb 9 10:19:53 CET 2006


Hi,

I'm hacking through an issue that a few people that use the Ion3 windows 
manager have run into.  I looked through the archive and it seems to have 
been brought up:

http://lists.schmorp.de/pipermail/rxvt-unicode/2005q4/000166.html
http://lists.schmorp.de/pipermail/rxvt-unicode/2005q4/000167.html

But the archive seems to be missing some messages from this thread.

I also have a "patch" that solves the problem, but it's really just a 
commented out XClearWindow() call in command.C.  I fished out that command by 
stepping through a gdb session until the titlebar disappeared.

There are actually three calls to XClearWindow() in command.C, but I found 
that just commenting out the last one (line 2629 as of the latest CVS 
snapshot) seems to suffice.

However, this is clearly a hack.  I was wondering if someone who knows more 
about X11 conventions can elaborate on situations where commenting this line 
out would cause problems.  Are calls to XClearWindow() really necessary here?  
I played around with my modified urxvt in both Ion3 and KDE, and there didn't 
seem to be any aberrant behavior.  I also tried to read the code as best as I 
could, but I think there's enough stuff there, that my understanding of 
what's going on is still superficial.  I understand that parent windows are 
being updated, but I just don't know why calls like XClearWindow() are 
executed.

An alternative to commenting out the XClearWindow() line is to disable support 
for tinting at compile-time.  This seems to manipulate the control flow 
enough to dodge the dissapearing title-bar problem, but it causes a slower 
rendering of the background upon a move or resize.   Commenting out the line 
seems to provide the best of both worlds.

So schmorp on #rxvt-unicode mentioned that pseudo-transparency is evil and 
that I should either use real transparency or a pixmap with the 
automove-background Perl extension.  I agree that pseudo-transparency is 
vile, but I think real transparency is too immature to use.  Also, the Perl 
extension is too slow with any more than three terminals.

There's another response that I expect someone might bring up -- that I 
shouldn't mess with transparency because it just makes the terminal noisy.  I 
completely understand this attitude, but in Ion3, the environment is 
extremely flat, and a transparent terminal is about as much "flash" as one 
gets.  I make sure not to use tinting or shading and I manipulate my 
background with Gimp to have only slight gradients of one color, so it's not 
so intrusive -- more like a light watermark.

So I'm assuming the XClearWindow () call was there for a real and legitimate 
reason.  I'm wondering if there's a solution that more properly solves the 
dissappearing titlebar problem without sacrificing performance.

Thanks for your help,
Sukant
 




More information about the rxvt-unicode mailing list