♻️ Recycled thread, June 22 2022

I had an inkling it might be possible to patch AppKit in Mac OS X 10.0 to re-enable the NEXTSTEP interface style after it was removed during the Developer Previews — and I was right! So here’s the shipping, consumer Mac OS X without Aqua turned on. It’s rather broken and crashy

I did it by returning NSNextStepInterfaceStyleDefaultValue from __NSGlobalInterfaceStyle, a four-byte patch. Have fun!
Follow-up: Platinum also works 😄 Such a fun collection of mixed idioms
Here’s some more Mac OS X v10.0.0 with Aqua turned off in favor of Platinum, for funsies. As you can see, the UI is in a state of pure chaos. Many apps crash, open/save panels show no UI, window backgrounds are all over the place

I whipped up a little library to inject into previously-crashing apps, like Mail, awkwardly patching NSDrawer and NSToolbar support back into Platinum 😅 Even getting Project Builder up and running required a bunch of little tweaks.

It’s fun to know that it would be entirely plausible to patch Aqua almost completely out of the early versions of Mac OS X. I had no idea any of this survived, in such a complete form, past the Developer Previews/PB

Bonus screenshot of OmniGraffle running in the OPENSTEP-style interface, on Mac OS X v10.0
@stroughtonsmith Aqua, yum! Still as lickable as ever.
@stroughtonsmith I still wish modern macOS could be reskinned with platinum.
@stroughtonsmith Did you ever release these patches anywhere? Would love to play with this.
@DropTableFoxes just what you see in the Project Builder screenshot, no binary
@stroughtonsmith and __NSGlobalInterfaceStyle is patched inside each app, right?
@DropTableFoxes no, in AppKit

@stroughtonsmith Ahh I see.

The existance of NSWindows95InterfaceStyle is amusing - but I guess this all descended from NextStep and later Rhapsody, which both did have x86 versions...

NSInterfaceStyle | Apple Developer Documentation

These constants are used in ’s method.

Apple Developer Documentation
@stroughtonsmith https://www.ict.griffith.edu.au/teaching/7421ICT/archive/resources/documentation/Developer/Gui/Reference/Functions.html appears to be an old version of the developer docs mentioning a defaults write command to change it... and http://www.rhapsodyos.org/misc/fiend/fiend_1.html shows that it was a setting in Rhapsody to change between NextStep and classic Mac UI... interesting that it existed into OS X...
Functions

@stroughtonsmith Although someone on SO says that the defaults write command doesn't work on OS X - https://serverfault.com/questions/5229/what-are-the-most-useful-defaults - so I guess that's why you had to patch it.
What are the most useful "defaults"?

Mac OS X has a commandline tool called "defaults". It lets you set certain properties, for example: enable the "Debug" menu in Safari: defaults write com.apple.Safari IncludeDebugMenu 1 What is ...

Server Fault
@DropTableFoxes yes it was an undocumented switch up to Mac OS X DP4. The switch was removed by the time 10.0 came out, but the code underneath it was not — which is what I patched here. And switching from Aqua to Platinum was never possible before, to my knowledge
@stroughtonsmith why did Finder retain its Aqua appearance? Is it because it was Carbon instead of Cocoa/AppKit?
@stroughtonsmith I feel like it looks a little darker - maybe different default gamma value between OS9 and OSX?
@stroughtonsmith Honestly the Platinum looks pretty damn good.
@stroughtonsmith It's too bad it's so wonky, because I would *LOVE* OS X with a platinum UI.
@stroughtonsmith So much more civilized that way.
@stroughtonsmith My first reaction was how horrific that looks, but then I thought of QuickTime for OS 9 and decided it’s not completely terrible by comparison.
@stroughtonsmith wait, "NSWindows95InterfaceStyleDefaultValue"? What does the Windows 95 interface style look like?
@Ongion it never really did a lot on other platforms, but it made some controls look slightly more Windows-y on Windows
@stroughtonsmith As my fellow nextcomputers.org forum members (re)discovered, the interface style can also be changed using
"defaults write NSGlobalDomain NSInterfaceStyle nextstep" (or "macintosh" – see http://www.rhapsodyos.org/misc/fiend/fiend_1.html)
Rhapsody Resource Page

@stroughtonsmith I wasn’t a fan of Aqua. But looking at this, it was definitely the right decision.

@craiggrannell It's just a hack - for sure Platinum would be quite nice if they decide to keep it.

Although this revolution in form of Aqua was definitely worth it, unique, and brought attention to Mac OS X

Very soon Windows XP followed with their own Luna theme (yet much less spectacular & sophisticated)

@stroughtonsmith this is legit awesome. 👏🏼
@stroughtonsmith That looks really cool! Looks similar to the older versions of Gnome!
@stroughtonsmith That's great! Although I was hoping to see vertical menus.
The latest stable macOS at the time of me writing still contains NeXT assets:
@stroughtonsmith this is cool! Interesting how the drop shadows are still present.
@stroughtonsmith that looks surprisingly good compared to the new-fangled stuff
@stroughtonsmith I vaguely remember being able to do this on a per-app basis with a command line switch using Mac OS X Public Beta. So many bevels!
@stroughtonsmith I think there was also an undocumented dwrite you could do to get this effect. Putting breakpoints on the defaults and getenv entry points during app startup shows you all sorts of tweakables.
@hattifattener not in 10.0. They removed the checks, that's why I needed to patch it
@stroughtonsmith My memory is vague, but did 10.0. still have display redirect or did they get rid of it in the last DP?
Just made me realise that I’ve been using Macs for 20 years by now…
@stroughtonsmith @Migueldeicaza
@njyo @stroughtonsmith I didn’t really start using it on a daily basis until 2009 or so. I used the older versions, even nextstep, but never seriously until then.

@Migueldeicaza it was Jaguar (10.2) for me (only used 8.6 at my grandparents’)
Still, time flies!
Also explains why I’m less and less excited by the annual updates as it’s a mature beast now. Much in comparison to Panther, Tiger, Leopard and co

@stroughtonsmith

@stroughtonsmith picked a really excellent time to get back into writing weird stuff for GNUstep
@stroughtonsmith @ActionRetro is it possible to get the vertical menu bar back?
@stroughtonsmith I actually miss the aqua interface.

@stroughtonsmith did Mac OS at one point allow you to selectively enable/disable Aqua?

I know Rhaspody/Server 1.0 had Plat, but I didn't realize Mac OS X had a full equivalent to Mac OS 9 Appearance Manager themes.

@ncommander There was no such option in public settings, though through hacks the true "nature" of OS could've been revealed 😏
@kkolakowski I'm sorta curious if there was a proto-Aqua hidden in later OS X builds then
@ncommander That's for sure something that @stroughtonsmith might know or already investigated 😉
@stroughtonsmith
broken and crashy is so relatable
@stroughtonsmith a UI where you can see the buttons and scrollbars? What a strange concept. It'll never catch on.
@stroughtonsmith “It’s rather broken and crashy” - so it’s OS X 10.0, in other words 🤣