How to make the maximize button behave consistently across applications?

So I'm a semi-new Mac user (loving it btw), but one thing I'm finding super annoying is that when I hit the "+" to maximize/minimize windows it doesn't behave like I think it should.

I see many threads on here about windows but what I am looking for is some level of consistency about how to minimize/maximize them.

For example, if my monitor is 1920x1080, and I manually sized the window to 800x600 and then I want to maximize the window so I can see more, I'll hit the "+" button to maximize and one of the following happens:

  • Instead of the window maximizing to full screen (e.g., 1920x1080) it will ONLY maximize vertically, so if the window was 800x600 when I press the "+" button, it'll maximize to 800x1080 (it maximized from top to bottom but not left to right).
  • Sometimes, if the window is already maximized, when I hit the "+" to un-maximize it, it doesnt do anything; it just stays maximized.
  • And, sometimes, it behaves like Windows does and takes full width/height after pressing the "+" button.

It becomes annoying because I'm working on a 13" MacBook Pro and an external 23" monitor at 1920x1080 that I use at work. When I want to bring a window over from the 23" monitor to the 13", I have to always manually re-size things.

How can I make the maximize button behave in a predictable way no matter what Application I'm using? Even better if that predictable way matches the way Windows does it.


Solution 1:

If you want it to behave like Windows, the only real answer is to simply use Windows. I know that sounds flippant, but you cannot use one operating system and expect to be able to pick and choose it's behaviour based on your personal preferences of other systems.

The maximise paradigm simply doesn't work on Macs, where the ideal is that the function is to set the window size to best fit the content rather than the screen. The point being that the content is what is important, and that stays the same regardless of if you are on a 11" laptop screen or a 27" desktop behemoth. Now we all know that this isn't always properly implemented, but we also know that it is the developers prerogative to do the implementation, it's not a failing in the OS, and given a choice of "one size fits all full screen" that always does the same thing, or intelligent (when the developer adds it) maximising to meet the needs of the content, then I prefer the existing system.

If maximise as per the Windows system makes sense for a given app (bearing in mind that for many, I would say most, it simply does not), then you really want to be looking into the Full Screen options that are provided from Lion onwards, which are further improved upon in Mountain Lion for external displays etc, as this will provide you with exactly what you need, you just have to use another icon. If your app does not support this yet, then there are a number of workarounds like this one for the time being.

Solution 2:

It is easy to see why many users coming from Windows think that the green button means 'maximize' versus how it actually works on the Mac. On the Mac, this is called Zoom. This is actually a carry-over from the Classic Mac OS, closer to the button on the top right of a window starting around Mac OS 7.

This also doesn't work with the menu structure in the Mac OS either, with how the menu bar is on the 'system' level, not per application like it is in Windows. Exactly what stuffe mentioned - the focus on the Mac has been content versus real estate.

This button has two features, depending on the application, content, and development:

  • Fit the content of the window better (similar to stuffe's answer).
  • Switch between a user state and standard state.

This is somewhat like what you see in iTunes now, but it actually works two ways in iTunes. In iTunes starting with Mac OS 10.7 Lion (it may be slightly before or after), the green button now switches from the normal player to the mini player. But before that, it acted like many other applications did (and if you hold down Option and click the button, you get this feature back). Basically, the application would switch between several different possibilities:

  • Full-screen (somewhat) - as in filling the remaining area of the screen, minus the menu bar with the window.
  • Reset the window to a view that the developer thought was an 'optimized' way to use the application. This may be a certain window size, snapping to the full height or width.
  • Switch between the standard view and a user defined resized view (for example, resize your window in Safari, click the green button, and it usually goes to the height of the screen, click it again, and it goes back to your resize - basically between 'optimized' view and 'user' view. )
  • A developer chosen 'other feature' view - which is like what you see now in iTunes, switching from full player to mini player. As in, completely changing the window state.

Being a very long time Mac user, I personally prefer this setup than the Maximize functionality in Windows. Once you know the power and actual use for it, it can actually really help ones workflow.

The closest you would get to the Maximize functionality in Windows would be full screen mode introduced in Lion. This is the two arrows pointing away from each other in the top right of the screen. enter image description here While it doesn't work exactly like the zoom button either in Windows (since it puts the full screen application on a different virtual screen), it is rather close, and much closer than the Zoom buttons behavior.

Solution 3:

Shift+green button. works for me!

Solution 4:

I haven't tried it my self, but there is an App called "RightZoom" which runs in the background and makes the zoom button function as a maximise button (RightZoom is not available on the AppStore). There is also an App called iSnap on the AppStore which brings Areo Snap to the Mac. There are many handy tools like this that fill the gaps in the Mac experience.