Skip to content

Rob Griffiths

Make your macOS Dock suck

Now, some may not like the Dock and say it already sucks. But I'm actually referring to a really old hint that ran on Mac OS X 10.0's release date—March 24, 2001.

The hint explained that the Dock has three minimization modes available; back then, you had no choice of which to use. Now we have a choice between two: Genie (the default) and Scale, selectable on the Dock System Preferences panel. If you'd like to see the hidden third mode, Suck, issue these two commands in Terminal:

defaults write com.apple.Dock mineffect suck
killall Dock

Your Dock will restart, and when you minimize a window, it will be sucked into the Dock. The best way to compare these three animations is by watching them in slow motion—hold down Shift1That's called a hidden hint—hold Shift to see any macOS animation in slow motion. while clicking the yellow button on any window. Or just watch this video…

I personally use Scale, though I am surprised that Suck has survived intact over all the intervening years.



Install and use a non-GUI connection speed test tool

Yesterday on Twitter, Dave Hamilton tweeted…

What is this speedtest exactly? And what is brew, you may also be wondering? You may also be wondering why, if you have brew, Dave's command doesn't work…that's because it's actually brew install speedtest_cli…but I'm getting ahead of myself.

speedtest is a command line interface (i.e. Unix app run from Terminal) to the connection speed tests at Speedtest.net—you get the results without the fancy animated graphics. And Brew is "the missing package manager for macOS." In other words, it's an app to help you install (and uninstall) other apps.

Here's how speedtest looks in its default mode—note that I've sped things up greatly for the GIF…

Much nicer to me, though, is the simplified version:

$ speedtest_cli --simple
Ping: 9.482 ms
Download: 94.23 Mbit/s
Upload: 68.66 Mbit/s

No animated dots, just three lines with the results. As you might expect if you read here regularly, I also wrote a Keyboard Maestro macro (of course I did!) that makes it really easy to run the simple version of the test, and does some editing of the output to simplify the display:

If you'd like to install speedtest (and maybe add the macro)—even if you don't want to install Brew to do so—keep reading…

[continue reading…]



Control inline video—and more—in Safari

This is another oldie but goodie from Mac OS X Hints, explaining how to enable the Debug menu in Safari. To do that, quit Safari, open Terminal, paste the following line, and press Return:

defaults write com.apple.Safari IncludeInternalDebugMenu 1

When you relaunch Safari, you'll have a (really long) Debug menu on the far right of Safari's menus. And just why might you want a Debug menu in Safari? Kirk McElhearn offers up one good reason:

Auto-play videos suck. They use bandwidth, and their annoying sounds get in the way when you’re listening to music and open a web page. …

But you can stop auto-play videos from playing on a Mac. If you use Chrome or Firefox, it’s pretty simple, and the plugins below work both on macOS and Windows; if you use Safari, it’s a bit more complex, but it’s not that hard.

In Safari, they key is the Debug menu, as Kirk points out. Go to Media Flags and select (activate) Disallow Inline Video, and that should be the end of auto-playing video. See Kirk's blog post for ways to do the same in Firefox and Chrome.

Beyond auto-play video, though, there's lots to geek out about in the Debug menu…

[continue reading…]



If it seems to good to be true…

A friend emailed me a link to a Craigslist posting of a Tesla for sale, asking what I thought…on first glance, I thought "Whoa, what a bargain!" Here's how the ad looked, in case it vanishes:

Of course, on second glance, I realized it had to be a scam—the value of a 2014 Tesla Performance (85KWh battery with the Performance option) should be at least double the $36K asking price in that advert.

I thought I'd do just a bit of research and show my friend that it was a scam; I searched for "2014 Tesla Model S Signature Performance," and the very first (non-advert) hit was this AutoTrader ad, selling the same type of car for $79K. The description in AutoTrader seems familiar somehow…

A/C ice cold, All scheduled maintenance, All records, Always garaged, Custom wheels, Excellent condition, Factory GPS system, Fully loaded with all the goodies, Looks & drives great, Mostly highway miles, Must see, Never seen snow, New paint, New tires, No accidents, Non-smoker, One owner, Perfect first car, Satellite radio, Seats like new, Still under factory warranty, Upgraded sound system, Very clean interior, Well maintained, Custom paint/graphics.

The Craigslist ad's description (as well as the picture) was clearly copied from this legitimate ad. That was perhaps the quickest scam-find I've ever pulled off. (Yes, I've reported the ad to Craigslist.)

I've bought a lot of stuff off Craigslist, but never a car. I wouldn't hesitate to do so, though, as long as I could meet the seller in person to see and drive the car.

However, if you were to try to buy this bargain-priced Telsa, you'd probably hear something like "The car is actually in Seattle, but I can have it trucked down for you to inspect before buying. I just need $2,000 sent to Western Union for the transportation, and then you can decide to buy or not once you see it in person."

Be careful out there, people!



How I organize my Keyboard Maestro macros

This post was originally published in Decwember of 2016. I took it down to replace one section (using repeats) with another (using groups), and to expand some other areas.

I've been using Keyboard Maestro (or KM for short) a lot lately, i.e. Create an iTunes song info window or A much improved special character palette, or a slew of others.

As my collection of macros has grown, and some of those macros have gotten more complex, I've been using a few of KM's features to help keep my macros organized, and make it easier to debug them while I'm working on them. Some of these are obvious, some maybe not so obvious, so I thought I'd share what I'm doing.

[continue reading…]



Capturing macOS screenshots and onscreen objects

I capture a lot of screenshots—both for this blog, and for our Many Tricks' help files and web pages. Depending on the project, I may need a full screen, a portion of a screen, a window, an object, or some combination of the above. As such, I use a few different ways of capturing screenshots.

First up are the built-in macOS screenshot tools, which you'll find on the Keyboard System Preferences panel, in the Shortcuts tab:

These four commands let you capture full screens or windows, directly to files or to the clipboard. And, for many users, these may be all you need. If that's you, great! (You may want to assign some easier-to-type shortcuts, as these—especially the clipboard variants—require some advanced finger gymnastics.)

I use some of these built-in tools, along with a key third-party app, to handle all my image capture needs.

[continue reading…]



Change the look of inactive Terminal windows

I tweeted this recently…

Things I did not know (or perhaps remember): Terminal lets you set the opacity and blur of inactive windows. (Profiles > Text > Background)

…but because I often forget about those things—the ephemeral nature of tweets being what it is—I figured I should post it here, too.

I have no idea when the feature appeared, but I only discovered it on February 27th, when I tweeted about it. You'll find the window at right in Terminal's preferences, on the Profiles tab—look in the Text section for a selected window, then click the color tile under Background. Check the box to set opacity and blur for inactive windows, and you're done.

As I use a dark background in Terminal, I like this feature a lot. I've now got it set up to go transparent and fuzzy when inactive—this makes it basically vanish, so the dark background no longer grabs my eye.

At some point, I'll dig through my virtual machines and figure out when this was added…who knows, maybe it's been there for forever. In any event, I'm glad I stumbled across it the other day.



Prevent BBEdit from importing ‘find’ strings

I use Bare Bones' BBEdit for most of my text editing, but there's one thing it does that drives me crazy: It will replace your "find" search terms with something you've used elsewhere. It goes like this…

  1. Set up a complex find/replace that you need to do a number of times in BBEdit.
  2. Do some finding and replacing, then switch over to another app to do some other stuff, including copying and searching.
  3. Switch back to BBEdit, open the Find dialog…and discover that the Find box now contains the text you used for searching in the other app.

Argh! Thankfully BBEdit saves previous queries, so it's a click to get it back. But I finally got mad enough to search for a better solution, and found it on a previously unknown to me expert preferences page on Bare Bones' site.

There's lots of good stuff on that page, but this section is the one of interest for the "Find" problem:

Like many Mac OS X applications, BBEdit supports the “Find Scrap”, a feature of the OS that enables sharing of the “search for” string between applications. Some applications put inappropriate content (such as Web search strings) on the Find Scrap, which can cause the “search for” string in BBEdit’s Find dialog to be replaced when you didn’t expect it.

Bingo! Quit BBEdit, open Terminal, paste this line, hit Return, and relaunch BBEdit:

defaults write com.barebones.bbedit FindDialog_UsesFindScrap -bool NO

No longer will your expertly-constructed Find string be replaced by interlopers from the outside world.



Fix Messages’ broken bundled AppleScripts

While playing around with Messages this morning, I noticed that it ships with a feature that, if used, throws an error. Steps to reproduce:

  1. Open Messages' preferences.

  2. Set the Applescript handler pop-up to any of the listed scripts:

  3. Close preferences, and try to send a message to anyone.

  4. Revel in the brokenness.

I especially like the execution error: No error message…it's that rare non-error that tosses up an error dialog!

In any event, I think it's shameful that Apple ships the app with a feature—plainly obvious in prefs—that breaks when used. Yes, I know AppleScript is probably dying, but that doesn't excuse shipping the app with a clearly-broken feature; if it doesn't work, just remove it. Apparently this has been an issue since Yosemite's release in October of 2014!

With all that said, fixing this is incredibly easy—it took me about 30 seconds of "work" to find and fix the problem. If you'd like to use the bundled AppleScripts in Messages—either as is, or in some modified form—here's what you need to do

[continue reading…]



Control animated GIF playback on WordPress sites

I wanted to embed an animated GIF in my post about changing the iOS Settings screen. However, because the GIF was about 4MB in size, I didn't want it to auto-load—and in general, I find auto-playing GIFs annoying. I wanted something that would stop and start on click, like this (wonderfully subtle) example GIF

So I did what any WordPress user would do in such a situation: I went looking for a WordPress plug-in that offered control over GIFs.

I initially found WP GIF Player and GIF Animation Preview. Both did what I wanted, mostly, but they added a bunch of their own HTML and CSS, and/or relied on the WordPress media library (which I don't use). After testing both, I just couldn't get them to work with the GIF and the size/position that I wanted to use. Perhaps there are others that would work, but I got frustrated and gave up searching.

[continue reading…]