Menu extra
A menu extra, menu item, menulet, or status item is a graphical control element in macOS. It is a small indicator that appears at the right of the menu bar. They often provide quick ways to use applications (e.g. iChat) or display information (for example the system clock), or control system-level variables (for example audio volume). There are a number of third-party menu items available. Menu extras are similar to items in the Microsoft Windows notification area but are less common.
There are many menu extras supplied with macOS, many independent third-party menu extra applications, and many more supplied with 3rd-party products, most of which are installed from their parent application or system preferences pane, and may remain dormant until they are notified of an event (for example, Inkwell's menu extra will come and go when a graphics tablet is connected and disconnected). While macOS provided no centralized tool to enable or configure menu extras, some of them can be rearranged and dragged off the menubar while depressing the ⌘ key. Also, all Apple-supplied menu extras can be found in the folder /System/Library/CoreServices/Menu Extras
. Yet, a centralized tool is in the "Dock and menu bar"[1] preference pane of the System Preferences.
Menu extras were introduced with Mac OS X v10.1 to replace Dock extras (docklings), and may thus be viewed as another attempt to bring the Control Strip to OS X. There was some controversy when they were originally introduced due to Apple providing an API for third-party developers to use to create menu extras using the NSStatusItem class, while Apple used another private class called NSMenuExtra to develop their own menu extras. Menu extras based on NSMenuExtra automatically included a number of extra features not available to NSStatusItem-based extras, such as drag and drop install/uninstall and the ability to rearrange the extras by depressing the ⌘ key and dragging. The given reason for this is that NSMenuExtra-based menu extras operate within the address space of the SystemUIServer so faulty code in a menu extra could cause instability in a core part of the operating system.
In Mac OS X 10.4, Spotlight was introduced with a different icon, that is not technically a menu extra, locked to the right corner of the menu bar. OS X 10.8 introduced Notification Center in a similar fashion, and macOS 10.12 similarly introduced Siri.
External links
- Building NSMenuExtra - A Small Tutorial - article written by Rustam Muginov for Cocoa Dev Central
- NSStatusItem class - Apple developer documentation for NSStatusItem
- OS X menubar items - extensive list of menu extras (last updated 3/20/09)
- Menulets - NEW extensive list of menu extras
- Managing OS X Menu Extras - tutorial and video demonstration that shows you how to add/delete and rearrange OS X menu extras