

Suddenly Windows was no longer the commercial OS that let you "do whatever you wanted" with it (relatively speaking).

It was such a step forward to many of us hobbyists that OS X was based on Unix, and suddenly we had the best of both worlds - a good GUI and a good CLI.
#Cmd prompt for mac os mac os
Now, those in the know could dramatically alter Mac OS with Resedit, but I wasn't a "Mac guy", so I never really knew anything about it I hated a locked down OS that only let you do things you could click on. It might be informative to step back and point out that this is why so many of "us" originally disliked Macs before the "walled garden" of iOS, before even the walled garden of needing iTunes to load music onto your iPod, there was the GUI-only MacOS. It hadn't occurred to me that someone (someone who cares about CLIs, at least) wouldn't know this. Wow, the fact that this is baffling to someone is, in turn, baffling to me! I don't mean this to be insulting, it's just one of those generational things. But that's extremely brittle to system version updates, and precisely the thing that exposing an automation API is meant to avoid.) (Though, in macOS or Windows or Linux, it's always a possibility to write a script that has GUI effects directly in terms of "click the first button on the right"-style accessibility directions. Nowadays on macOS, with the availability of the CLI, Apple engineers have decided to expose those same effects through CLI utilities that call directly into private system APIs (which are themselves usually client libraries for private Mach client-server ABIs.) If there's a switch exposed in the GUI but not the CLI, it's unlikely there's an event to reach it any more. It used to be that any effect you wanted to trigger in the OS, you could do by sending an through the OSA scripting component to the relevant system service.

The GUI parts of macOS were actually far more scriptable back in the OS7-9 days (and early OSX days) than they are today. Back before the Unix-ization of macOS, there was a large focus on programs providing accessibility/automation APIs.
