MacOS – Disable automatic menubar icon sorting in Mavericks

macosmenu bar

In Mavericks the icons in the menubar changed behavior.

The sorting is not dependent anymore on the order at which the apps were launched, but rather … something else. The icons jump and I now have an app running that adds a menubar icon, when I click it, I see the location services icon for a moment to its right, before it disappears, leaving a gap.

The icon that flashes mostly is the location icon, which appears leftmost in the sequence (sometimes leftmost removed by one). I didn't think OS X menubar icons can even be drawn where I am seeing them.

Is there a hidden preference or something I can do to prevent OS X being smart
about the sorting?

Best Answer

There are two types of menubar items in OS X. The classical one of type NSMenuExtra which is primarily used by Apple's own stuff like the clock, AirPort, TimeMachine, VPN and keychain, etc. These are not officially available for third party developers. The other type is an NSStatusItem which is available for everyone and almost all apps that provide a menu bar item use this type.

Historically only NSMenuExtras could be sorted by ⌘ (command) dragging them and NSStatusItems were displayed in launch order from right to left. Since Mavericks Apple allow all items to be reordered by command-dragging them.

The chosen order should be persistent across logins. Some items like location services or screen synchronization will only show up when needed so they may change your sort order temporarily. The order is the same for all menu bars if you're using multiple screens.