Skip to content

Mac OS X Hints

A simple AppleScript to reveal System Settings’ anchors

I stumbled upon this simple AppleScript while looking for something else, but it's incredibly useful for scripting System Settings…so I'm posting it here in case the original site ever goes away.

To get the names of all the anchors for a selected pane in System Settings, just run this in Script Editor:

Run that on the Desktop pane, for instance, and the output is this:

{anchor "Dock" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings", anchor "HotCorners" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings", anchor "MenuBar" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings", anchor "MissionControl" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings", anchor "Shortcuts" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings", anchor "StageManager" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings", anchor "WindowsApps" of pane id "com.apple.Desktop-Settings.extension" of application "System Settings"}

With that information, you can jump directly to a given area in AppleScript with code like this:

I'd always wondered how people found the anchor names, and now I know.



More helpful help for Terminal commands

I use Terminal a fair bit, for any number of things. But I don't use it all the time, and that means I sometimes struggle to remember syntax of commands. "Was it rsync source destination or the other way around? Or was it ln that was backwards of what I thought it should be?"

You can open the man page for a command, of course, but sometimes there's so much there that finding the simple thing you want is tough. Enter tldr, installable via Homebrew or MacPorts. tldr skips most of the detail of the man pages, providing user-curated examples of how to use a given command.

As an example, here's the aforementioned rysnc command's man page:

[continue reading…]



Replace the mini music player that Apple took away

Back in the early Mac OS X iTunes era, there was a wonderful small window available that had control buttons, volume control, a visual progress bar, and a text display showing the artist, song, and album—it could even display a graphic equalizer in lieu of the artist-album-song info:

It was perfect. Sadly, it was last seen in iTunes 10 in Mac OS X 10.7. And today's version, while offering a mini mode, isn't nearly as mini or as functional as it used to be; read on for some details…

tldr summary: Mario Guzman's Music MiniPlayer is a full-retro near-perfect replacement for the original mini player. It's free, and I love it. If you're not into retro UI, Silicio on the App Store is also free and quite good, though you can't freely resize the window.

[continue reading…]



Speedier screen sharing startup in Sonoma

macOS Sonoma introduces a revised Screen Sharing application that lives in the Applications → Utilities folder1Though that's not really where it is, but that's not important…. It presents a list of recently-connected devices:

Select one, and you'll see the username and password dialog for that machine. While the GUI is nice to have, it's also slower than the old method: In Ventura and earlier, you could launch the (not in Utilities) Screen Sharing application, and start typing the IP address:

Select the host from the list, and you were done. This is much quicker than launching an app and waiting for the GUI, then navigating and selecting the desired machine. After just a bit of digging, I found a much quicker way to connect to my Macs in Sonoma (and earlier versions of macOS): The "vnc" URL scheme.

[continue reading…]



How to enable the “Beta updates” feature in macOS 13.4+

As of macOS 13.4, there's supposed to be a "Beta updates" button in System Settings > General > Software Update, as seen here:

Sure enough, that button is there on my iMac…but it wasn't on my MacBook Pro. Everything I read on Apple's site and elsewhere said it should simply exist, but it didn't. After much futzing around, I stumbled on the solution:

Click the ⓘ button on the Automatic Updates line to open the settings for automatic updates. My guess is that you'll find that the "Install macOS updates" setting is disabled. Enable it and click Done. The "Beta updates" feature may appear now, but if it doesn't, open that same panel again, and disable the "Install macOS updates" setting. You will now definitely see the "Beta updates" feature.

Nowhere in Apple's documentation does it mention that automatic updates must be enabled (at least once) in order to see the "Beta updates" feature. But that seems to be the case, as this fix has now worked for three Macs.







Using network locations in macOS Ventura

Update: macOS 13.1 brings the Locations feature back to macOS Ventura, so you can ignore this blog post. To use locations, open the Network section of System Settings, then tap the ellipsis with the down arrow at the bottom of the window:

While this is still a bit hidden, it's much more usable than having to visit Terminal. I don't know why they vanished, but I'm glad Locations have returned from their brief hiatus.

This weekend, I finally migrated my 2019 5K iMac from Mojave to Ventura. There were many reasons for remaining on Mojave, starting with the fact that I liked the OS and it worked very well for me. But I also had a couple 32-bit apps I relied on, as well as a number of 32-bit games I enjoyed playing now and then. As time went on, though, there were more and more current apps that I couldn't update to the latest versions, as they all required something newer than Mojave.

(I wasn't a complete macOS luddite—my 14" MacBook Pro runs Ventura, and that's what I use when supporting Many Tricks customers.)

After the update, I remembered one of the bugaboos about Ventura: Apple, in their infinite wisdom, removed the Locations feature from the Network System Settings panel.

[continue reading…]



Easily convert (some?) AVIs to QuickTime-compatible files

Here's another entry in my "remind myself without searching the entire internet" series of posts. I often want to convert a non-native video into a QuickTime-compatible format. In one oft-repeated use, I have a time lapse camera that outputs AVI files that QuickTime cannot read. Using Don Melton's Other Video Transcoding tools, converting between the two forms is pretty easy:

other-transcode --hevc --mp4 input_file.m4v

The output file will reside in the same directory, with the same name, but with the mp4 extension. I know there are tons of ways to do this, and many offer much more control over the final quality. For my time lapse camera videos, though, the quality is fine and this is really easy to use.



Merge multiple movies into one while minimizing file size

I had two short video clips I wanted to merge into one, each about 8MB in size. I first did this using QuickTime Player's Clips feature, but the end result was over 100MB in size. For my second try, I switched to ffmpeg, which can be installed via Homebrew, MacPorts, or some other method.

This isn't quite as simple as typing one command, as ffmpeg wants to process a list of files to merge—it can't, without some Unix wizardry, accept a list on the command line. So step one is to create a text file (list.txt in my example) in the same directory as your video files. The file contains a list of each movie to be merged, one entry per row, like this:

file '/full/path/to/movie1.mp4'
file '/full/path/to/movie2.mp4'
file '/full/path/to/movie3.mp4'
etc.

Save the text file, then use this command to merge the movies into one:

ffmpeg -f concat -safe 0 -i list.txt -codec copy merged_movie.mp4

When done, you'll have one new movie with all of the listed movies, in the order in which you listed them. And best of all, the size won't balloon when you do so—using the same movies as I used in QuickTime Player, the finished file was just 28MB in size. This isn't limited to mp4s; you can merge any type of video that ffmpeg can handle.

And yes, this is another entry in my series of "remind myself" posts; I originally found the answer on Stack Overflow.