The Mysterious Zoom Button of Mac OS X

I generally enjoy the simplicity of the window controls in Mac OS X — especially with the subtle visual simplifications in version 10.3.

While Windows (and the common linux GUIs, Gnome and KDE) have the common three window controls (minimize, maximize/restore, and close), they also have another menu on the top-right of the window. This includes these same window controls again, with some additions (I’ve debated removing this extra menu in Gnome).

Mac OS X dispenses with this second title bar control, simplifying the typical window to great effect. To be fair, though, it does get to hide some of that functionality in the common application menu at the top of the screen.

Mac OS X toolbar controlHowever, there are two things that do bother me about the OS X window controls. The first is somewhat trivial and subjective. I don’t think the “show/hide toolbar” control warrants such a prominent position on the title bar. It is handy, on occasion, but shouldn’t a control to hide/show a toolbar be somehow connected to the toolbar? Is this even something that needs an always-visible control?

My second peeve is one that dates way back to the days of the Classic Mac OS. Perhaps some sage Mac users can clear this up for us. What’s the deal with that zoom control?!

Mac OS X toolbar controlThe little green orb (it includes a plus symbol + when the mouse hovers over it) has always confounded me as to what it will do each time I click on it. It has become known around my office as the “green random window size changing button”. Apple calls it the “zoom button” (they always have been good at naming things).

According to Apple, the zoom button toggles the window between the “user state” and the “standard state”:

The user state is the window size and location established by the user. If your application does not supply an initial user state, the user state is simply the size and location of the window when it was created, until the user resizes it.

The standard state is the window size and location that your application considers most convenient, considering the function of the document and the screen space available. In a word-processing application, for example, a standard-state window might show a full page, if possible, or a page of full width and as much length as fits on the screen. If the user changes the page size through Page Setup, the application might adjust the standard state to reflect the new page size. If your application does not define a standard state, the Window Manager automatically sets the standard state to the entire gray region on the main screen, minus a three-pixel border on all sides. (See Macintosh Human Interface Guidelines for a detailed description of how your application determines where to open and zoom windows.) The user cannot change a window’s standard state.

However, it seems more common that an application opens up for the first time at an appropriate and comfortable size (as recommended by the Apple Human Interface Guidelines). Then, when the “zoom button” is clicked, the window effectively “maximizes”. OS X doesn’t have the full “maximized” state that Windows uses (a reasonable simplification for which I do not fault them — and it is a nice removable of a “mode”). Rather, the windows seem to just get as large as they can. However, this seems quite inconsistent — sometimes they will take up the full width, but keep the same height — others seem to maximize both height and width.

The end result of this is that I end up not knowing what to expect when I click the zoom button. So, I usually don’t click it at all.

So, I ask of you, the sage readership:

  1. What exactly does the zoom button do?
  2. If there is a reasonable answer, then how can this be made more obvious, as to avoid my current state of confusion and frustration?
 

25 thoughts on “The Mysterious Zoom Button of Mac OS X

  1. I’ve had exactly the same thoughts as you have, and I came to the same solution; I don’t use the green button at all. In safari it maximizes to full height, but keep the width every time, as far, as I can tell.. but it has more than two modes, first it maximizes to full height, on second click, it gains about 5 pixels width, and on the third click, in turns back to the original size — both horizontal and vertical.

  2. I am learing the same thing, since buying my first mac about a month ago. I think the problem lies with the dock, programs do not know how to maxamize like they have learned in Windows. When the start bar first came out in Win 95, programs had the same type problems (thought not as weird results). Maybe this is something that people need to make Apple aware of?

  3. It’s also interesting to note that the “maximise” button on Apple’s iTunes for Windows (version 4.2 up) doesn’t work very well – if you have your Windows taskbar at the top of the screen (okay – I’m a member of a Mac emulation forum, hence the top taskbar, and yes, I have a dock at the bottom), iTunes/Win maximises over it, and leaves the space where a normal windows taskbar would normally live empty.

    Quicktime for Windows, however, exhibits similar behaviour – on “maximising”, it makes the window wide enough that it fills the screen horizontally, but keeps the window in the aspect ratio of the media that it’s playing.

  4. I am fairly new to Mac OS, but I found that the green button comes in handy if you ever end up with a window taller than the screen. I had a coverdisk which had folders on it which had obviously previously been opened by someone with a cinema display. I couldn’t resize them because I couldn’t drag them far enough up the screen to get to the bottom right corner. Eventually, by random poking around, I found that the green button solved the problem. And by ‘eventually’ I mean two days.

  5. It _does_ differ from program to program it seems (I just got my Powerbook, my first Mac, a month ago so bear with me). In Safari what it does when you press it is actually resize the window to fit the currently open site. So if you’re on a site that’s a little wider than your browser, press the button and it’ll adjust the window width.

    Other than that I just sort of hope and prey that it does what I want it to so I don’t have to fiddle with resizing the window 🙂

  6. For Safari I’ve taken to keeping a window resize script in the AppleScript menu on the Apple bar. The script is Apple’s own, in this collection of scripts, there is also an ever-handier bookmarklet that expands the Safari window full screen or to 800 provided by Apple. If only it could be mapped to the zoom button.

    The interesting thing, especially for Safari, is that in many cases their is no reason to have the window beyond the point the zoom button will take you, so practically Apple’s right by not making a window bigger than the content being displayed, but it seems everyone likes to use their whole screen, so Apple is wrong for their users.

  7. Michael Heilemann & ryrivard:

    You both make reference (with regard to Safari) to the width that webpages actually are. Am I missing something, or would this only pertain to fixed-pixel width pages? Didn’t think there were any left.

    LQ

  8. The zoom button does work as described; the unfortunate thing is that it’s a very strange behaviour. To simplify things, here’s how it works:

    When you open an application for the first time (I mean EVER), the app’s windows open in the state they were designed. Be this coordinates, size, etcetera. Let’s assume for this example that your window opens centered on the screen at the size of 200x200px. This is called the “standard state.”

    Now, once you resize the window (and change it by at least 7 pixels), you’ve changed the window to “user state.” If you click the zoom button, the window will change between the first state and your resized state.

    Unfortunately, this is where it gets a bit sticky.

    If you resize your user state after “zooming” into it, clicking the zoom button again will probably yield strange results. In some applications, this will zoom the window to your first user state, effectively making the first user state your new standard state and from that point on zooming will go between that and the new user state. In some applications, the first user state will be ignored and zooming will go between the original standard state and your new user state–it’s all kind of gray in OS X.

    You might also notice that clicking the zoom button before you’ve ever set a user state can cause random zooming. Some applications have preset zoom states, some don’t. In some apps it almost feels random.

    I, for one, prefer it when application creators completely overwrite this behaviour. In xPad, when you click the zoom button, the app maximizes to cover the whole screen. If you open the drawer when the window is full, the window resizes to make room for the drawer. Unfortunately, if you change the user state with the window maximized, you can eventually create zooming problems.

    I think OS X would benefit from changing the zoom behaviour to a standard method. Coming from a windows world, I initially thought it should maximize and restore window sizes. Over time, I think I realized that most Mac applications don’t really even need a zoom button, though. I almost never use it. But perhaps I would if it worked a little better.

    Hope this has helped at least a little.

  9. Hmmm. I’ve never seen the fubaring of the user state that Garrett describes.

    Think of it as the ‘make it just big enough’ button, with ‘just big enough’ being defined differently by different applications.

    In the Finder, the zoom button will make a Finder window just big enough to show all the contents of the folder, which is very handy. In Photoshop, the zoom button will make a window just big enough to show the whole image, or with a large image, just large enough to fill the screen. Other applications, like BBEdit and Safari, make the window as tall as the screen. And some applications, like Mail and Illustrator, make the window just large enough to fill the whole screen.

    While it is inconsistent between applications, the behavior is often *useful*.

    While the behavior in Windows is consistent, it’s almost never *useful* – making a window fill the whole screen is almost always overkill, at least if you’ve got a decent monitor. The exception, of course, is MDI applications like Photoshop – it’s often handy to have the application window fill the whole screen, with document windows not maximized.

  10. For whatever reason I can’t seem to figure out if there is an existing keyboard shortcut for this funky button. The other two have ’em. Does this one? I feel dumb. Yay.

  11. There’s no built-in keyboard shortcut for Zoom in OS X version 10.3, but you can now easily add it using the Keyboard Shortcuts tab of the Keyboard & Mouse System Preferences. It’s pretty funky in some apps though, notibly iTunes.

  12. Pressing the zoom button of a Finder window will resize that window to its smallest usable size. It’s a nice function, especially for the Icon View. It works even better in the late Mac OS 9 Finder.

  13. To Joshua,

    You mention it’s easy to add a Zoom shortcut under Preferences -> Keyboard Shortcuts.

    I’ve been fiddling around with the options in that menu, but still cannot find out how to add a shortcut for zoom. I would be great if you could post here and tell us how you did it. Thanks.

  14. I’ve been a Windows user for some time now, and before that I used Acorn RISC OS for many years. IMHO, both operating systems give a more consistent action to the “maximise” button.

    When clicking this button, I think that most users expect it to fill the screen. Anonymous Cowherd (above) points out that this is often overkill. I disagree. The reason I like to maximise to the whole screen is simple – I sometimes need to remove all distractions from a my train of thought.

    In a multitasking world – we sometimes need to remove all the extraneous garbage from our sensory perception – that includes the random stuff around the edge of a window.

  15. Garry – Joshua Kaufman was either mistaken, or deliberately lying.

    I’m guessing he was just being clever without actually checking. (I hate it when people send me on wild goose chases looking for OS features that don’t actually exist because they couldn’t be bothered checking – I’m looking in your direction Joshua).

    One application that CAN map zoom to a keyboard shortcut is iKey, I’m sure there are others too.

    Unfortunately iKey now costs twenty bucks… when I got addicted to it, it was free, and called Youpi Key.

  16. The zoom button really only maximizes to what you have in the current window. For example: I only have 3 files in a finder window, when I press the zoom button it will only zoom into, and show only the 3 files and not the extra background. This is so you don’t have all that extra unusable space like in Windows. When you press the maximize button it fills the screen, and if there is only 3 files, there is gonna be a full screen of white. Very good feature to me. Period

  17. As far as creating a Keyboard Shortcut for Zoom, in 10.3 you can goto System Prefs -> Keyboard & Mouse -> Keyboard shortcuts. click the little plus sign and add which ever app you like, and enter the menu option you’d like to add, asign the key-combo and viola, bobs your uncle!

    enjoy.
    bcode

  18. The lack of a keyboard shortcut for Zoom has bugged me forever (Hey Apple, ever try Ctrl-F4 on a PC? It’s been there forever). The tip from bcode is handy as far as it goes, but for some reason, the Finder doesn’t even have a menu item! No menu, no shortcut possible.

    What in the world is preventing Apple from making Zoom Window a standard menu item with a standard shortcut, like Minimize and Close?

  19. For Jonathan Knowles, to remove other distractions from view on the PC, yes you maximize the window, on the Mac, you use “Hide others” on the application’s menu and then size the window or windows remaining how you like.

    The button behavior is a bit random sometimes because it is left up to the application, and not all define it well or at all. Preview’s zoom button makes the window the same small square in the middle of the screen every time. It seems they didn’t define it or forgot it is set to something stupid. I should hope that if an app doesn’t define it, then the default would be the whole screen. Some apps seem to do that since it’s harder to calculate the “best” window size.

  20. Ahh yes… the zoom button. This feature has also bugged me since becoming a Mac user about six years ago. It would indeed be nice if there was some way for the user to adjust its behavior. It could be included in each application’s preferences under ‘zoom behaviors’ …

    Having read Apples interface guidelines on the subject, it seems that they have decided on a kind of deliberate ambiguity around this feature. Perhaps that’s part of endowing the Mac with a kind of personality. Like the ‘drawers’ that are deliberately supposed to open offscreen if you size the parent window to fill up the screen. Why not always make the parent window adjust to reveal the drawer in that instance?

    Anyway – that’s another issue.

    The only time I ever use the zoom box is when I’ve moved a window to see what’s underneath it on the desktop and I want to return it to its previous position. I find this works very consistently. As for resizing the window – I always do it manually from the lower right corner. I never trust the zoom to resize since, as noted, it is unpredictable.

  21. Loads of people seem to be experiencing frustration with ‘system prefs->keyboard & mouse->keyboard shortcuts’, and the main reason most people are going there is the lack of a zoom shortcut.

    I’m not sure what Stevianr[6:41 AM May 27, 2004]’s problem with Joshua Kaufman[6:47 PM January 18, 2004] was, it worked fine for me, after about 2 hours of messing. Perhaps they have different os x versions.

    Here’s what i figured (i can only claim these as true on my white ibook g3 with 10.3.5):
    1. You CAN’T use ‘command+{anything}’ (eg command+Z) – all those are taken.
    2. In 99% of apps you can’t use something that already does something in the app.
    3. Rather obvious one: no ‘Zoom’ menu item = no zoom shortcut
    4. ‘Command+control+M’ works for every app i tried. iTunes will toggle between the main display and the tiny version – just like if you clicked the green zoom button.
    5. ‘Command+option+M’ also works for every app i tried. but now, iTunes will resize in a more conventional way – as if you had held down ‘option’ while clicking the green circle.
    6. ‘Function+M’ (numerical keypad 0 on my iBook) is the one I’ve stuck with though. iTunes completely ignores it (but i don’t resize iTunes anyway). Note that if you have ‘find as you type’ switched on in Firefox prefs, you have to press ‘function+control+M’ instead.
    7. The one exception to “all the apps i tried” above is textedit. It doesn’t seem to respond to any ‘Zoom’ shortcut definition. I didn’t look very hard though, as i don’t use it.

    The apps i tried are: iTunes, firefox, cocoview, textedit, terminal, console, activity monitor, preview and mail.

  22. One thing I’d add to Dial L for Love’s description… After setting the Zoom shortcut in the preferences, you have to quit and restart an app before it will recognize the shortcut. For the finder, that means a logout, force quit, or reboot.

  23. This (lack of) functionality annoys me more than it appears to annoy most. I’m on a 12″ power book, and somehow my windows manage to make themselves smalller by 1-5 pixels occasionally. When they spawn, they always spawn on the left side of the screen. Being that my screen is only 1024×768, I need all the real-estate I can get, but having the windows spawn away from the right side of the screen (often by an undetectable 1px) breaks Fitts’s law (with respect to the scroll bars) in a most annoying and frustrating manner. I’ve got the applescript to resize safari windows, but I’m totally stymied with iTunes. If only the green button would full-screen me!

Comments are closed.