Rearranging any OS X menubar and login items

Mac OS X’s menubar items that are built into the system (Username, Clock, Volume, Power Status, Airport, Bluetooth, etc.) can be rearranged by holding down the (Command) key while dragging them. Menubar items added by applications, however, cannot.

Menubar items created by applications are always arranged in the order that they are loaded, so to change their order in the menubar, their order in the Login Items preference pane needs to change. As of Mac OS X 10.5.* (Leopard), the Login Items preference pane (System Preferences -> Accounts -> Login Items) doesn’t allow rearranging by dragging, so to change the order of the items you’ll have to manually edit a Preference (plist) file.

rearrange-menubar-items

The easiest way to edit Preference files is with Apple’s Property List Editor software included amogst the OS X Development Tools on your OS X discs. If you don’t have the Development Tools installed (or don’t want to install them) you can use a text editor like BBEdit, but this should only be attempted if you’re confident that you know how to modify XML files.

Close any open System Preferences windows, open a new Finder window, navigate to your Home folder, open the Library folder, then open the Preferences folder. Look for the ‘com.apple.loginitems.plist‘ file and create a backup copy of it on your Desktop.

If you have Property List Editor installed:

Double-click the ‘com.apple.loginitems.plist‘ file from the Preferences folder to open it in Property List Editor, then click the triangles next to ‘SessionItems‘ and ‘CustomListItems‘ to see their subitems.

Click the triangles next to ‘Item 1‘, ‘Item 2‘, etc. until you find the entry that you want to move. Move the mouse pointer to the left of the Item’s triangle, then drag the entry higher or lower in the list. Drop the entry INBETWEEN two other ‘Item‘ entries, not inside one of them! Press ⌘-S (Command-S) or click ‘File‘ -> ‘Save‘ to save your changes.

If you don’t have Property List Editor installed:

Open the ‘com.apple.loginitems.plist‘ file from the Preferences folder in your text editor, then scroll down and search for the dict entry of the item that you want to move:

<dict>
  <key>Alias</key>
  <data>
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
  </data>
  <key>CustomItemProperties</key>
  <dict>
    <key>com.apple.loginitem.HideOnLaunch</key>
    <true/>
    <key>com.apple.loginitem.legacyprefs</key>
    <dict>
      <key>AliasData</key>
      <data>
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AAAAAAAAAAAAAAAAAAAAAAAAAAAA
        AA==
      </data>
      <key>Hide</key>
      <true/>
      <key>Path</key>
      <string>/Applications/WeatherBug Alert.app</string>
    </dict>
  </dict>
  <key>Icon</key>
  <data>
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAA=
  </data>
  <key>Name</key>
  <string>WeatherBug Alert.app</string>
</dict>

Cut the entire dict entry and paste it INBETWEEN two other dict entries to change the order of the Login Items. Press ⌘-S (Command-S) or click ‘File‘ -> ‘Save‘ to save your changes.

Test the changes:

Open System Preferences, click on Accounts, then choose the Login Items tab to see the rearranged entries. Log out of OS X, then log back in to reload the items in your menubar.

 

Related posts:

  1. Creating a Recent Items Stack on the Dock in Mac OS X
  2. Configure a Quake-style dropdown Terminal in Mac OS X
  3. Changing the Mac OS X Login Window’s background image
  4. Changing the Mac OS X Login Window welcome message
  5. Configure Gmail IMAP accounts properly in Apple Mail and on the iPhone
Twitter Digg Delicious Stumbleupon Technorati Facebook Email

15 Responses to “Rearranging any OS X menubar and login items”

  1. What OS are you referring to? I have 10.4.11 Tiger on both my powerbook and MDD Mac tower, and the file com.apple.loginitems.plist does not exist on either system. I would like to move several menubar items like NetBlockade so I can access no matter where or what I am using. I cannot use it even while in finder. I have to run a game app with only 3 menu items to access NetBlockade’s menubar icon. I can move most of my menubar items with the exception of those approximately halfway on the menubar. Those to the left I cannot move. Those to the right I can move. Please advise. Thanks,
    Mark

  2. Hey Mark

    I wrote this post based on Leopard, as far as I know the relevant file on Tiger is named “com.apple.SystemLoginItems.plist”.

  3. Is there a way to change the size of the font on the menu bar? This would be helpful for people who are vision impaired.

  4. Hey Ed

    Not as far as I know, but the “Universal Access” settings in System Preferences has a Zoom feature that might be able to help you out.

  5. Hey Willem, thanks for this post. I used the Property List Editor and rearranged the items as you described. When I look at Sys Prefs the order has changed, but when I logout/login the MenuBar order never changes, no matter what order I set in the Plist. I’m not looking for you to solve this for me, but just thought I would mention it incase others have a similar problem. I’m on 10.5.6.

  6. Hey John

    Which menubar items are you using? Maybe a specific one is causing this problem?

  7. Typinator, WeatherBug, CocunutWifi.

  8. Have you tried disabling all of them, rearranging your menubar, then re-enabling them one-by-one to see if a specific one is causing the problem?

  9. I moved the items using both PlistEdit Pro and then by manually editing the com.apple.loginitems.plist file using BBEdit. In both cases I saved the result, then logged out and then logged in. The order in the Accounts Prefs did not change and when I went back and looked at the com.apple.loginitems.plist it was in the original order. I’m on 10.5.7.

    Am I missing something or loosing it?

    Thanks.

  10. Hi Robert

    After you’ve edited and saved the file (and before you log out and back in), did you try going to System Preferences, clicking on Accounts, then choosing the Login Items tab to see the rearranged entries? Were they rearranged or not?

  11. Were they rearranged or not?

    Not. I reopened the com.apple.loginitems.plist file and it WAS rearranged.

  12. so? any solution?

    same problem in 10.5.8

    seems like its was working till 10.5.5 but update didnt change com.apple.loginitems.plist file..

  13. Hi guys,

    same problem in here. I used the Property List Editor and rearranged the items as you described. When I look at Sys Prefs the order didnt changed, but when I logout/login order in Sys Prefs has changed, but Menu Bar order was diffrenet than previus but still wrong.

    I would say some apps r opening quicker than others and thats why they r appearing in their own order. Is that possible?

    Any ideas Willem?

    Thanks in advance for any answers

    • The solution in that article worked 100% on Mac OS X Tiger, but Apple seems to have changed how the menubar arranges its icons in Leopard and Snow Leopard (resulting in users only being able to rearrange some of the icons).

      I haven’t been able to find a good solution for this problem in 10.5 and 10.6 yet, but if I do I’ll definitely write a post about it. :)

  14. All the system-wide menubar items in OSX v4.11 are in the “com.apple.systemuiserver.plist” file, which is inside the system root folder’s Preferences folder. The actual menubar items are listed inside a key in there called “menuExtras.”
    That particular plist file is protected, so the easiest & quickest way to alter it is first, make a copy of it right inside the Preferences folder & then open up that copy in a plist editor & make your changes. After altering it, do a “Save As” & overwrite the original. Restart the UI Server to see the changes. One way to do that is to open up Apple’s integrated “Activity Monitor,” look for “SystemUIServer,” & kill the process. It’ll autorestart after you’ve ended it.
    I use Night Productions’ “Pref Setter” & with the uiserver.plist file copy open in that app, you can drag & drop the menubar items to re-order them. Or delete, or add items if you know the path of what you want to add.

Afrigator