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