Writing Menu Extras

MenuExtras are extensions to the system status menu like the clock or battery indicator. They are stored in bundles that are loaded by the system user interface server. Basically, a menu extra consists of a subclass of NSMenuExtra which itself is a subclass of NSStatusItem.

Note, that the bundle is loaded into the system user interface server process and therefore must not collide with its functions. Especially, exceptions raised in the menu extra may crash the server process.

There is no official documentation availabe, so this description is based on some Internet articles (look for keyword MenuExtras) and trial&error.