Services Menu, how does it work?

in macOS edited January 2014
I'm looking to find a tool to manage the Services menu, and wasn't able to find much of anything on my own. Any pointers would be much appreciated.

As far as I can tell, what appears in the Services menu is determined by the system at login by scanning the applications directory and examining application's Info.plist files for an NSServices property; but as this is all determined at the application level, there doesn't seem to be any option for user level control of the menu contents, i.e. allowing different users to set up their Services menus differently. If this is really the case, then this is functionality that Apple very much needs to add.

I'm led to ask because I'm having a problem with the 'Define in OmniDictionary' service: Instead of launching OmniDictionary, it launches the Classic-mode "This application requires Mac OS X" applet. However, if OmniDictionary is already running, then the service functions correctly. Deleting the Classic-mode applet from OmniDictionary's package, just causes nothing to be launched when selecting the menu item; the behavior when OmniDictionary is already running doesn't change. Logging out and in again doesn't help, and neither does reinstalling OmniDictionary. As far as I can tell, the Info.plist for OmniDictionary is OK, but I can't be certain about that. This leads me to think that the system is storing the services launch information somewhere else, or building it somewhere else, and that there it is somehow not pointing to OmniDictionary properly; but when OmniDictionary is launched, perhaps it registers it's service properly with the system.

Anyway, any insights into this problem or the functioning of the Services menu generally would be great!
Sign In or Register to comment.