

So, how did I port MenuMeters to El Capitan, then? Well, I just gave up having ⌘-dragging. In El Capitan, Apple added a more stringent check of the allowed NSMenuExtra's, and MenuCracker no longer works. MenuCracker was an NSMenuExtra that pretended to be one of those allowed ones, which, once loaded inside SystemUIServer, removed these checks, so that more NSMenuExtras can be loaded without any problem.

MenuMeters used this to inject their own NSMenuExtra's to SystemUIServer in fact MenuMeters' author is one of the main authors of MenuCracker.Įssentially, until Yosemite, SystemUIServer had a fixed list of allowed NSMenuExtras.
#Xmenu for mac code
But until Yosemite, there was a known way to work around it, available as an open-source code as MenuCracker. But since 10.2, Apple had a code that blocked SystemUIServer to load non-system-provided NSMenuExtra's. In fact until and including OS X 10.1, Apple allowed it. PhotoStickies 5.6.7 and XMenu 1.9.8 bring Yosemite adjustment and bug fixes, too. But this happened later than the need to port MenuMeters to El Capitan 10.11.)Īnyway, due to this better behavior of NSMenuExtra's, people often wanted to write their own. DEVONtechnologies (has updated its smart desktop assistant, DEVONsphere Express, with performance improvements and fixes for OS X Yosemite. (On macOS Sierra 10.12, Apple finally implemented and enabled ⌘-dragging for all NSStatusItem's, including this port of MenuMeters.
I have no idea why ⌘-dragging was not provided for the latter by the system. One good thing about the former is that you can rearrange them by ⌘-dragging the menu items. The latter can be displayed by any app written by any developer. The former are loaded and displayed by SystemUIServer, a process provided by the system. There are in fact two types of such menu bar items, one known as NSMenuExtra's and another known as NSStatusItem's. As you very well know and is shown in the screenshot above, there can be various utilities put on the right hand side of the menu bar.
