sabit / tint2

Automatically exported from code.google.com/p/tint2
GNU General Public License v2.0
0 stars 0 forks source link

Some icons don't appear for the first time when launching an application with systray #240

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. I'm running compiz standalone, real transparency in tint2
2. launch pidgin/xchat
3. Instead of the icon is just blank space

What version of the product are you using? On what operating system?
I'm using archlinux with the latest packages and latest svn version of tint.

The problem was introduced just recently I'm not sure with which update
(maybe gtk). The strange thing is that the problem occurs when I start the
applications. When I disable and reenable the systray icon in pidgin,
everything is ok. Same for other apps.

Original issue reported on code.google.com by szentand...@gmail.com on 27 Mar 2010 at 9:00

GoogleCodeExporter commented 9 years ago
when you say "some icons", do you mean others are working fine ?
if so, can you give a list with
- applications witch have the problem
- applications working fine

are you using arch AUR package (svn-402) or the latest svn-404 ?

Original comment by thilo...@gmail.com on 27 Mar 2010 at 9:18

GoogleCodeExporter commented 9 years ago
I guess the problem occured as an update of the xorg-server?
I had it once that after a standby, some icons were invisible.
For me, updating the xorg-server helped (maybe in the very latest 1.8 branch the
error was introduced again). A workaround to see the icons is to change to a tty
(CTRL+ALT+F1) and change back to the x-server (CTRL+ALT+F7). This forces a 
redraw of
the systray icons and then they look fine.

I have no idea, why the first time the xserver returns an empty pixmap instead 
of the
real systray icon...

This combination works fine for me: gtk+-2.18.9 with xorg-server-1.7.6

Original comment by Andreas.Fink85 on 27 Mar 2010 at 9:31

GoogleCodeExporter commented 9 years ago
@thilor latest svn means latest svn ;)
known working: linuxdcpp usually workes, claws-mail, deluge
not working: xchat, pidgin, some other random apps
Also noticed when an application tries to update it's icon, magically it 
appears :)
Probably due to the bug Andreas is talking about

@Andreas I use kms, so that redrawing thing didn't work.
my versions (64bit): gtk2 - 2.18.9 xorg-server-1.7.5.902. I have these exact 
same
versions on my laptop except they are 32bit and everything workes fine there...

So I guess it's an xorg bug then?

Original comment by szentand...@gmail.com on 27 Mar 2010 at 11:32

GoogleCodeExporter commented 9 years ago
Hm, I can remember that xorg-server-1.7.5.902 did work on my laptop (also 64 
bit).
It's hard to say who has to take care of this bug, because of my limited 
knowledge ;)

I just know that tint2 listens to Damage reports (i.e.whenever the systray icon 
is
changed), and then redraws the icon. So on the first icon drawing tint2 gets 
some
damage reports and then draws the icon (however it seems that the icon is not 
yet
correctly in memory or what ever the error here is). 

You could try the following two changes:
src/systray/systray.c - line 446
    XCompositeRedirectWindow(server.dsp, traywin->id, CompositeRedirectManual);
change it to:
    XCompositeRedirectWindow(server.dsp, traywin->tray_id, CompositeRedirectManual);

and src/systra/systray.c - line 587 & 588:
        if (traywin->render_timeout == 0)
            traywin->render_timeout = add_timeout(50, 0, systray_render_icon_now, traywin);
change it to:
    systray_render_icon_now(traywin);

Original comment by Andreas.Fink85 on 27 Mar 2010 at 12:12

GoogleCodeExporter commented 9 years ago
The first just messed things up, and no icon was visible. The second had no 
effect at
all.

Original comment by szentand...@gmail.com on 27 Mar 2010 at 1:43

GoogleCodeExporter commented 9 years ago
You could try in line 546 (same file as before)
    Picture pict_image = XRenderCreatePicture(server.dsp, traywin->tray_id, f, 0, 0);
changing to
    Picture pict_image = XRenderCreatePicture(server.dsp, traywin->id, f, 0, 0);

That's my last idea for the moment ;)

Original comment by Andreas.Fink85 on 27 Mar 2010 at 2:26

GoogleCodeExporter commented 9 years ago
sry, didn't help

Original comment by szentand...@gmail.com on 27 Mar 2010 at 4:29

GoogleCodeExporter commented 9 years ago
Is it possible to draw a default pic instead of the blank one? Currently the 
blank 
icon isn't even clickable.

Original comment by szentand...@gmail.com on 28 Mar 2010 at 10:46

GoogleCodeExporter commented 9 years ago
a default icon would not help either, since there seems to be an even deeper 
problem
than I first thought...

Maybe you could come to IRC one day, and we could discuss it a bit more (#tint2 
on
freenode)

Original comment by Andreas.Fink85 on 30 Mar 2010 at 6:21

GoogleCodeExporter commented 9 years ago
sure, my nick is l_man, I'll be with this comp (with the problemous tint2) till 
wednesday afternoon, after that only a week from now.

Original comment by szentand...@gmail.com on 30 Mar 2010 at 6:33

GoogleCodeExporter commented 9 years ago
I think this issue is fixed in current svn (245)

Original comment by lambchop...@gmail.com on 18 Apr 2010 at 3:46

GoogleCodeExporter commented 9 years ago
no, it isn't fixed, just tried it :(

Original comment by szentand...@gmail.com on 18 Apr 2010 at 3:58

GoogleCodeExporter commented 9 years ago
Oh, well this is how my configuration works:
.xinitrc:
<snip>
tint2 &
ck-launch-session openbox-session
<snip>

in openbox,
run compiz --replace --sm-disable ccp

and with r245 if I start pidgin I can see the icon! (unlike before - like you 
if I
toggled the icon on and off I could see it)
I also tried starting compiz straight from .xinitrc and it worked too....

Original comment by lambchop...@gmail.com on 18 Apr 2010 at 4:53

GoogleCodeExporter commented 9 years ago
I think it's actually r425
try starting tint2 _after_ compiz was started :)

that's really nice, that it's working for you, but still doesn't change the 
fact,
that it doesn't work for me ;)

Original comment by szentand...@gmail.com on 18 Apr 2010 at 5:01

GoogleCodeExporter commented 9 years ago
yeah i meant r425

good luck, I hope it works for you soon.

Original comment by lambchop...@gmail.com on 18 Apr 2010 at 5:17

GoogleCodeExporter commented 9 years ago
@ szentandrasii and lambchop468,

xdamage support is not uniform from one xorg driver to another.
it would be cool to specify for working or not working systray
- processor 64bit / 32 bit
- xorg driver (or chipset graphic card)

Original comment by thilo...@gmail.com on 19 Apr 2010 at 11:36

GoogleCodeExporter commented 9 years ago
processor: 64bit
xorg server: 1.7.6
xorg driver: xf86-video-ati-git 2010-04-14
chipset, mesa:
OpenGL renderer string: Mesa DRI R600 (RV770 9442) 20090101  TCL DRI2
OpenGL version string: 2.0 Mesa 7.9-devel

and I'm using kms + compiz standalone

Original comment by szentand...@gmail.com on 19 Apr 2010 at 11:46

GoogleCodeExporter commented 9 years ago
I noticed the icon disappearing again...so this is not fixed, sorry. However, 
it is
appearing on the startup of pidgin, which is better than before.

I am using archlinux like szentand
processor: 32bit
xorg server: 1.7.6
xorg driver: xf86-video-intel-git, 2010-4-15
OpenGL renderer string: Mesa DRI Intel(R) 945GME GEM 20091221 2009Q4 
x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 7.7.1 (uhoh I should update ;D)

Original comment by lambchop...@gmail.com on 19 Apr 2010 at 10:05

GoogleCodeExporter commented 9 years ago
tried tint2 r439 with xorg 1.6.0, 1.6.4 and 1.7.6.
under gnome, with and without composite manager.
can't reproduce the problem.

can you confirm the problem is still here with latest svn ?

Original comment by thilo...@gmail.com on 22 Apr 2010 at 9:04

GoogleCodeExporter commented 9 years ago
yes, still empty icons, will try after later after restart

Original comment by szentand...@gmail.com on 22 Apr 2010 at 9:12

GoogleCodeExporter commented 9 years ago
[deleted comment]
GoogleCodeExporter commented 9 years ago
I'm still seeing the same issue occasionally on Arch Linux with tint2 from 
[community] (0.11-4). I'm running latest xorg-server, and official nVidia 
drivers with Compiz and real transparency.
The problem seems to be intermittent and different applications are affected 
each time. The only one that seems to be hidden every time it happens is Kupfer.

Original comment by j...@thesquareplanet.com on 15 May 2011 at 12:10

GoogleCodeExporter commented 9 years ago

Original comment by mrovi9...@gmail.com on 2 Feb 2015 at 12:21

GoogleCodeExporter commented 9 years ago
Could you please let us know if this is still a problem?

Original comment by mrovi9...@gmail.com on 4 Feb 2015 at 10:50