27

I've whitelisted some indicators for apps that don't yet have Unity-compliant appindicators. Is there any way to blacklist appindicators for apps that are Unity-compliant (not old-style indicators) but don't provide a "Don't show in the system tray" option?

  • Any working solutions to ban an appindicator from being displayed, GUI- or CLI-based, are welcome.
  • A valid alternative would be a way to hide the indicator in a similar fashion to how you can show/hide system tray icons in Windows 7. According to the answer to this closed question this is not currently possible in Ubuntu.
  • Techniques that cover old indicators as well as new indicators are also valid. (Removing items from the systray-whitelist only works for old indicators.)
lofidevops
  • 20,924
  • Could you provide the name of an app or two that you wish to "blacklist" – doug Nov 09 '11 at 15:56
  • @doug stackapplet, wakoopa, possibly others but they aren't open right now :) – lofidevops Nov 09 '11 at 16:21
  • Skype also comes to mind. You could remove sni-qt, but that would also remove the indicators of all other qt apps. – mniess Nov 10 '11 at 15:39
  • @mniess yes, skype too - I hadn't realised how similar the questions are :) my rationale for keeping them apart: question 61514: includes non-appindicators, was looking for a UI-based option, and was looking for a temporary "hide"; this one is specific to appindicators, looking for anything including cli and obscure file tweaks, and a permanent "blacklisting" - I'm happy to clarify my wording in each if necessary, but if they're still considered too similar, so be it – lofidevops Nov 10 '11 at 15:55
  • 1
    I am confused on how the most accepted answer in this question is one that says that if there are no applets running they should be left that way. I'm sure you are trying to prevent something from running, not to activate something you should not see to start with. – Bruno Pereira Nov 15 '11 at 23:19
  • @BrunoPereira I do want the application to run; for example, I use skype-wrapper to make skype appear in the messaging menu so I want to remove the skype indicator (without removing sni-qt as mniess mentioned) - same goes for the other apps I mentioned - but I'll keep your answer in mind when I need to track down an indepedent applet, thanks! – lofidevops Nov 16 '11 at 06:41
  • for that you need to make changes in the source code of the app in question or find an addon for the app that does that for you, some cases that will be impossible. ie, skype: source not available, addon possible but i dont know any existen one. – Bruno Pereira Nov 16 '11 at 08:36

4 Answers4

11

To not load an applet just prevent it from running.

If the indicator is coded in to the application and the application does not give you an option to remove the indicator from the panel you wont be able to omit it, you cannot omit an application indicator that is build in to the code and has no option to disable it, for that you need source code changes either made by you or you can suggest them to the app developer, which is the last case will be depend on which applications your are referring to.

There are no specific guidelines explaining if and application should or should not have an inductor applet, only what an indicator applet should do.

You can still remove the system applets made by gnome for you system or if the application it self uses an external applet to be used as a indicator.


To remove one of the gnome / unity indicators that are visible by default open the terminal and run this command to show all the applications that can be loaded at start up

cd /etc/xdg/autostart/ && ls

Identify the applet that you want to prevent from loading and edit it with your favorite text editor, ie:

sudo nano nm-applet.desktop

Locate the line with these contents

NoDisplay=true

and change it to

NoDisplay=false

Save and close the terminal.

Click the cog weel in the top right corner of the screen next to your username and select Startup Applications..., now you will see the application that you just edited the .desktop file and you can disable it.

The applet wont load on next boot

After enabling or disabling and applet following the steps above you will see that each .desktop that you modify will create it's own .desktop file in your ~/.config/autostart folder.

If an applet indicator that you want to disable does not show on your startup list you need to use the method above, else there will be a .desktop file inside ~/.config/autostart that can be edited with the described method and will then be possible to enabled/disabled in the startup applications.

Bruno Pereira
  • 73,643
  • 1
    Bruno - nice answer +1 – fossfreedom Nov 15 '11 at 23:18
  • @bruno thanks your answer is helpful for the case where the application can run independently of the indicator applet; this doesn't suit my case but maybe someone else will benefit – lofidevops Nov 16 '11 at 06:38
  • The difference between what you want and what you can do is explained on the 2 first sentences. You cannot omit an application indicator that is build in to the code and has no option to disable it, for that you need source code changes either made by you or you can suggest them to the app developer. – Bruno Pereira Nov 16 '11 at 10:07
  • thanks for the additions to your answer bruno; I think I've seen unity/ubuntu-specific indicator guidelines, if I find them again I'll post the link here – lofidevops Nov 16 '11 at 13:57
  • I have found @sokai answer really useful, for the applications I tried to hide it worked, and at least one has the tray hard-coded in core. – Radu Maris Mar 23 '13 at 21:19
6

Most probably indicators you don't want to see, shouldn't be there in the first place according to the design guidelines. So the right course of action (right now) should be to contact the author.

mniess
  • 10,546
  • I'm hoping someone has a reliable hack or I will have no choice but to accept your answer :) – lofidevops Nov 10 '11 at 16:13
  • am I correct that according to the design guidelines the developer ought to provide such an option? if so do you have a recommendation on how to suggest this to the developer? could you provide a link to the latest guidelines/any relevant discussion? and while you're at it, a pony, thanks – lofidevops Nov 16 '11 at 08:51
  • I added the documentation for appindicators to the post. I'd just write an email to the developer asking him to either remove the icon or provide an option to hide it (at least a cmd-line parameter). – mniess Nov 17 '11 at 16:23
2

Does your app (that is missing the option) appear in the global panel? - I think, if yes, it is whitelisted and you have to take it out of the systray-whitelist = blacklisting... ;)

So if app "appMissing" resists in the panel your systray-whitelist is (something like)

    #~> gsettings get com.canonical.Unity.Panel systray-whitelist
    ['appA', 'appB', 'appMissing']

and you have to blacklist "appMissing" by doing

    #~> gsettings set com.canonical.Unity.Panel systray-whitelist "['appA', 'appB']"
sokai
  • 153
  • If you are interested in a GUI method for changing systray-whitelist see this post: http://askubuntu.com/questions/39843/application-indicator-for-shutter/39854#39854 – sokai Aug 06 '11 at 08:30
  • unfortunately the apps don't appear in systray-whitelist - I'm guessing because they have correctly configured appindicators - I'm updating the question to reflect this – lofidevops Nov 09 '11 at 15:36
0

Some icons in the system tray can be disabled by unity tweak tool. You should go to panel section and uncheck options, there.

Amir Fo
  • 61