I would like to have an application appear in the messaging menu that is not installed there by default, is there a way to do that on a per-user basis?
Applications that are in the messaging menu each have a file in the system directory of:
That directory contains files that have the paths to the desktop files for those applications. You can also have one of these in your home directory with this path:
So let's say that I want to add Thunderbird to my messaging menu. I'd do something like this:
$ mkdir -p ~/.config/indicators/messages/applications/ $ echo /usr/share/applications/thunderbird.desktop > ~/.config/indicators/messages/applications/thunderbird
You'll need to restart your session (log out and back in) the first time you create the applications directory.
Here's an example of usage from a python application.
Documentation and example code for doing this can be found here on the Developer Portal.
Editor's note: page no longer exists, so I have replaced the dead link with an archive snapshot from June 2013. Other links on the linked page may be broken and information out of date