Today’s tip is simple, yet for me, critical—it’s one of the first things I do when I set up a new Mac or user on an existing Mac, as it solves a vexing issue: Small fonts that can’t be modified within an app’s preferences. As my eyes get older, these small fonts get more and more annoying.
Thankfully, there’s a fix in the Accessibility section of System Preferences, specifically on the Zoom tab: Easily zoom the screen via keyboard or gesture shortcut. Here’s the setup screen:
You can choose to use keyboard shortcuts to zoom (top section of the full screenshot), or (my preference) a scroll gesture with a modifier key. There are also some useful options in the “Zoom style” section.
It’s not often I get to use a tweet by Many Tricks own Peter Maurer as the inspiration for a tip. But this tip is such a case, as he recently complained about Console and its inability to see old output. A response from @fzwob taught me something I didn’t know:
@petermaurer for logs from customers of your app on Sierra, use Terminal: log show —predicate ‘processImagePath CONTAINS[c] “processname”’
That command browses the captured macOS log data and pulls out anything that matches the specified process name. This could be useful if you’re having troubles with an app and wonder if anything was logged relative to your troubles. Or you might be asked to send the log data if you’re working with the developer on your issue.
Unfortunately, the quotes and dashes in the command as tweeted have been prettified (by Twitter?); here it is in raw Terminal form, using our own Moom as an example:
log show --predicate 'processImagePath CONTAINS[c] "Moom"'
When you press Return, the command will start digging into the log file, and soon start spewing output—possibly a lot of output—to your screen.
It seems crazy to think that these users are intentionally sharing this information with the world. I wanted to see how it was happening, so I logged into docs.com with my Office365 account to see. I created a simple file to upload as a test. After uploading, you have to set a bunch of options before you save the file; one of the settings is the Visibility, and this is the default setting:
Yes, docs.com defaults any uploaded file to world-visible, “giving it a larger audience.” Yikes!
I use VMware Fusion often—I have virtual machines that span Mac OS X 10.6 to macOS 10.12.4 beta. I use the more-recent of these for supporting our customers on older versions of the OS, and keep the really old versions just for nostalgia purposes. (I have a bunch of non-macOS virtual machines, too, but they’re not relevant to this tidbit.)
In all the time I’ve been using Fusion on my retina Macs, though, I’ve never enabled this setting…
…well, I enabled it once, but turned it off, because the end result was too small to see: In Retina mode, every pixel is an actual pixel, not a doubled pixel. On my 27″ iMac, that meant the macOS VM thought it was running at (for example) 2560×1600 instead of a retina resolution of 1280×800. VMware even warns you of this in their Knowledge Base:
Mac OS X running in a virtual machine is limited to an approximate resolution of 2560 x 1600, and treats the display as a standard DPI device. This makes the text and icons to appear small in the OS X interface.
However, today I stumbled across this solution from Patrick Bougie—and it’s brilliant in its simplicity. Patrick’s post has all the details; I’ll reproduce them here in abbreviated form, just in case his page ever vanishes.
One of the “problems” with Keyboard Maestro is that it’s so useful I use it a lot, leading to a large collection of macros. Due to the number of macros, sometimes when I want to add a new shortcut, I can’t remember if I’ve used that shortcut before or not. Today’s tip comes in two flavors to address that problem: Simple and Complex.
The Simple solution
Short of just trying the shortcut, there’s a way to check from within Keyboard Maestro itself: Type the macro’s activation keys into the search box, as seen in the box at right.
You can’t do this by pressing the actual shortcut keys—you have to type their character representations. You can do this with the “Show Emoji & Symbols” option under the flag icon in the menu bar, if you’ve enabled it in the Keyboard System Preferences panel. But finding those few special keys (if you even know how to search for them) is a pain.
Technically, you could also use the pop-up character palette macro I wrote, except there’s an issue: When the palette activates, it deactivates the search box, so the characters don’t make it there. It’s also overkill for this task, because there are characters that wouldn’t be part of keyboard shortcuts, and you’d never need the HTML codes, just the characters.
So I wrote what wound up being a set of new macros that make searching for assigned keyboard shortcuts much easier.
Before you hit Return, you notice a couple of typos early in the command. You could use cursor movement keys to move around, of course, but with the above command in place, just press Escape and hit v: The entered command will open for editing in vi. Make your changes, then do the usual :wqvi exit dance, and your edited command will then execute.
Note that if you edit a command but then don’t save it (i.e. you press :q!, you may have to hit Return on the command line to get out of an odd “waiting for v to edit” mode. (At least that’s the only way I found to return to normal typing.)
On save, I noticed that the image’s extension was .jpeg rather than what I thought was the usual .jpg. As both of my other Macs save with the .jpg extension, I figured something was messed up on the iMac. So I (of course) tweeted about the issue. A while later, Shawn King replied with this seemingly odd suggestion:
So I tried it, and sure enough, changing the screen capture file format via defaults write com.apple.screencapture type jpg and then restarting the SystemUIServer with killall SystemUIServer changed my default JPEG extension in every app to .jpg.
What’s really strange is that I then switched the screenshot format back to png, and the .jpg extension remained. I even went so far as to delete the pref (defaults delete com.apple.screencapture), and still, the extension remains .jpg. So whatever change occurred when switching the default screenshot format, it appears to be permanent.
I tried the same trick for the .tiff extension (which I rarely use, so it doesn’t bother me as much), and it sort of worked: Captured screenshots got a .tif extension, but images saved from apps still got the four-letter .tiff extension. Weird.
If anyone knows exactly what’s going on with the .jpeg vs. .jpg extension, I’d love to hear the explanation.
Yes, that’s a screen saver running in the background, behind whatever work you’re doing. And if nothing else, it’s a great example of the progress of our CPUs and GPUs since 2002. In the original hint, I noted:
On my G4/733 with the GeForce3, this is simply amazing. The new “flurry” screensaver is running right now on the destop at 1600×1200 in thousands, iTunes is playing, the ink recognition floater is open, and yet the CPU utilization is averaging at or below 50% of thereabouts
Today, I’m testing it on a 5K iMac (5120×2880) with a second connected 4K (3840×2160) display—a total of 23,040,000 pixels, or 12 times as many pixels as in 2002—with Flurry running on both screens, and the CPU usage is somewhere around 10% to 15%. (Flurry does send the iMac’s fans into a tizzy, though.) Other screen savers are even less intensive, and don’t send my iMac’s fans into high gear.
I can’t imagine actually working this way for very long, but it is kind of interesting. Here’s how to start (and more importantly, perhaps, stop) a background screen saver.
Between Many Tricks and this blog, I spend a lot of time in browsers. Most of the time, I use Safari, but I do occasionally work in Chrome and Firefox, too—most often to check how a page looks or functions.
I keep my “permanent” bookmarks in Safari, and don’t presently use any sort of cross-browser sync. (I used to use one, but had a lot of trouble with duplicates, so I stopped.)
I wanted a way to open a limited number of URLs in either Safari (if that’s what I was in, or if I wasn’t in a browser), or in the frontmost browser, if that browser were frontmost. I could just create the subset as bookmarks in each browser, but if I wanted to add or remove a page from the list, I’d have to do so multiple times.
In the end, I came up with a set of Keyboard Maestro macros that do exactly what I want. I access my short list of multi-browser URLs via Keyboard Maestro’s pop-up palette, as seen at right.
This appears when I press ⌃1; after that, a single digit opens the desired URL. But how does it know whether to open the URL in Safari or one of the other browsers? It takes one helper macro, then one macro for each URL that I want to open in this manner.
The nice thing about the reinstall is that it’s nothing like a reinstall from days of yore—you’re not starting from scratch, so you won’t have to reinstall everything when done. Apple makes this clear on the support page:
You can install macOS over the same version or earlier version, without removing your data. You don’t need to remove or disable the existing system first.
I say this with crossed fingers, but it seems that this reinstallation has potentially solved my Bluetooth issues. For the last two days, I’ve used my Bluetooth headphones without any static issues at all. In addition, none of my Bluetooth devices have disconnected. There is one comment from slajax on the original article that states this didn’t work for them:
I’ve been having the same issue but with the gen 1 track pad and keyboard. I reinstalled the OS, PRAM etc replaced them with the gen 2 key board and track pad and also had the apple store replace the bluetooth antenna but still having the same issue.
If you’ve reached the breaking point with your macOS Sierra/Bluetooth issues, it might be worth the 30 minutes or so a reinstall takes. But please, if you go this route, make sure you have a good backup first, just in case. And if it works for you, please post in the comments (either here or on the original post), so that others might see, too. I promise to do the same if my now-working Bluetooth turns out to again be not-working Bluetooth.