Is there an application that moves menulets from the menu bar, and shows them in a little window?

Solution 1:

It's not exactly the style used by the old Control Strip, but Bartender hides the menu extra icons, and show them in a little window that appears when clicking on its menu extra icon.

  • Lets you tidy your menu bar apps how you want.
  • See your menu bar apps when you want.
  • Hide the apps you need to run, but do not need to see.
  • Have the clean looking menu bar you want.
  • Rearrange your menu bar items as you wish.

screenshot

For each icon shown in the Menu Bar, it let you decide where the icon should be shown (Bartender Bar versus Manu Bar), and how long the item should be shown when it is updated.

screenshot

Solution 2:

Short answer is no.

The menulets are controlled by SystemUIServer, a system application in charge of a number of things one of them being the right side of the menu bar. Unfortunately SystemUIServer is not replaceable, and its behavior cannot be changed.

Note that there are multiple kinds of 'menulets':

  • System provided menus (the clock, airport signal, time machine...). These do use a private API as they run code inside SystemUIServer and Apple doesn't like people loading code in this sensitive piece of software. Those are present on disk with a '.menu' extension. Those are sitting on the right of the menu bar.

  • Third party menus using the private API without Apple blessing. Those usually use a hack to bypass Apple protection (most common hack is MenuCracker, code is on SourceForge). Some of those menus are good and respectful of their environment, some of them are not. Those menulets are freely mixable with the system ones, you can ⌘-drag and drop them to reorder them.

  • Applications deciding to provide a quick access menu on the menubar. Those do run in their own process and use a public API to place themselves on the menubar. You cannot reorder them and they always sit on the left of the system menus. SystemUIServer control those icons placement.

It could be possible to write an application capable of loading menulets by emulating the private API, but a number of things will not work as expected (toggle in preferences will not toggle in this app, I'm not sure that some menulets do not use some of SystemUIServer internals...). And anyway, no matter what you do there is no way to control the application positions.