I'm not sure this will work for you, but I suspect it will: As an experiment, I first want you to post the output of this command:
sudo env | grep -q 'DBUS' && echo 'That liar Gord Squash is! Environment variables for D-Bus are preserved when you sudo!' || echo 'Well, I guess Gord Squash was right! Environment variables are NOT preserved when you sudo!'
Translation: Last time I checked, the Indicator Applet uses D-Bus to communicate with applications. D-Bus is a protocol for passing messages and commands from one graphical application to another, part of the Free Desktop specification. It uses UNIX sockets to communicate with applications, in a manner not dissimilar to the way the X Protocol works, to an extent. Anyway, the Indicator Applet uses D-Bus, whereas the Notification Area uses the X Protocol. In order for applications to connect to D-Bus, a set of environment variables must be set when the application is run. Among them is the environment variable: DBUS_SESSION_BUS_ADDRESS
. By default on most systems (I've tried it on Ubuntu MATE in the past and I just tried it on this Gentoo system a few seconds ago), sudo
deletes certain environment variables from the command about to be run as root, because otherwise said commands could cause a lot of havoc to your setup. So sudo
deletes the environment variable DBUS_SESSION_BUS_ADDRESS
from the environment, and then the application run as superuser cannot connect with D-Bus. Thus the application can't use the Indicator Applet, and voila! It falls back to the X Protocol-driven Notification Area. (Most distributions of GNU / Linux, including Ubuntu MATE, add a special exception to the "unset the environment variables" rule so that sudo
does not unset the environment variables involved in establishing a connection to an X server. That's why applications work at all running as superuser.)
Short version: To launch an application in the Notification Area instead of in the Indicator Applet, launch the application like this:
env --unset=DBUS_SESSION_BUS_ADDRESS [name of application here]
This might cause other problems, but let's see how that works for you.
Good luck!