Rethinking Window Management on GNOME – Space and Meaning

nikodunk@lemmy.ml to Linux@lemmy.ml – 168 points –
blogs.gnome.org
42

You are viewing a single comment

One important missing piece is having information on the maximum desired size of a window. This is the size beyond which the window content stops looking good. Not having this information is one of the reasons that traditional tiling window managers have issues, especially on larger screens.

I have been upset over losing this functionality from the classic Macintosh days for decades now. This was built into the Macintosh OS going back to at least System 7. Clicking the "expand" button in the title bar would expand (or shrink) a window to its optimum size. For Finder windows, that meant the smallest size that could display all the files without scrolling (if possible).

Developers had to implement logic to make it work. For the most part, they did, and it worked very well up through OS 9.

Then came OS X. The green button, at first, worked exactly the same way it did in OS 9. The problem was that even Apple didn't give a damn to write any logic for it into their apps. It might as well have been a "randomize" button. Users got frustrated. Windows converts wondered why there was no "maximize" button and blamed the very concept of expanding rather than Apple's now-piss-poor implementation. Longtime Mac users wondered why we effectively lost a very useful feature.

Over the years, Apple continued to neglect the function of the green button, and third-party devs largely followed suit. Eventually Apple changed the default behavior of the green button to go into full-screen mode, hiding the original (still mostly broken) "zoom" functionality behind an Option-click. At this point, the the difference is effectively "full screen" vs "windowed full screen". RIP the classic Mac OS expand function.

Although the functionality is still abysmal, you can also double click the title/header bar to zoom.

What is zoom in Mac. I never have mac, I'm curious 😂

Similar to maximize but it tries to expand the window only enough to show all the content without needing to scroll.