|
The Services menu (or simply Services) is a user interface element in a computer operating system. The services are programs that accept input from the user selection, process it, and optionally put the result back in the clipboard. The concept originated in the NeXTSTEP operating system, from which it was carried over into Mac OS X and GNUstep. Similar features can be emulated on other operating systems.
Contents |
Apple advertises the Services menu in connection with other features of its operating system. For example, it\'s possible to desktop search for a piece of text by selecting it with the mouse and using the service from Spotlight. Other central services are Grab for taking screenshots, and the system spell checker.
Since many applications install their entries without asking the user, the OS X services menu tends to clog up with dozens of entries quickly. Most users only will ever use a small subset of the possible options, therefore cutting down and customizing the menu makes it both faster and more pleasant to use.
From the point of view of software, the Services menu is a means of inter-process communication. To the user, it is an interface for executing actions on selected data. The emulation of the Services menu is based on the fact that there are several ways this can be achieved in an operating system. Even in Mac OS X, there is an alternative system called the context menu handler.
In the X Window System, any data selected in an application is available to all other programs. Thus the Services menu can be an application which retrieves the current selection, and lets the user choose an action. Missing is the part about returning the processed data back to the originating application. Instead, the service can open a new window to show the results.
Alternatively, the service could replace the current cut buffer with the results of the operation, leaving the user only to perform a paste (since different toolkits implement copy/select and paste commands differently, and probably not under external program control).
This article is licensed under the GNU Free Documentation License. It uses material from Wikipedia