Coming Soonish: Xounds Redux and Other “Haxies Redux”

First, this project needs funding. See below for details, and go here if you wish to help in any little bit. Thanks so much; all help is greatly appreciated!

In the days of yore, “Haxies” were small utilities that heavily customized Mac OS X, either through eye candy or productivity tools, under the Unsanity banner. The initial Haxies like Xounds and FruitMenu were designed solely to bring back Mac OS 8-Mac OS 9.2.2 features (interface sounds and a customizable Apple menu, respectively), with gusto, to Mac OS X. They worked by injecting code into every process at a deterministic time to modify the runtime behavior of GUI applications. However, such an injection is no longer tenable under the current security model unless you’re willing to disable every vital security feature. While I’m extremely proud of what we achieved at Unsanity and I miss these small utilities every day, I’m never going to ask users to completely disable all security features like that now that they’ve been implemented. It would make me a massive hypocrite, given how hard I push for a secure computing environment.

I made/helped make haxies. I loved them. I miss them. I’ve wanted them back for a long time. I think I know how to do it now.

“Haxies Redux” (not an actual name, more of a concept really) is my project to bring back some Haxies in a completely isolated form, without injection, by heavily…let’s say “leveraging” macOS Accessibility features. This necessarily means the feature set of each possible Redux version must change. I currently have an advanced prototype of Xounds Redux working that restores menu sounds, slapping control sounds, and window manipulation sounds. I’m pretty proud of where it is right now, though it still needs a few behavioral changes. Additionally, FruitMenu Redux and Menu Master Redux look extremely possible based on weaker prototypes.

Granted, the feature sets of these must depend entirely on what can be done with the Accessibility APIs — bugs, warts, and all. I chose “Redux” to signal that these aren’t the same pieces of software they were before and that they’ll have different feature sets, while still evoking pleasant memories of what used to be. Nostalgia is the name of the game.

Enter Xounds Redux

This video is about sound, so make sure sound is enabled when you view it.

I determined Xounds to be the most difficult of the multiverse of possible Haxies to bring to modern macOS, and, because of that, decided to tackle it first, as one does.

Current Feature Set (as of 10 August 2026)

The first thing Xounds Redux needed was a sound set to work with, so I implemented support for importing Xounds Xoundsets and older, resource-fork-based Sound Sets from Mac OS 8-9. Given their wide availability on the internets and the depth of their coverage, it was essential to support importing both formats in Xounds Redux. This was (surprisingly!) the most difficult part of making Xounds Redux, because the Resource Manager swaps the endianness of some resources (like `snd ` resources) while not flipping the bytes of others (like `snd#` resources). This caused some weird debugging errors. Grr.

A screenshot of a listing of events in a Xoundset

Xounds Redux imports Sound Sets encoded in either µLaw or PCM format. It does not import MACE-encoded `snd ` resources because those might require QuickTime, although I didn’t encounter any in my limited testing of 35 sound sets. Imported Sound Sets are converted to 16-bit CoreAudio File (.caf) files to maximize compatibility with both current and future versions of macOS.

Xounds Redux supports a subset of the 137 possible events to which the original Xounds could assign sounds. It may be ironicle, but Accessibility features mean that, technically, Xounds Redux could support more events than Xounds did! Tell me if you want to call out any specific event and assign a sound to it. Some events can’t be supported at all, either because macOS no longer has the feature (such as using controls at the end of scroll bars or drawer-related events), or because there’s no way to intercept those events.

Hey! Listen!

Xounds Redux ultimately (kind of) supports most of the sounds the old Theme Manager dealie in the HIToolbox thingy sent during its event loop. A list of these is in Appearance.h (look for ThemeDragSoundKind). A Xoundset can link to these event types in its Info.plist file. Xounds Redux introduces Xoundset v2: the same format as the Xoundset v1 .xoundset folder, except it’s a proper bundle that stores sounds in any audio format macOS natively supports in the Resources folder (instead of being a flat collection of sounds).

A screenshot showing the insides of a Xoundset v2 bundle

I plan to ship Xounds Redux with the limited Xounds Xoundset from the original Xounds. If anyone’s talented and willing to volunteer time and at least mediocre skillz, I would greatly appreciate it if it could be extended. I’ve got no talent with sound…

What’s Still Needed

Things I still need before beta (aside from the list below) include an exclusion list (some apps just shouldn’t play sounds during certain events) and making Xounds Redux less noisy in specific apps. Just writing this in Pages repeatedly plays the “selection change” sound, and mousing over the dock sounds like a Geiger counter in Chernobyl. (I even tried it again with my nose: same problem.)

The old Xounds icon

Xounds Redux also desperately needs an icon. The old icon for Xounds (seen above) is lovely, but it’s low resolution. I could make an AI slop icon for betas, but I don’t really want to use AI slop icons at all.

Finally, you should be able to export custom Xoundsets, so you can share all the wonderful mappings and audioscapes you’ve (eventually) created.

I haven’t yet decided whether I want Xounds Redux to be a System Settings pane or a standalone app with a to-be-determined interface.

Caveats

Because Xounds Redux depends heavily on Accessibility notifications, it works best in apps with native controls that send these notifications for free, automatically. For middleware like Electron or apps that decide to roll their own controls, it will depend on whether the app developer has properly implemented Accessibility notifications.

But what will it cost?

I’m thinking of charging a nominal fee ($7 or something to honor the original Xounds price) for each item in the Haxie Redux line when they’re finally ready for release, with an extra “pay-more-if-you-want” option, if possible. I don’t know if that’ll cover expenses and pay rent, however.

Funding Help and Next Steps

Aside from needing icons, I first need to form an LLC to manage Haxies Redux before I can release one, even in beta, even to a limited audience. Forming and maintaining an LLC in California is expensive compared to other states, costing about $900. I need help to afford this and other costs associated with starting a new business.

After the LLC is formed, I can get a DUNS number. Then I’ll need a website for Haxies Redux, probably a subpage on this domain since I already pay for this website. Once the website is up and I have the DUNS number, I can convert my Apple Developer account from an Individual Account to a Corporate Account. I’ll also need to figure out how to let people download the software and how to configure Sparkle to update it. Squarespace doesn’t exactly allow you to host random downloads unless you use their store, so I’ll need to address that as well. If anyone has suggestions, I’d appreciate them.

Once that’s all done and the first betas are out, the next step is to integrate a payment processor that handles taxes, remits sales tax, and manages currency conversion, among other things. I’m thinking of using Lemon Squeezy because they handle almost everything financial and there’s a third-party Swift SDK for integrating them with macOS apps. Alternatively, Stripe’s Managed Payments is an option, but they don’t support payments from China for some reason, and that’s a huge segment of the market to ignore. I really want to support China too. However, I am open to suggestions for other payment providers.

One of the problems we had at Unsanity was that we quickly saturated the market of potential Haxie buyers, and we ran out of new customers to reach. I had thought about making Haxies Redux a subscription of about 18-20 months to address that issue, but I can’t find any payment processor/Merchant of Record that supports such long subscription terms.