I have a very busy menubar, lots of menubar extras, and it’s annoying that many of them wind up being covered up by the actual menus on my 13″ MacBook Pro. I used to use Unsanity’s Silk to reduce the font size (I was using Arial Narrow), but Silk even now hasn’t been updated to work in Snow Leopard.
However, I came across a “ported font” called Greyscale on the macthemes.net site, and installed it. So far, so good.
[Note! I haven't even tried this after switching to Lion, I used the TinkerTool trick in footnote 2 instead.]
My menubar now looks like this:
Below I outline what I did. I have had it running for something like an hour, with no real ill effects. But, pulling this off is a deep, dirty OS hack. If you do this, you’re doing it at your own risk.1
The procedure is: Get a copy of Onyx if you don’t have it already (this is to clear the font caches). Download the Greyscale.zip file from the forum link given above, open up the Protected and System folder aliases contained within. From the ProtectedFonts folder, move the LucidaGrande font to somewhere else for safekeeping (system password needed), move the LucidaGrande font from within the Greyscale archive into the ProtectedFonts folder (system password needed), move the LucidaGrande font from within the Fonts folder to the trash (system will alert you that this is weird). Then, in Onyx, go to the Cleaning tab, Fonts panel, ensure that System and Users is checked, and Execute. Restart.
Note: As far as I understand it, this will not work properly if you try to replace the font file in ProtectedFonts. Move it out and move the new one in, don’t just move the new one in overtop the old one.
What is happening here is this: The systemwide font that Snow Leopard uses for the menu bar, Lucida Grande, is being replaced. This is an important font, and SL protects itself against losing it by keeping a “repair kit” version of it in ProtectedFonts. So, first, we swap in our own font to its repair kit, then we remove the system font (causing it to repair itself, but with our new font instead). Cleaning the caches and restarting helps make sure no remnants of the old Lucida Grande are still in memory.
To undo this, repeat the same steps, only move the original file (that you kept for safekeeping) back into the ProtectedFonts folder after moving out the faux-LucidaGrande.
It’s not necessarily all flowers and bunnies, though. This really is completely replacing Lucida Grande. We’re not changing the font in the menu bar, we’re hiding another font in there under the name Lucida Grande. What this means is that everything that would have used Lucida Grande will now use Greyscale (though it will think it’s using Lucida Grande). And if you try this, you’ll see that Lucida Grande is used all over the place. Window titles, source sidebars, Growl notifications, everywhere, everywhere, everywhere. I’d really prefer it if it were possible to selectively replace the menu bar font alone, but this is apparently quite difficult to pull off.2
Still, I have more room now, and I can still read my screen.
1Another much less intrusive option is to use something like AccessMenuBarApps, which is not much more than a little app you can bring to the front with a hotkey or gestures and which has a very very small native menu bar app, leaving maximum space for menu bar icons. Of course any app with a small menu bar footprint can serve this purpose, but AccessMenuBarApps is pretty convenient.
2Something kind of like this can be accomplished by using TinkerTool and setting all of the configurable fonts to something other than Lucida Grande. I went in and changed everything that was Lucida Grande to Arial Narrow, and that works pretty well. The problem I have with Greyscale is that it is very hard to see the distinction between the numerals six and eight. If someone has converted Arial Narrow to be in the right format to drop it in, I’d probably do that instead of dropping in Greyscale. [Later note: One downside to using Arial Narrow (at least in Lion) is that it does not have the right characters to display the modifiers for keyboard shortcuts, so they wind up being displayed with characters like Ý. To solve this, I left my System font set to Lucida Grande, though it is a tradeoff between space and having the shortcut symbols.]