GUI Scaling with 10.4
Written by Tom Mordasky   
Thursday, 21 September 2006
Size does matter

guis1Lately, there has been some talk on an interesting "hidden" feature in Tiger, specifically its ability to scale the user interface.  Normally all items displayed on screen are assigned specific pixel dimensions by their creators.  Smaller screens, particularly LCDs with fixed pixel areas, are prone to filling up and getting crowded rather quickly.  Some screens, like older PowerBooks and Clamshell ibooks, are getting to the point where many web pages can no longer be correctly displayed. Since you cannot add pixels, perhaps you can make the ones you have work a little harder.

The GUI in Tiger can be scaled on a both a global basis and on an application by application basis.  Thus, the user can assign a specific scale factor to the entire system or specify individual preferences for each or any desired app.  The user can specify larger or smaller sizes as he or she sees fit.  Tiger will dutifully obey whatever commands it is given, but are the results usable? Lets see…

We will start with the most radical of changes and what would perhaps be the most desirable shift for say, a Clamshell iBook owner with only 600x800 pixels to work with.  Launch a new terminal window (don’t be afraid, it won't bite you) and type:

defaults write NSGlobalDomain AppleDisplayScaleFactor 0.75

This will change the scale of the entire system to 75% (0.75=75%, get it?)  The scale factor can be basically any number the user desires.  Just remember to speak in decimals; 0.5 or 0.85, etc…  "But wait," you say, "Nothing happened!"  That’s correct, the change only affects applications when they are launched.  Thus, the Finder itself must be relaunched for the changes to be seen.  Log out and log back in.  Suddenly everything is smaller, like you changed resolutions on your display.  Below are screenshots of my Pismo’s screen at full size and then 0.75.  Note that the size of the desktop icons remains the same.

guis2

guis3

It seems that the Finder handles the scaling fairly well as far as menus and readability are concerned.  What does get messy is the desktop.  Though it remains visibly the same, it seems to scale down from the upper right hand corner.  Thus, the actual location of items is to the left of where they appear on screen, making for a bit of a guessing game when you try to click on something.  I am not sure if there is a way around this or not.  While the menu looks pretty good, windows are another story.  Text is largely garbled and icons do not scale correctly.  Many icons tend not to display at all but revert to the defaults for their file types.  Take a look at the system preferences window for a good example of this.

Undoing this change requires a second trip to the terminal:

defaults write NSGlobalDomain AppleDisplayScaleFactor 1

Log out and back in and we are back to normal.  There is one major caveat here: the terminal is pretty much the only way to change this setting.  If, for instance, you are writing an article and you make a mistake and say, type "075" instead of "0.75" (can’t imagine who would do that) the resulting mess (a scale factor of 750%) can be difficult to undo.  Without a usable GUI, you can’t really access the terminal to fix the problem.  All of the usual tricks, such as resetting your PRAM, will have no effect on the setting as it is an invisible preference file (of course it is…) loaded during the system startup.  My... umm...  “friend” who did this had to boot his PowerBook into Target Disk Mode to delete the file called ".GlobalPreferences.plist" and bring things back down to size.

Now, if scaling the entire GUI is a bit much for your tastes, one can opt to scale individual applications as well.  Simply replace the NSGlobalDonain portion of the command with the name of the app you wish to scale.  Remember to speak Unix.  If you, like me, haven’t the foggiest idea what the Unix name for any of your applications are, you can check its preference file in the user library.  Therefore:

guis4
defaults write com.adobe.photoshop AppleDisplayScaleFactor 0.75

We now have scaled the Adobe Photoshop interface down to 75%.  Unfortunately, not only does the Photoshop interface suffer a considerable hit to its readability, but there is also a noticeable loss in image display quality as well.

Overall, regardless of whether one chooses to scale individual apps or the entire system, the results will depend a lot on the monitor they are viewed on.  The LCD on my pismo is 1024 x 748 and the results border on unreadable.  On the other hand, my Cinema Display has a much more robust 1680 x 1050 and handles scaling much better with reasonable readability at 75%.

So, we have seen how Tiger supports the scaling of both the entire interface as well as individual applications.  Unfortunately, it would seem that this feature needs considerable work before it is ready for primetime.  The loss of clarity and readability on menu items is tough to take.  Text in iTunes and web browsers like Firefox can be difficult to read at best.  It is possible that users with CRT monitors may have better luck as the good old CRT is more resolution independent than an LCD is.  The results on my Pismo were terrible and I am sure a Clamshell iBook would fare even worse.  Still, despite the problems this feature shows considerable promise for the future, if both Apple and software authors choose to support it.  The ability for the user to specify how much screen real estate to devote to any given program is an exciting prospect.  Watch for the further development of this feature.  In the meantime it makes for fun parlor tricks and may even be useful for those more concerned with size over quality.
 




Comments (2)
20-08-2008 14:02
 
This actually fixed a huge problem I have been having on one of my older Macs, i was not able to accept the License agreement in iTunes because the screen had a small resolution.  
 
I posted questions for help on different forums . . . all of them told me to up m resolution to 1024x768 . . . kind of hard to do when you max res is 800x600!!!
Guest
 
Disjaukifa
13-08-2007 15:02
 
Good but be careful
Undoing this change requires a second trip to the terminal: 
 
defaults write NSGlobalDomain AppleDisplayScaleFactor 1 
 
if you do that it will be microscopy  
 
It work but I may have to reinstall osx
Registered
 

Write Comment

Name:
Comment:

Code:* Code
I wish to be contacted by email regarding additional comments



 
< Prev   Next >