Hello,

wanted to confirm this bug (on Kubuntu 7.10 with all updates until now,
graphics card is - if this information is useful - an nVidia 7950 GTX or
however it is called...^^") and post some things I found out about this;
maybe this is useful to someone... (and hopefully someone can understand
this crappy English I'm writing here :P); I didn't know where else to
write this (my launchpad profile gives me a "Homepage" inside the Ubuntu
wiki - can/may I publish such information there??):

At first: None of the mentioned workarounds really worked for me but I
found out, that Adept Notifier getting displaced from the tray when you
start compiz AFTER session "restoration" (all tray icons already there)
and before or within, are two distinct problems; in the second case,
this behavior can also hit other applications as mentioned in this bug
report: https://bugs.launchpad.net/adept/+bug/47988. For me, it was
mainly kBluetooth, but also Amarok from time to time.

I compiled a test KDE environment so that I could insert logging at the 
interesting portions (the systray "suff") of kdelibs and kdebase.
What I found out now is, that if you start compiz as part of the session, then 
the windows, that get "displaced" from the tray, actually never get added to 
it. I placed a log command inside SystemTrayApplet::embedWindow and it doesn't 
show up in the log file.
If I start compiz after session initialization, the log says, that Adept 
Notifier got added - but twice; also logging the removal of tray icons showed, 
that it was also removed several times (my logs are a bit weired so don't hit 
me, if these numbers are wrong).

I don't know, whether this behavior is correct (I mean, the adept tray icon is 
hidden and so on ...) but it made me look into adept_notifiers code and I think 
I narrow the source of the bug a bit:
I have written a very simple kde app (kdevelops "Hello World in KDE") and added 
a tray icon to it:
tray = new KSystemTray (NULL, NULL); // tray is a KSystemTray *
tray->hide ();
This is in the constructor of my KApplication derivate, which is approximately 
what adept does without checking for updates and so on.
If I now start this application and start compiz after it, I get - as with 
adept - a small window in the upper left screen edge, which also shows up in 
the taskbar (ADDITIONALY to the applications main window).

My conclusion: KSystemTray::hide (which is actually a method derived
from Qt's QLabel, which in turn gets it from QFrame if I remember
correctly) does something to tray windows, which makes compiz make them
top level windows. Actually this also happens with metacity; now I don't
know, how much code compiz and metacity share, so I cannot say whether
this is a Qt bug or one in compiz's / metacity's common codebase...

If I talk absolute nonsense here and this behavior is normal then just ignore 
me or write me some insults via e-Mail, but I think this is what makes adept 
behave like that and if you call that a bug, than it cannot be wanted behavior.
I hope somebody can do something with this and am sorry for flooding this 
thread with such a long text oO

-- 
starting compiz in KDE displaces adept from tray
https://bugs.launchpad.net/bugs/131013
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to