After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 306974 - [patch] transparency support for notification area icons
[patch] transparency support for notification area icons
Status: RESOLVED DUPLICATE of bug 150726
Product: libegg
Classification: Other
Component: tray
unspecified
Other All
: High enhancement
: ---
Assigned To: Libegg maintenance
Libegg maintenance
Depends on:
Blocks: 100600
 
 
Reported: 2005-06-09 01:03 UTC by Allison Karlitskaya (desrt)
Modified: 2006-07-28 21:29 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
bury the patchet. (8.48 KB, patch)
2005-06-09 01:04 UTC, Allison Karlitskaya (desrt)
none Details | Review
screencap (43.65 KB, image/png)
2005-06-09 01:07 UTC, Allison Karlitskaya (desrt)
  Details
the difference (15.46 KB, image/png)
2005-06-11 14:56 UTC, Allison Karlitskaya (desrt)
  Details

Description Allison Karlitskaya (desrt) 2005-06-09 01:03:37 UTC
notification area icons are one of the few things left on the panel that are not
yet transparent.

the attached patch is a backward and forward compatible change to both the
client and server side of libegg to implement transparency support similar to
what the panel does (in fact, a lot of the code is taken straight from
libpanel-applet).

kde (and other) interop is not broken by these changes.
Comment 1 Allison Karlitskaya (desrt) 2005-06-09 01:04:45 UTC
Created attachment 47484 [details] [review]
bury the patchet.
Comment 2 Allison Karlitskaya (desrt) 2005-06-09 01:07:10 UTC
Created attachment 47485 [details]
screencap

I forgot to mention that I also copied the modified eggtraymanager.[ch] into
the notification area applet (and added some support) and then copied the new
eggtrayicon.[ch] into gossip and a little mail notification app that I wrote.

It looks pretty much like you'd expect...
Comment 3 Ilya Konstantinov 2005-06-11 14:34:09 UTC
How is this different from my patch on bug 150726 ?
Comment 4 Allison Karlitskaya (desrt) 2005-06-11 14:56:47 UTC
Created attachment 47616 [details]
the difference

I tried your patch from bug 150726.  It made no visible difference for me (or,
at least, didn't change what I was looking for).

The notification icon in this attachment has 3 icons in it.  The left-most is
my mail notification app using the patch in bug 150726.  The middle icon is the
same app using this patch (and of course, Gossip on the right also using this
patch).
Comment 5 Sven Herzberg 2005-12-13 14:11:33 UTC
So, basically this should work when I patch the systray applet and the
application that's supposed to have a transparent icon, yes?

I just tried it with rhythmbox (and yes, after installing the new versions of
panel and rb i logged off and on) and it doesn't seem to work.

Is your mail notification available somewhere so I can try it out with that app?
Comment 6 Ilya Konstantinov 2005-12-19 10:42:30 UTC
Ryan, just to make sure: your solution consists of passing a "pixmap of a background for you to draw on" from the notification area to the individual icon-holding apps?
Comment 7 Allison Karlitskaya (desrt) 2005-12-19 15:24:05 UTC
Yes.  it works exactly like the applets work for their transparency.  Unfortunately, I seem to have lost the patch to the notification icon applet so this is currently a half-solution.  Shouldn't be too hard to whip it up again though but right now I'm quite busy with other things.
Comment 8 miles.lane 2006-03-06 09:38:24 UTC
I'll add my request for this functionality.  The current non-transparent backround behind the notification icons looks hokey.  Thanks.
Comment 9 Sebastien Bacher 2006-05-01 13:03:19 UTC
No change on that patch. Ccing Vincent, maybe you could have a look on the patch and commit it, that's something panel-ish for you ... :)
Comment 10 Sebastien Bacher 2006-05-01 13:10:03 UTC
is that doing the same job as the patch from bug #100600 by example?
Comment 11 Allison Karlitskaya (desrt) 2006-05-01 16:35:54 UTC
bug 100600 seems to be using a method that was done by someone else and failed (ie: there were a lot of cases that it didn't handle properly).

_however_ the patch currently in bug 100600 seems to be a bit better in that it hooks the expose event handler.  i think that maybe this will solve the problem but i'm not sure.

the one case that might still be broken is the case of the contents of the icon changing.  if this doesn't generate a synthetic expose event then i think in that case the background may not be properly repainted (ie: the new icon will overlap the old icon if they have different shapes/sizes).

my question (which hopefully vincent knows the answer to):

why do applets do the transparency the way that they do?  is it simply because the person who originally wrote the code didn't know that the approach in bug 100600 was possible or is it because the approach in bug 100600 is broken?  my approach is essentially identical to how applets work.

the answer to this question should be the deciding factor on if my code or the bug 100600 code gets included.  if the answer is that the applets work in a silly way then we should also reevaluate how the applets make themselves transparent.
Comment 12 Vincent Untz 2006-05-01 22:11:00 UTC
(In reply to comment #11)
> why do applets do the transparency the way that they do?  is it simply because
> the person who originally wrote the code didn't know that the approach in bug
> 100600 was possible or is it because the approach in bug 100600 is broken?  my
> approach is essentially identical to how applets work.
> 
> the answer to this question should be the deciding factor on if my code or the
> bug 100600 code gets included.  if the answer is that the applets work in a
> silly way then we should also reevaluate how the applets make themselves
> transparent.

So, err, I don't know the answer.

However, I do know that this patch won't work for people not using our implementation of EggTrayIcon (eg, people using Qt).

Thinking about it again, setting the background pixmap to NULL for applets might not be enough since applets are not "simple" icons, but much more than this. So in some cases, it might not work.
Comment 13 Vincent Untz 2006-07-28 21:29:30 UTC
People are using patch in bug 150726. Let's say this solution is not the one people are using and close this bug.

*** This bug has been marked as a duplicate of 150726 ***