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 606671 - Support for application-indicators/StatusNotifierIcon
Support for application-indicators/StatusNotifierIcon
Status: RESOLVED FIXED
Product: gnome-control-center
Classification: Core
Component: general
git master
Other Linux
: Normal enhancement
: ---
Assigned To: Control-Center Maintainers
Control-Center Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-01-11 20:26 UTC by Jorge Castro
Modified: 2010-04-16 15:06 UTC
See Also:
GNOME target: ---
GNOME version: 2.29/2.30


Attachments
Patch to support Application Indicators instead of GtkStatusIcon (12.06 KB, patch)
2010-02-10 23:42 UTC, Travis B. Hartwell
none Details | Review

Description Jorge Castro 2010-01-11 20:26:09 UTC
We would like to support application-indicators for gnome-control-center as proposed at this page:

https://wiki.ubuntu.com/DesktopExperienceTeam/ApplicationIndicators

The Canonical DX team will provide a patch, but the work has not started, so I wanted to open this bug as a placeholder and to get feedback on the feature, thanks!
Comment 1 Jens Granseuer 2010-01-12 18:11:45 UTC
How does this fit in with gnome-shell? AFAIUI, some of the issues you're trying to solve will go away by themselves (e.g. applets being phased out). Have you discussed this with the gnome-sehll folks? If not, they are probably better targets than the control-center guys. (Admittedly, I haven't read everything on that page, but right now I'm unsure where the control-center even comes into play.)
Comment 2 Jorge Castro 2010-02-10 23:34:16 UTC
It's unclear how app indicators will work with shell as we haven't gotten to that point yet. This work is to improve the current situation in the panel. 

Moving forward this will have to be a discussion that we have at GUADEC with the -shell guys. We've made it so that application authors can support app indicators but fallback in the case the user's system doesn't have support.
Comment 3 Travis B. Hartwell 2010-02-10 23:42:41 UTC
Created attachment 153491 [details] [review]
Patch to support Application Indicators instead of GtkStatusIcon

Here's a first attempt at adding optional support for application indicators to Gnome Control Panel.

The progress of the patch has been reviewed over on Launchpad, and I've followed the suggestions to improve the code and hopefully make it more amenable to upstream.

https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/497857

Looking forward to feedback and how I might better improve this.
Comment 4 Travis B. Hartwell 2010-02-10 23:50:43 UTC
(In reply to comment #3)
> Created an attachment (id=153491) [details] [review]
> Patch to support Application Indicators instead of GtkStatusIcon
> 
> Here's a first attempt at adding optional support for application indicators to
> Gnome Control Panel.
> 
> The progress of the patch has been reviewed over on Launchpad, and I've
> followed the suggestions to improve the code and hopefully make it more
> amenable to upstream.
> 
> https://bugs.launchpad.net/ubuntu/+source/gnome-control-center/+bug/497857
> 
> Looking forward to feedback and how I might better improve this.

A couple notes I didn't mention:
- this patch was made from git.gnome.org tag GNOME_CONTROL_CENTER_2_29_6, which is the version currently in Ubuntu Lucid
- I have successfully done a git rebase against git.gnome.org's master HEAD, so the patch should cleanly apply against HEAD.
Comment 5 Rodrigo Moya 2010-02-11 17:29:54 UTC
It looks good to me, but:

* A way to reduce the number of #ifdef's would be appreciated. For instance, instead of having all the calls to update_* #ifdef'ed, it would be better to have an 'update_status' (or whatever) function that has the #ifdef'ed code inside it.

* Very minor thing: there are a couple places where the '(' is right after the function name, instead of having a space between it and the function name.

* We are in feature freeze right now (after Monday's release), so this can't go in the 2.29/2.30 branch (trunk right now), so it'll have to wait for the gnome-2-30 branch to be created, which will happen after the 2.30 release. Maybe, if you can, it would be great to have this in a branch that is kept up-to-date, so that we can merge it to trunk as soon as the 2-30 branch is created. If not, just poke us again after the 2.30 release
Comment 6 Travis B. Hartwell 2010-02-11 19:12:14 UTC
(In reply to comment #5)

Thanks for the feedback.

> It looks good to me, but:
> 
> * A way to reduce the number of #ifdef's would be appreciated. For instance,
> instead of having all the calls to update_* #ifdef'ed, it would be better to
> have an 'update_status' (or whatever) function that has the #ifdef'ed code
> inside it.

Makes sense, I can fix that.

> * Very minor thing: there are a couple places where the '(' is right after the
> function name, instead of having a space between it and the function name.

Whoops, thought I had caught them all, I'll also fix those.

> * We are in feature freeze right now (after Monday's release), so this can't go
> in the 2.29/2.30 branch (trunk right now), so it'll have to wait for the
> gnome-2-30 branch to be created, which will happen after the 2.30 release.
> Maybe, if you can, it would be great to have this in a branch that is kept
> up-to-date, so that we can merge it to trunk as soon as the 2-30 branch is
> created. If not, just poke us again after the 2.30 release

To make this easier for you guys, and since I was already using git
locally to manage my changes, I'm putting my changes up on github:

git://github.com/Nafai77/Gnome-Control-Center.git

I have two branches there (only one of which you'll be interested in):

app-indicator-lucid - this is where I'm maintaining the patches
		      against the version of g-c-c in Lucid.

app-indicator-head  - this is where I'll maintain the patches against
		      git.gnome.org HEAD

Hopefully, you'll be able to pull from app-indicator-head when you are
ready.  Just let me know if there are problems.

I currently don't have any changes on that branch, I've just set it
up.  I'm going to be cleaning up my changes and I'll push them there
sometime next week.  I'll make a note here when I'm finished.
Comment 7 Travis B. Hartwell 2010-03-08 15:52:58 UTC
Sorry this took a while, I've been busy with other tasks.

I just pushed my changes with your suggestions to the github locations mentioned in the previous comment.
Comment 8 Rodrigo Moya 2010-04-16 15:06:52 UTC
Patch committed to master. There were still lots of #ifdef...#else that could be reduced to make the code look simpler. So if you can work on that, that would be cool.

Also, please check I didn't miss anything. Seems to compile ok for me, but didn't do much testing