10

I am tired of the envelope in the indicator applet (also known as the messages menu) because I don't use it so I would like to get rid of it but I don't have root access so I can't remove it by uninstalling the indicator-messages package. Is there another way to disable this applet?

Doesn't the indicator applet offer a way to select which indicator is displayed or not?

3
  • Have you tried, right click >> "Remove from panel" is that what you want?
    – Decio Lira
    Sep 7, 2010 at 21:06
  • 2
    @Decio, No. That removes the whole indicator applet, not just the messages indicator. I still need other indicators like the sound indicator.
    – levesque
    Sep 7, 2010 at 21:17
  • When I had a similar problem, the only way I was able to resolve it was to place a tiny 'don't panic!' sticker over the offending icon.
    – belacqua
    Jan 26, 2011 at 2:34

4 Answers 4

10

If you just want the messaging menu to hide you can blacklist all of the applications that are in it. You can do that by copying all the application links to your local black list directory. Here is the command line way to do that:

  mkdir -p ~/.config/indicators/messages/applications-blacklist
  cp /usr/share/indicators/messages/applications/* ~/.config/indicators/messages/applications-blacklist

The first time you create the blacklist directory you'll need to restart your session (log out and back in) and then the messaging menu should hide itself.

1
  • It doesn't seem to work. I still get the applet.
    – levesque
    Jan 18, 2011 at 20:18
3

http://ubuntuforums.org/showthread.php?t=1470786 according to this you can go to karmic like applet by removing indicator-applet from panel and adding gnome-volume-control-applet in startup application

1
  • That is one workaround, thanks, however I believe the indicator applet might come in handy in the future, since it is becoming a rather central point in Ubuntu and everything. I would rather not remove it all ;) Starting to think there is no solution without diving in the code/opening a suggestion on launchpad.
    – levesque
    Sep 8, 2010 at 11:04
2

Based on Riccardo Murri's answer (Sep 8 '10 at 13:19) I have checked the code and noticed that only modules that end in .so are loaded from INDICATOR_DIR (/usr/lib/indicators/3).

if (!g_str_has_suffix(name, G_MODULE_SUFFIX)) {
   return FALSE;
}

So

cd /usr/lib/indicators/3; sudo mv libmessaging.so libmessaging.so.disabled

did the trick for me on 10.04, Lucid.

1
  • In 12.04, the directory has become /usr/lib/indicators3/7. Jul 11, 2014 at 9:21
1

Looking at the source of indicator-applet-0.3.7, it seems you cannot: every installed module in some "INDICATOR_DIR" (it's /usr/lib/indicators/3 on my 10.04 box) is loaded. The "INDICATOR_DIR" is defined as a compile-time constant, so there is no way to change it on a installed system. The relevant source is at lines 703--728 in applet-main.c:

    /* load 'em */
    if (g_file_test(INDICATOR_DIR, (G_FILE_TEST_EXISTS | G_FILE_TEST_IS_DIR))) {
            GDir * dir = g_dir_open(INDICATOR_DIR, 0, NULL);

            const gchar * name;
            while ((name = g_dir_read_name(dir)) != NULL) {
                    /* ... some lines omitted for brevity ... */
                    if (load_module(name, menubar)) {
                            indicators_loaded++;
                    }
            }
            g_dir_close (dir);
    }

As a workaround, you could (warning: untested!):

  1. compile your own version of indicator-applet, specifying a different "INDICATOR_DIR": if you pass --enable-localinstall to ./configure, then "INDICATOR_DIR" will be located in $libdir/indicators/2 and you can also set $libdir via command-line options to ./configure.

  2. within your own INDICATOR_DIR, only activate the indicators you want (just symlinking the system-wide ones should suffice)

  3. use a ~/.gnomerc or ~/.xsession file to modify PATH so that your own indicator-applet binary comes before the system-wide one.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .