So I have this stupendous array of three giant computer displays on my desk: the one in the middle is an Apple iMac, which powers two Cinema displays on either side. Each display is 27” and is dialed up to 2560×1440. Even one of these displays has more pixels than about 99% of systems out there. (Those bragging rights are roughly based on stats for my medium-traffic website, PainScience.com — which are dominated by displays at resolutions of 1280×800, 1366×768, and 1024×768, and the iPhone at 320×480
There are more than 11 million pixels in front of me as I type this: about four times as much as a single typical high resolution computer display.
That’s a lot o’ pixels!
With great power comes great troubleshooting challenges: how to conveniently change the brightness on three displays
Managing the brightness of these displays has proved to be surprisingly annoying. Although Apple’s multi-display support is good in terms of their arrangement, Apple’s baked-in brightness controls for multiple displays is exasperatingly limited. Specifically, the brightness keys on the keyboard change only the main display, and the only control over the externals is via the pref panes — so there’s simply no way to change all three simultaneously or quickly. If you want all your displays to be dim, it’s going to take you several steps. If you want to brighten them all up again, repeat. This gets tiresome fast.
And it also matters more. Three big bright displays put out a lot of light. I feel like I’m stuck in UFO headlights sometimes. Waking up the machine in a dark room can be a bit hard on the eyes! You really don’t want to screw around with multiple preference panes at that moment. More than a few times I found myself swearing and squinting madly as I tried to dial them down.
So I wrote (er, found and modified) AppleScripts that change the brightness on all three displays at once to certain useful presets like “brighten all”, “dim all”, “dim externals only.” (See the end for the code.) And I have super quick access to those scripts via LaunchBar, from Objective Development. So, for instance, to dim all displays, I activate LaunchBar (⌘-space) and then type the DAD, which LaunchBar recognizes as the acronym for that script — this is the genius of LaunchBar — and then tap return to trigger the script. I can literally trigger that in about one second, and it’s not hard to remember.
Those worked so well that I wrote more scripts to increment/decrement the brightness of all three displays at once. As fast and awesome as LaunchBar is for launching scripts by easily-remembered names, for truly routine quick access I needed to get even more efficient: keyboard shortcuts. So I tied the scripts to the F1/F2 keys with FastScripts, by Daniel Jalkut of Red Sweater Software — and these the same physical keys as the brightness keys, just with the (rarely used but perfectly serviceable) “fn” modifier key thrown into the mix.
So now I can change all three displays at once, almost exactly the same way that Apple intended — just a single extra key press. (Alas, Daniel tells me that it is impossible to comandeer the actual brightness keys for this purpose: they remain somewhat uselessly dedicated to change the brightness of the main display only.)
Incidentally, this situation is actually what tipped me over the edge to finally buy FastScripts. I had meant to do so for years. I guess I just had to buy a lot of displays first.
Three giant displays? Seriously? Is this for feature-film making?
I’m just a writer and a web developer, jobs that are not exactly associated with a burning need for a stupid number of pixels, so my addiction to digital Lebensraum is an interesting idiosyncrazy. However, it’s really not as extravagant as it seems: it’s just a matter of my eccentric priorities. Some people buy a new car every year, while I haven’t bought any car since 1996. I’m a tech hobbyist. I like computers, and I like having a lot of computer.
And yet I also actually use every pixel, all day, every day. I’ve had this setup for a few months now, and there’s no question it’s useful. It was overwhelming at first and I wasn’t sure how to “spend” all that the space, but it took me no longer than figuring out what to do with, say, a bunch of extra money.
It’s not a matter need, obviously, but more a matter of working style, and freeing myself from the milquetoast tyranny of inefficient window organization and placement (which, by the way, I now feel acutely when I work on my 15” MacBook Pro). I fling virtual objects around with abandon. I can get stuff out of my way quickly and imprecisely, and then drag them back into focus just as easily. The displays are literally as big as my big desk, and I spread apps and windows all across them exactly like I would have spread papers books and all over the place if I’d been of an earlier era. I live “in” this thing, and I like breathing room.
When you add in Mac OS X’s Exposé window management tools, the options really get interesting: imagine three giant virtual desks (spaces), for instance. The app Divvy, by Mizage, is also completely indispensable for arranging windows in such a vast pixel playground, and it is fully aware of a triple-headed system and makes it wonderfully easy to arrange my windows. In particular, I use shortcuts that allow me to make any window fill any of the displays completely, or subdivisions of them. So I can make a ⅓-width window and place it on display #2 with just a couple keystrokes.
I suspect that we are nowhere close to the maximum display sizes that consumers are willing to buy. As prices continue to drop, everyone will continue to buy bigger and bigger displays. It’s like shelf space: the more you have, the more you use. I’ve never had a moment of buyer’s remorse about these things, and — you’re going to laugh — I still run out space and have to close windows and rearrange things.
And the displays are just gorgeous, of course. They are like aluminum and glass art. And that goes nicely with my giant aluminum photographic print of Burrard Street Bridge. See also a little photographic tour of my whole office, which I finally just finished turning into a proper writer’s office.
The brightness AppleScripts
My various brightness scripts are all variations on this simple, one-display example, and I’m sure they’re a bit clunky — I’m no AppleScript guru. But they work. To control other displays, you just need repeat the tell-system-prefs block for each display, using a different window number (“tell tab group 1” of window 1, window 2, etc).
tell application “System Preferences” to set current pane to pane “Displays”
set brightness to 1.0
tell application “System Events”
tell process “System Preferences”
tell tab group 1 of window 1
click radio button 1
tell slider 1 of group 2
set value to brightness
quit application “System Preferences”
Incrementing (and decrementing) the display brightness is a little trickier. “Tab group 1” needs more instructions for that:
click radio button 1
set oldBrightness to value of slider 1 of group 2
if oldBrightness + 0.1 ≥ 1.0 then
set newBrightness to 1.0
set newBrightness to (oldBrightness + 0.1)
tell slider 1 of group 2
set value to newBrightness