Tuesday, December 27, 2011

AppleDisplayScaleFactor and Lion


(I did this digging around on Darren Abate's behalf, because I didn't know Apple had left this little feature in there until he told me it was gone!)

Apple used to have this cool feature secretly stashed in the Quartz Debug developer tool that let you shrink the screen down. And then any large screen app could easily be run even on a tiny screen. Why? Because that's what Apple was trying to promote at the time--test your apps with icons and art for different resolution screens. High density displays were coming, Apple told us (in 2006). Be ready, they said.

1024x1024 icons. Use PDFs for icons, not PNGs, etc. Cool stuff!

But for those of us with laptops, the Quartz Debug tool that let you change the display resolution also let you scale the resolution *down*, so you could see more on your tiny laptop screen. The ability to actually see what our larger-screened Mac usin' brethren were seeing was a godsend!

Unfortunately, Apple removed this capability way back in Leopard, I think, from Quartz Debug. It only scaled up from that version on.

What I didn't know until today was that they left this feature exposed through the 'defaults' system.

So if you still have Snow Leopard, you can open your Terminal and type this...

defaults write NSGlobalDomain AppleDisplayScaleFactor 0.8

... and any apps you open from that point forward will display smaller. The menu will be smaller, the UI smaller, everything. It's really cool. Here's Safari at 80% resolution. See the tiny window controls? Compare that to the controls of the Terminal window, which I typed the command in before launching Safari. And yes, that's Conjure running in the background.

80% res == 120% Kewl.



Unfortunately again, in Lion, they removed that as well--those High Density screens must be right around the corner. So there's no currently known way to scale the screens down.

The good news is that the capability to scale *up* is still in Quartz Debug. Apple even refers to it in their developer docs...

http://developer.apple.com/library/mac/#documentation/UserExperience/Conceptual/HiDPIOverview/HiDPIConcepts/HiDPIConcepts.html%23//apple_ref/doc/uid/TP40003409-CH3-SW4

SO... if it's there at all, I'm pretty sure it still works both ways, they just didn't want to make it simple. The big question is, how do we access it, and can it somehow still scale down?

Macbook users like me want to know!

-Chilton