birds like wires


Menu Extras and MCX

There’s a little quirk when you’re controlling menu extras for Mac OS X client systems using MCX. Well, there’s more than one quirk, but you know what I mean.

By default, new users of Mac OS X systems get Blutooth, Time Machine and Volume menu extras, as well as the clock. The Spotlight control is separate, so we won’t mention it here. On our systems I don’t really want to display the Bluetooth menu extra, we don’t use Time Machine and the volume is controlled by the external audio interfaces, so they could all do with going away.

An unmanaged menu bar in OS X

Digging through ~/Library/Preferences/ByHost shows that this is handled by a configuration file called and as such you can control what appears using the configuration options in Workgroup Manager. The key you’re after is sensibly named dontAutoLoad, which can contain the paths to any Menu Extras.

The simplest way to configure the behaviour is to set up a user as you like it, then import the .plist file into Workgroup Manager using the ‘+’ on the Details tab of Preferences. Just make sure you import with the ‘Import as ByHost preferences’ button ticked. Reboot, log back in to the managed client and…

Still an unmanaged menu bar.

Look pretty similar, doesn’t it?

The issue is that the ByHost preferences are being knocked for six by the main preferences file, which is still autoloading the Extras, so you have to have an MCX version of that in Workgroup Manager too. If you’re controlling things through the Media Access option you should already see a entry to complement the one, otherwise you’ll need to import a .plist file again (without the ByHost option this time).

A managed menu bar.

This time we get what we asked for! It would seem that unless you specify both sets of preferences, one or the other of them will end up loading components that you don’t necessarily want. You can see I have specified that the Eject Menu Extra be loaded, alongside the very handy SoundSource app. Perfect.