Archive for September 25, 2026

Friday, September 25, 2026

FruitMenu Redux

Rosyna Keller:

FruitMenu Redux revives a utility (FruitMenu) that brings lost Mac OS Classic features to Mac OS X. Specifically, it restores the fully customizable Apple menu.

It’s no longer a haxie that works by patching the operating system. Now, it’s a regular app that hooks into other apps (e.g. to switch to a particular window) using the accessibility APIs.

The first step was to implement every FruitMenu feature that’s still possible in the current macOS security environment. That immediately ruled out features requiring patching menus (sigh, I really miss patching menus) and features that require privileges now gated behind restricted entitlements. I also added support for viewing and executing Shortcuts.

[…]

Additionally, you can set a hotkey to any item you add to FruitMenu Redux!

[…]

Because SwiftUI doesn’t support dynamic menus, I had to rewrite all the menu code to use AppKit’s NSStatusItem and NSMenu as NSMenu is now a first-class citizen on macOS and fully supports dynamic submenu building. This means that FMR doesn’t even try to build the contents of a folder under you actually attempt to show the contents of the folder. Not only is this significantly faster, but it also uses significantly less memory.

FruitMenu is now available (Mastodon):

A built-in visual editor displays your menu on the left and a library of over 30 item types on the right. You drag items from one to the other (almost like Font/DA Mover, the best UX ever created). The library includes files and folders, submenus, Running Applications (and you can enable an option to show open windows and tabs), Mounted Volumes, Recent Items, Force Quit, Sleep, Restart, Shut Down, Shortcuts, Software Update, separators, System Settings panes, and more!

Anything you put in the FruitMenu Redux Items folder in your Library also appears in Files, folders, and aliases.

$10 (with $7 intro price), not in the Mac App Store because of accessibility.

Rosyna Keller:

OMG, Core Transferable, why do I have to declare a public UTI in my info.plist for internally dragging from one list in my app to another list in my app?! It’ll never be decoded by another app!

This was the fix to a bug I reported. With the new SwiftUI drag API, you apparently have to declare private internal drag types in your plist (on Tahoe, but not on Golden Gate).

Xounds, which plays sounds in response to user interface actions, is also back. Unlike FruitMenu, this one never appealed to me—I actually prefer to have the audio muted most of the time. I do find it interesting that it supports the old sound set files from Mac OS 8. Apple dropped the APIs for playing these way back during the 64-bit transition, but Xounds knows how to extract and play the audio.

Previously:

Flickr 5.0.9

I haven’t seen it documented, but it looks like Flickr went back to shipping its rewrite of the app. It’s better than before but loses the scroll position when going from an individual photo back to the grid.

Previously:

Antennagate Q&A

Hartley Charlton:

A 47-minute video of the Q&A session from Apple’s 2010 iPhone 4 “antennagate” press conference has surfaced on YouTube, showing Steve Jobs, Tim Cook, and Bob Mansfield answering reporters’ questions.

[…]

Jobs used his prepared presentation to announce free cases for eligible customers and a 30-day return option. Apple later posted video of that presentation, but left out the Q&A, which was documented at the time through written reports and photographs.

John Gruber:

The Q&A was on the record (which is the entire point of a Q&A), and was reported widely, but I don’t think there’s ever been video of it. Here’s a report by Jeff Carlson at TidBITS, published the day the event was held, which states, “The video omits a long and interesting Q&A at the end.”

Then, yesterday, video of the Q&A hit YouTube. I don’t know what truck it fell off the back of, why it took 16 years, or how it came into the hands of “Sir Mix-A-Lot Rare Music”, but I’m sure glad it did. There are parts of this Q&A that I remembered, and parts I didn’t. Carlson was exactly right: it was long and it was interesting.

My main takeaway is still that there were two stories here, but most of the media missed one of them, and Apple was happy to focus on the other.

The first story was that holding iPhone 4 in the wrong way would reduce the signal strength. Apple pointed out that other phones had the same problem, to varying degrees, and offered cases as a solution.

The second was that, even with a case, iPhone 4 had worse reception than previous iPhones. I saw this directly myself: testing my iPhone 3GS and my father’s iPhone 4 in some areas that had poor signal, and finding that one worked reliably and the other was completely unusable. Apple examined my father’s iPhone 4 and assured us it wasn’t a lemon, so there was no choice but to return it. AnandTech did some more precise testing and published some graphs that were consistent with what we saw. I think it was the only bad iPhone Apple made.

In the Q&A, the first question was about Jobs’s health. The second was about whether Apple was going to make any changes to the antenna. Jobs responded that the iPhone 4 antenna was better in almost every way than previous designs. But Apple did end up redesigning the antenna with the iPhone 4s, and it worked just fine in my same test areas. It’s possible that the cell towers had changed in the interim, but the 4s worked well for me everywhere that it could be expected to and ended up being one of my favorites.

Nick Heer:

Sam Henri Gold decided to pick apart the changes between iOS 4.0 and iOS 4.0.1, which changed the number of bars shown in moderate-to-low reception areas[…]

Previously:

Golden Gate and the Notch

Jason Snell:

Apple has added some light menu-bar management, specifically to deal with items that overflow the notch on some MacBook models. I’m glad that it’s taken this tentative step, though I wish it were more—it’s okay, Apple, you can sherlock all those menu-bar-management utilities out there—and of course, it should’ve happened back when the notch first appeared five years ago.

Previously: