It’s honesty shocking that in 2023, MacOS still has a nonexistent window managing system. Forget us on the outside. How are the tens of thousands of employees who work for Apple not sending the executive team daily feedback on this?
Hover over the green stoplight, you get a popover with fullscreen options.
Press Option and the fullscreen options mutate into snap left/snap right/zoom.
These can also be found in the Window menu. Again, press option to mutate the fullscreen ones to snap.
And since these are menu options, one can set any keyboard shortcut of their choosing through the keyboard shortcut prefpane+.
So it is not "snapping" in the sense that you drag the window to the left or right side of the screen, and I would 200% agree that it is completely non-obvious to discover, but it is there for any one to peruse without any third party tool.
The only Apple device I use is the laptop I was given for work, and I've always disliked that the button that would "maximize" the window on other OS instead makes the window "fullscreen" (getting rid of the menu and everything else that entails). I recently discovered that I am actually able to "maximize" by double-clicking the top bar of the window, but I have no idea if this is something that works by default or if one of the various utilities I installed added this functionality. Either way, it seems basically impossible to discover other than by chance; if I hadn't double clicked that area by accident, I still wouldn't know.
Default behavior of the green button click is full-screen, but option-click maximizes.
The behavior of double-clicking the title bar is controlled by the "Dock & Menu Bar" settings pane. It can be configured to minimize the window instead. You can also double-click any edge or corner to maximize from that side alone. Option-double-clicking will grow both sides. I like to option-double-click my Terminal windows to maximize their height without changing their width.
Apparently, this was an existing feature on older macOs-es. I used it a lot, but it has been removed as a default setting like ~8 years ago. But luckily you can still add this shortcut to macOs, this is the first thing I do when I get a fresh install:
1. Go to System Settings -> Keyboard -> Keyboard Shortcuts -> App Shortcuts
2. Click the small (+) button under the shortcuts table.
3. Choose/Type the following values in the modal:
- Application: All Applications
- Menu Title: Zoom
- Keyboard shortcut: Command + Shift + M (My preferred shortcut)
4. Click Save.
5. Voila, now you are able to maximize any window, and pressing it again it goes back to its original size. A cool trick is that now if you hover the green (+) button on the top of any page you will be able to access that shortcut from there as well. It sits just under the "Enter Full Screen" menu option.
Sorry for the bad formatting, apparently I cannot edit my comment on HN anymore.
1. Go to System Settings -> Keyboard -> Keyboard Shortcuts -> App Shortcuts
2. Click the small (+) button under the shortcuts table
3. Choose/Type the following values in the modal:
- Application: All Applications
- Menu Title: Zoom
- Keyboard shortcut: Command + Shift + M (My preferred shortcut)
4. Click Save.
5. Voila, now you are able to maximize any window, and pressing it again it goes back to its original size. A cool trick is that now if you hover the green (+) button on the top of any page you will be able to access that shortcut from there as well. It sits just under the "Enter Full Screen" menu option.
Makes me wish macosxhints was still around. This was precisely what that site was about. I wonder whether there’s a modern day, fastish way to learn all this hidden behavior.
I’ve used this feature on windows 3.11 (I think? It’s been a long time ago…) macOS window management is very lacking but without this I’d just give up, right now I’m barely getting by - installed rectangle recently which gives keyboard shortcuts to window snapping.
If you move the mouse up to the top of the screen in fullscreen mode the menu bar will reappear, so things work about like normal (although that certainly wasn't obvious the first time I pressed the green button). The double-click on the title bar is "Zoom" mode, which you can activate with Window >> Zoom. But I agree, it's not obvious, nor is it obvious what "Zoom" means.
This is a bit annoying when an app has its own menu near the top of the screen. The only app I use in full screen is a media player. Every time I try to interact with the in-app hamburger menu, the whole wind shifts and the system window bay animates out.
I really don’t like the full screen behaviour in macOS.
Apple would say they don’t like hamburger menus. If the app is designed contrary to the guidelines (which say avoid hamburger menus) and tries to fight the system, unsurprisingly it’s not going to work well with the system.
IntelliJ also has a menu bar just below the top of the full screen. I wish Apple made the collapsing top menus require much more insistence before appearing.
Unfortunately my main use of the menu bar is to have information at a glance (like the date and time), so having to move my mouse to see it kind of defeats the purpose. I definitely would not have guessed what "Zoom" mode meant though!
> not wasting space with useless empty space inside the window
Wow. In the linked comment you just turned it into the class discussions.apple.com answer which always translates to “you are doing it wrong” and then “why do you even need that”.
Apologies if it came out that way, I was merely trying to describe what was the original design of it, irrespective of whether it fits one's expectations.
Holding option and clicking the plus will maximize it like a Window's maximize button.
The option key on macOS enables all sorts of extra functionality, open some drop down menus while holding it and you'll find extra / more advanced options in some. Or if you option click your Wifi, for instance, you get all the network info for the network in a bigger popup than clicking it alone!
Indeed it wasn’t for the longest time, but it has been for the last few years (I think with the generation of keyboards after the bad “butterfly” hinges). But the symbol on the key always matched with where it was mentioned on screen, in menus and such.
Once I got used to gestures, I actually like macOS window management more than Linux/Windows for single monitor. It seems a bit clunky if you have multiple monitors
Cmd Left/Right to change between fullscreen windows. Cmd Up Arrow to show all of the fullscreen windows. Using the trackpad, 3 finger swipe up to show all the windows. Either 3 finger or 2 finger swipe left/right to switch between them.
When 2 windows are fullscreen, you can use Cmd Up Arrow to show all of them and drag 1 window in the bar at the top onto another window icon in the bar at the top to do a vertical split (only works for 2 windows)
Is there a way to make Cmd+Tab work with fullscreen windows? If I can't remember if I've made an app fullscreen, I have to three-finger swipe up to see the list of maximized applications and if it's not there, start Cmd-Tabbing to find it. Because I don't use macOS exclusively, what often happens is I try to Cmd+Tab, can't find the window, assume I'm not actually running the software I think I am and then eventually discover it's fullscreen somewhere. I'd really love to find a way to be able to Cmd+Tab through all windows, fullscreen or otherwise.
By requiring full screen windows that method is a non-started for those of us who don’t use Apple’s full screen. I find that it isolates app from each other too much. I’m almost always working with multiple apps at once.
Option-clicking the green maximize button is the shortcut I usually tell people about. If you hold down option, you'll notice that the mouseover for the green ball changes to a plus instead of the fullscreen icon.
The double-click on the title bar is customizable; I set it to minimize the window to the Dock.
To maximize the window (w/o going full screen, which I hate too), I’d alt-click the green button (would because I never maximize windows either; I’m passionately anti-snapping, anti-fullscreen, etc.).
"Maximize" on MacOS means "go to the largest useful size", not "fill the screen". It's application and context dependent. ("Fill the screen" is a separate mode which the top comment is complaining about, justifiably IMO.)
That's because it's not Maximize, it's Zoom, which uses content hints to resize the window while not wasting space with useless empty space inside the window, thus still allowing one to see other windows. When there's no content size hint it falls back to what Windows and Linux call Maximize, which is more like a windowed fullscreen mode.
This probably reflects my not 'coming from' macOS or idiomatic ways of working in it, but I basically never hit 'maximize' on a window because I want to see more of whatever happens to be in the window. I hit 'maximize' because I want to use an app's internal features (tabs, split panes) to manage multiple app-specific contents/views instead of external window management.
I'm never like
> Ah, just let me resize my browser window so that this image will fit within it!
I understand that. IMHO macOS should have both Maximize and Zoom as they do different things and serve different use cases (Apple seems to think that if you want Maximize you actually want fullscreen, which kind of makes sense in a way, except not, e.g when one wants to still be desktopish and rely on cmd tab or cmd backtick, and because the fullscreen/tiling/spaces is crappily implemented for power users)
Now, in practice, Zoom is really nice when it works (I'm using it all the time with Finder+ windows), the problem is that it takes a single app not providing the content size hint for it to break and make it confusing. And then a vicious circle starts where more apps don't care about what it's supposed to do, and before you know it Zoom is mostly falling back to being Maximize most of the time, and people wonder why when it's doing the original Zoom thing it behaves differently and think it's weird and broken (which is perfectly understandable)
In a way Apple either did not embrace the winlin paradigm enough (e.g having a proper Maximize alongside Zoom + having an option for per window cmd tab) or they did not stick to their guns enough (enforcing Zoom to be correct + having a worthy fullscreen/tiling implementation) and we're left with a shitty compromise.
+ A very similar case that ties into this is how the Finder went from being fully spatial to a half-spatial half-global compromise.
That's awful. Instead of windows where you can BAM drag a window to one side and snap it in 0.2 seconds, you have to hover over the window, wait a second, press option, wait .1 second, figure out which option you want, mouse over to it, then finally click it. That's insane.
That's ridiculously complex. Plus you cannot use the same gesture on your other computers, or those of your friend, coworker, family members, etc., without repeating same complex setup.
Windows default keyboard shortcuts: Windows + Left/Right Arrow to snap to half of screen. Add SHIFT to the mix to do the same, but transport it to the other monitor.
Apple loves to hide functionality to the point where it essentially doesn't exist.
When I started at Apple as an engineer, the first bug I filed was "Can't resize windows from their edges" (or any corner except one).
Just mind-bogglingly stupid. And when Apple finally does capitulate and admit that others have done it better, they petulantly try to hide the functionality anyway. In the case of the windows, there's no window border and the cursor frequently fails to change to the "resizing" one.
In the case of two-button mice, Apple came out with a mouse that hid the second button and in fact was nearly unusable because the entire shell was the button so you couldn't lift the mouse and keep the button held to continue a scroll.
And on and on.
Oh, and then Apple added Alt-Tab-style app switching... but it's often useless because when you Command-Tab to an app, Apple doesn't restore its window. It remains minimized and useless in the dock. There is a utility called Alt-Tab that lets you fix this, at least.
I think bettertouchtools is the best to get macos to the point of usability with regard to window management and other general OS QoL.
Linux really does beat out everything for this type of stuff imo. The best window management, sometimes even by default and everything customisable almost to the point of perfection.
My favorite is how, if you have multiple windows of the same app visible, when you cmd-tab to that app, it moves all of the windows to the top of the stack. So if you want to switch between windows of two different apps, you better hide the ones you don't use.
My favorite "weird" thing common in X11 window managers is how they can separate the focus and the raising operations. On windows(and I presume mac) these operations are tightly linked. Why would you want to separate them you might ask? It turns out to be really useful to look at the window on the top and be able to type/control the obscured window underneath.
On the one hand X11 sort of sucked with it's inconsistent window handling mechanisms. On the other hand because there was no central policy some very good novel productivity advancements were made in X11 space. select/single click paste, focus follows mouse, don't raise on focus. tiling window managers.
IIRC, it's been possible for a long time to just scroll an inactive window on macOS, without it gaining focus. I was happy to learn that Windows also got that somewhat recently.
Having an IDE up front and checking on docs or similar in a background browser with part of the website obscured is something I missed since I moved to Linux and a tiling window manager. Now I have to waste screen space showing the menu or other useless junk on the sides of the actual text. I can sometimes zoom in and scroll just right, but others the site insists on showing me all three columns at the same time.
I also liked the macOS approach of not having the first click in a background window fire an action. Now I always have to watch where I click if I want to switch windows with the mouse. I think KDE might have a setting to work like this, though.
I use the tiling WM spectrwm. It lets me pull windows out of tiling mode and into window mode. I think a common operation on most tiling window managers. Most of the time I don't want overlapping windows(thus the tiling WM) but every once in a while I do, so the best of both worlds.
It is a bit obscure but I quite like spectrwm, it fills this sweet spot where it is much simpler than I3 but more feature complete than DWM.
I use i3, and I can set any window to "floating" mode. You can have all windows in floating mode, which makes the whole desktop behave like a regular stacking WM, though you can't "minimize" them, so it can quickly become a mess. You can even take a group of windows [0] and have the entire group be a floating window, with the individual windows inside the group continuing to follow the tiling model among themselves.
But it's not something I find practical for some reason, even though I have a fairly simple keyboard shortcut to switch between tiling and floating. Maybe because this isn't really how you're supposed to use i3, so there's no "maximize", or "snap to edges" or similar. You have to move the windows around, adjust their size manually, etc. If you unplug your monitor, you're SoL if you need to retrieve some window that's now floating outside your viewport.
I just gave it a try right now, and Firefox became so huge I needed a good 15 seconds to resize it so that it would fit my screen.
---
[0] Windows in i3 are nodes in a tree, so you can detach one node and its children from the tiling tree. The new subtree is floating with respect to the root tree, but the nodes in the subtree are still tiled with respect to one another. This works well in "tabbed" mode, where only a window among its siblings is visible and takes up the full viewport; the others show up as tabs.
> On windows(and I presume mac) these operations are tightly linked.
That's the default on windows, but it _does_ support focus-without-raising. In fact, it's literally called `Xmouse`: https://en.wikipedia.org/wiki/Xmouse
It won't let you type, but you can interact with most inactive windows on macOS by holding down Command and left/right clicking. Very useful for selecting text in an inactive window and copying it without first bringing the window forward.
There's probably a way to force windows and macos to stop this, but I also miss that in X, default window manager behavior didn't allow a new window to forcibly yank focus. I'll chose to place and type in that new window on my schedule, thank you very much.
For me it's almost the opposite. I can't cmd-tab between different windows of the same app. I can use cmd+~ to switch between windows of the same app, but I always forget that and end up cmd+tab'ing though all my apps trying to find where my second Chrome window is.
That cmd-tab behaviour sounds similar to GNOME (haven't tried other desktop environments) on Linux. There, you can use alt-tab to cycle through different types of applications but if you want to cycle through different instances of the same application, you have to use alt-` or super-` to do that. It takes some getting used to in all honesty and I don't know if I like it.
I only have an iPad these days, I now use Windows; but when I did use MacOS, has Apple fixed your first bug? Can you resize windows from any edge or corner now, or must one always uses the lower right corner only to resize the window?
Years after that, Apple was going to fix another one: The Delete key (the real one, not the Backspace key that Apple mislabels "delete") does nothing in Finder. It should send files to the trash, as it does in Windows (and probably every other desktop GUI).
They pushed the bug back to me as "will not do," which I bounced back with an argument that forcing people to drag, drag, drag stuff to the trash all day made the Mac look clumsy and dumb in comparison to Windows. To my surprise, they actually reconsidered and added the deletion function to Finder. I don't remember the OS version, but it may have been Jaguar betas.
A few months later, someone on an internal mailing list posted, "Hey, what happened to the Delete key working in Finder? I was really enjoying that!" Sure enough, the function had been pulled at the last minute before release.
I investigated, and was told that ONE person had objected to the behavior, claiming that his cat might delete stuff by walking on the keyboard. Seriously.
I wrote an even longer protest, pointing out that this was the entire purpose of the trash-can paradigm: to prevent accidental deletions. I also observed that it was pretty sad that Apple no longer understood a paradigm that it had popularized.
But to this day, the Delete key does nothing in Finder. Absurd.
That is the fundamental problem with the implementation. Apple doesn't have frames on their windows, and often the resizing cursor fails to appear.
The cursor problem also occasionally afflicts splitter bars in other Mac UI, however. I don't remember how often this splitter-bar problem happens on Windows.
But also annoying when you're trying to tile some (of a bunch) of windows at full height. Yes, there are ways to do it without unintentionally maximizing, but it takes more attention to detail.
Windows-style snapping can also be extremely irritating with how easily accidental snap-proposals are triggered when moving around windows that you don't want snapped or maximized. I would say that when using Windows (or Linux DE with similar snap proposal UX) the bulk of proposals triggered are unintentional. In aggregate it's a surprising amount of unnecessary noise.
This is why on macOS I prefer utilities like Moom, which tucks snap options behind a little popup that replaces the native macOS zoom button hover popup. It gives me snapping on the odd occasion it's actually useful without the spammy accidentally triggered border zoom animations that come with Windows snapping.
Windows PowerToys are technically external applications, but they are made by Microsoft. Perhaps a startup script in conjunction with the FancyZones utility could do what you want.
It's weird that Apple is obsessed with gesture-oriented interfaces—even for things that really don't call for a gesture—but when there's a super intuitive gesture pretty much everyone else has settled on they decided instead to rely on a hidden context menu.
Like scroll direction, having a sim card in your phone, using accepted standard cables, giving users access to their own files, using standardized file formats, etc. These guys abuse their users and somehow they believe Apple cares about them. Not sure when everyone will wake up and realize that arbitrary change isn't better than expected behavior. I guess when the industry points "AI" at generating OSes then Apple will start questioning their decisions to stay viable in a sea of clones that actually "just work" as expected. Until then they'll just keep treating their users like crap.
The default scroll direction on macOS absolutely makes sense from a UX perspective. On a phone, you scroll up by physically touching the same display your content is on, so you have to move your finger down on the screen, which makes sense on phones but not on computers where the content is separate from the touchpad.
The old scroll direction was tied to pushing the scroll bar button up to move the screen down. “Natural” scrolling ties the movement to the window content and makes much more sense once you get over the old habit. I took me about half a day to adjust.
Easily changed with System settings or with an app (ScrollReverser)
> SIM card
Unnecessary in 2023
> cables
True, but MagSafe exists, I never plug in my phone anymore
> file access
macOS and iOS both have access to files, this is outdated
> file formats
Not a real issue, macOS can handle plenty of formats
I think you are just an Apple hater. When’s the last time you used one of their devices? I used a thinkpad t420 running Debian for the last 7 years, and recently got a Mac… blows it out of the water in usability. It LITERALLY ‘just works’. I like Linux and still run an Ubuntu desktop, but I got to a point in life where I didn’t want to have to fiddle with my OS just to get things to work right. macOS is for people like that. I don’t feel like I’m being “treated like crap” .. lol where are you getting that from?
I feel like this solution was designed for someone who is going to snap two windows just one time and work with them for several hours at a time, if not the rest of the day. Whereas I am constantly needing to snap different windows together, making this process feel tedious and cumbersome compared to Windows
That’s why there are dozens of their-party apps to provide keyboard or drag methods to snap and size windows. Rectangle, Moom, BetterSnapTool, and others give you different ways to doing window management.
What I love about my Mac is anything I found that seemed weird to me on first go, there was an app to make it behave exactly the way I would want. I love Magnet and sure hope I will always have it.
I'm hoping things will go better for me this time, but the last time I used a Mac for work (5 or 6 years ago) I found the exact opposite. Many things I wanted couldn't just couldn't be done, even with paid third-party apps. Many more behaviors could be put back in with third party apps, but were either inherently broken or at some point broken by Apple with a new OS release.
From a desktop Linux perspective, Apple is a bit like opposite world. The desktop environment itself is extremely barebones and inflexible, but proprietary app publishers are much more likely to target the platform.
macOS blows what I'm used to out of the water when it comes to the availability of apps (that I'm mostly not interested in, because they're proprietary, single platform, and/or cloud-based), but then the core operating system, from the filesystems to the desktop itself, feels basically extremely incomplete.
I believe that I'm in a strange minority who can adapt to whichever computing environment, but macOS doesn't me bother me at all, because it has its own design goals and its own character. IOW, it doesn't try to mimic anyone, and it's fine with me.
I use Linux for 20 years at this point, and it will be always my primary OS, yet I don't feel the need to modify macOS's behavior to behave like my KDE setup. Yes, I have magnet, and that's my only behavior modifying app I have, yet I use it only when I'm really in a rush and need to do something big in a short time (which generally needs me to connect to half a dozen remote machines and open a dozen terminals, no kidding). IOW, it's closed most of the time.
What macOS lacks is composability, and it's OK, because it's a GUI first OS. I use a couple of Automator actions, and that's fine for most of the time.
So far, I am finding my second foray into macOS more pleasant. I think a large part of that comes down to having different (more informed and more pessimistic) expectations, and another large part being that I'm coming from a relatively much more annoying Windows setup that I just spent a year suffering with.
I tend to find myself at odds with macOS' design goals. Some of this is that some of Apple's values are directly opposed to mine, and some of it has to do with my poor vision. But macOS has never felt welcoming or inviting to me, so I've never really managed to maintain the kind of curiosity about it necessary for seeking to meet it 'on its own terms'.
The full screen feature on macOS is ok because it’s very well integrated with the 3 fingers gestures.
But the fact snapping requires to go to full screen mode completely sucks, it’s unintuitive and requires too many steps compared to just « drag the window to an edge ».
I agree with OP that Apple stubbornly refuses to implement QoL features for no good reasons:
- Snapping
- clipboard history
- proper alt tab between all the windows (yes I understand how cmd+tab and cmd+` work, yes I understand the rationale, but I still think it sucks compared to the more intuitive of Alt tab on Windows)
These are the 3 utilities I automatically install on every Mac I use
But that is completely different. If you have a full screen window/split in full screen, it breaks multi monitor setups. You can not drag a third window over your full screened monitor anymore, because it's in exclusive full screen. Triple monitor setups get broken in their usability if you have something full screened in your center screen.
FWIW, it seems like if you assign a shortcut to the snap commands, they show up in the menu even without Option. So as a workaround you could assign extremely difficult to use keys just to keep them in the menu.
Steve Jobs hated full screen windows. It’s why “maximize” expands based on content and not screen size. I haven’t used a Mac in years but that might still be part of the reason.
Except he presided over an OS that shunned the evolution that every other OS arrived at: Menus belong on applications' main frames, not glued to the top of the monitor screen.
This is why Mac apps have a long history of barfing out an irritating flotilla of windows all over the place. Mac OS turns the entire screen into the client area of ONE application, whereas other GUIs can treat the desktop as an infinite workspace.
The welcome move to single-window applications on the Mac has made the blunder of the single menu even more obvious, as users minimize an application and think they're resuming work on the previous one... only to find that the menu is still owned by the application they have dismissed. Absurd and dumb.
Menus at the top of the screen provide consistency between applications. You don't have to wonder if an application's menu items are behind a hamburger menu, or missing entirely (I'm looking at you Obsidian for Windows).
Also, having menus (or anything else really) at the edges of the screen make it easier to move to with a mouse. You can throw your mouse cursor toward the edge without worrying about the distance, because it will stop at the edge. This makes menu items easier to click on.
"Menus at the top of the screen provide consistency between applications. You don't have to wonder if an application's menu items are behind a hamburger menu"
Menus' consistency has nothing to do with where they are positioned. You're talking about bad design. You can just as easily have dumb, non-standard affordances at the top of the screen... you see it on iOS all the time.
And the "slamming the cursor" argument is countered by having to move the cursor much farther, especially on large monitors with lots of real estate. Not to mention that vanishingly few users actually do this.
I always feel like Apple must have some grand 1000IQ concept for window management and I just don't get it. Stage Manager, Spaces, Mission Control, Expose, Window Zooming, Hiding, Minimizing (which is different from Hiding), Fullscreen/Splitscreen... yet the first thing I do is install a third-party window manager.
I tried for months to go vanilla and get my head around the features. But why, why do fullscreen windows create their own space when I want them to exist within a space? Why can't I briefly bring up Finder on top of my fullscreen window? Why are there lengthy animations to switch between spaces? Why do CMD+Tab and CMD+` have a million special rules for which windows they select? Why is there no way perfectly position more than two apps next to each other? Why are apps in splitscreen married to each other? Why can't I easily swap one of them? Why are some window operations keyboard-exclusive, while others can only be performed with the mouse?
There has got to be a perfect workflow where all this makes sense. Otherwise, they wouldn't build it like that? Right?
The idea behind macOS window management is to not manage windows at all, instead letting them exist at sizes that fit their content in whichever position they land on your desktop, stacking and overlapping like papers on a desk, letting relevant bits peek through without requiring the entirety of their host windows being visible. Exposé/Mission Control are there when a window gets lost, and virtual desktops are meant to partition window groups by task further reducing the need to manually manage windows.
It's basically the polar opposite of something like a Linux tiling WM and it's quite different from Windows, where it's the norm to maximize everything.
Which is what is so bizarre about it. Everything else about Apple is about cleanliness, focus, minimalism, simplicity.
Yet the windowing system is designed so that everything's overlapping, it's hard to pick out your foreground window from 20 other background windows of varying shapes and sizes and positions, and bringing up Expose/Mission Control shows you something like a detective's corkboard as he tries to connect the dots to solve the case of the serial killer.
It's quite jarring when the rest of the Apple aesthetic is clean minimal lines, and then your windows are this separate universe where it looks like a three-year-old tossed rectangles all over the place and never cleaned up after themselves.
Well, it is simplistic from a certain point of view. If we rewind to the mid-to-late 80s with the Lisa and original Mac, which do you think most users at that point would find more simple and natural: windows that act as analogues of physical papers on a desk, or windows that have no real life equivalent and resize to fill empty space under arbitrary conditions?
Granted, that was ~40 years ago and things are different now, but you can see where the roots of the idea trace back to, and the idea probably has some level of relevance even today. As noted in my other comment, on Windows users often opt out of window management entirely by maximizing everything because it's simpler.
> it's hard to pick out your foreground window from 20 other background windows
This is mostly a casualty of two things: first, the flat UI epidemic which stripped contrast from UIs and made active/inactive windows states less distinct from each other and second, the proliferation of web/Electron apps which for the most part do not implement inactive states for controls at all.
If you boot up a Mac running the last non-flat OS version (10.9 Mavericks) and do work on it with entirely native apps, you'll find that the active window is very visibly active and background windows are very visibly inactive.
My main issue with this workflow is that if I alt tab to terminal, then it brings all of the terminals to front, rather than the one I wanted. Now one inactive terminal may be blocking the previous app that I want to use as reference for my active terminal. The only workaround is to resize and drag all the terminals around which I usually don't want to do. So I have to make the previous app fullscreen to move it to a separate window and then suffer from the slow window animation. It's just the worst UI ever designed. Never had any such issues with default ubuntu or windows. Things actually feel like a real desk(top) on those.
It sounds like you're maybe not using virtual desktops, in which case I would strongly suggest giving that a try. Moving windows between desktops is faster than switching to/from fullscreen and in many circumstances you can have just one terminal window per virtual desktop windows makes it easy to command-tab to.
The other thing I tend to do is to keep the windows I'm actively using peeking out to click on to foreground which sidesteps the issue of command-tab foregrounding all windows.
Virtual desktops in MacOS are still only partially implemented though.
Vastly better than Windows (unless 11 has decided to fix them), but grouping windows together in a new desktop involves swiping up, clicking the plus to create a new desktop, dragging both windows to the new desktop. Control left/right to move between the desktops, oh that terminal would be useful as well, and find that there is no native shortcut to move windows between desktops.
Mission Control is the quickest way to find the window you want amongst many. It has a dedicated keyboard key (F3), but you can also set it to a hot-corner so it's a quick mouse move away. There's also a "show all application windows" command that has a keyboard shortcut and can also be set to a hot corner.
You absolutely do not need to resize and drag windows around manually to find the one you want!
> it's hard to pick out your foreground window from 20 other background windows of varying shapes and sizes and positions
I’d argue this probably means you have too many windows open. Part of the abstraction for macOS programs is that the program isn’t the window, and vice versa. You can close all of a program’s windows without closing the program itself. This frees you up to close windows willy-nilly and know that you can just open them back up again if you need to. Keep just what you need for the current task-at-hand open on your desktop and close everything else.
Personally, I’ve actually been using Stage Manager, which takes rapid-unitask- switching toward its maximum level. Just one app open on each screen at a time. Other windows hanging out in-sight, but not cluttery. Switching’s just a click away, and of course all the keyboard shortcuts work nicely, too.
It's a great way to waste both the screen real estate and the user's attention.
MacOS has a number of interesting features in the kernel, and it has a reasonably good and highly uniform UI, with global shortcuts and all. But its window management is insufferable.
Good thing there are utilities that try to help that. (I already forgot which, I handed back my last work-provided MBP in 2018.)
Only in that they resize the window to be kind of but not really full screen. That’s what all of the less technical Mac users I know do. I’ve never seen them go full screen with the green button
Based on seeing how most longtime Windows users use Windows. I rarely see tiling used, it’s almost always maximizing. Even on gigantic monitors and web pages with an 800px central column, they maximize.
The Windows users I encounter IRL tend to not be particularly technical though so that may bias things.
I personally get some usage out of tiling but as mentioned in another comment the tiling proposal triggers in W11 are over sensitive and kind of annoying.
I think that’s generally what you want because having other windows visible would not only take space away from the application you’re using but also be distracting
I might actually try that for a while, but I doubt I can get used to it.
My use cases almost always want the maximum available vertical space. Every window that scrolls, I want as large as possible in that direction. But, on the other hand, I can see how smaller overlapping windows would leverage spatial memory for faster switching.
> It's basically the polar opposite of something like a Linux tiling WM
It's basically an over-engineered Gnome, where some features like side by side windows there was a red line by UX and someone worked around the law to "sort of" offer the option.
Having used GNOME (and actually, running it on a couple of machines right now), I think macOS is at least a step or two above “overengineered GNOME”, because GNOME itself is basically what you’d get if you asked someone to turn iPadOS into a desktop OS. It feels considerably more restrictive than macOS does.
GNOME has a lot of features that macOS is missing by default, like dragging windows anywhere by holding a key, compose key support, per-app volume mixing, and searching through open windows as you type.
In what ways do you feel that GNOME is more limited than the macOS desktop?
> That is absolutely wild. All the time? Until mouseover?
All the time, normally only the close button is visible. I can kinda see the reasoning for hiding minimize since GNOME lacks a representation of minimized windows (except in overview), but I can’t figure out a good reason to hide maximize.
That’s what I’ve thought, but why would I not want my browser, editor, or any other work app full screened? If hit the green button to make it a work space, it handicaps functions like swipe up
Personally I never want browser or editor windows to be fullscreened unless I’m working on a tiny screen like on the 12” MacBook Air or maybe 12” Macbook. On anything larger doing that makes for tons of blank space that could be used for other relevant windows or at letting my desktop peek around the edges.
IDEs on the other hand I like having fill my screen because of all their editors and panes, but I still don’t use actual fullscreen but rather option-click the green button which resizes the window to fill the desktop without actually going fullscreen.
Apple has, for 20+ years now, wrestled with workarounds to the Mac's central UI blunder: making all applications share a single menu that's glued to the top of the screen.
Every other windowing OS recognized that menus belong on their applications' main window frames, which makes the desktop an unlimited workspace.
Apple should have made the same transition with OS X, but, in true Apple fashion, petulantly refused to acknowledge that others got it right. So we're stuck with this idiotic swapping of menu contents behind the user's back. If you're temporarily done with an application and minimize it, revealing the one you were working with before... guess what? You're still using the menu for the application you "dismissed." Asinine.
I actually disagree strongly with (part of) this. Having a singular target menu I think is a good design decision (I used OSX in the past, but currently use windows+wsl at home, and linux for work).
Having a singular menu position is consistent. It gives you an 'infinite' Y target...you just slam your pointer into the top of the bar and get menu options, and only have to care about X accuracy.
The persistent menu on minimise, I do agree, is daft. But having a consistent location I think is a good decision. Need menus? Look at the top. Need menus? Mash your mouse into the top of the screen.
I respect your assertion, but I've heard this argument before.
"It gives you an 'infinite' Y target...you just slam your pointer into the top of the bar and get menu options"
Except that essentially nobody does this. Remember that you and I and other HN readers are not the general public, and the general public is not going to assume they can do this. Watch actual users. Not to mention that this only helps in the Y direction; you still have to position carefully to get to the horizontal item. Most people do not separate those two. I've been programming on Windows and Mac for decades, and I never ever "slam" the cursor to the top of the screen.
Also, "slamming" the cursor in Y will not work if you're using multiple monitors and one is above the other. For example, if you have a laptop on your desk with a big monitor above and behind it.
And any loss of "slamming" convenience is offset by the proximity advantage of a window-mounted menu. If the menu is on the window you're working in, you have to move the cursor less to get to it. On today's large, high-resolution monitors this can be quite a savings.
And finally, with the menu on an app's main window there's never any confusion as to which application's menu you're using. Again, with today's large screens, you are more likely to have multiple applications' windows up. It's hard enough to tell which application owns the menu without peering at the corner and reading a name, which is never a fast or intuitive solution and even worse if applications are presenting similar UIs (for example two graphics-editing apps).
And if you minimize an app and are left with a couple more on the screen... who owns the menu? Who remembers the last place he clicked? Why should you have to click around on apps' windows to swap the menu out to the one you want, and then roll all the way to the top of your 27-inch screen to use it?
I hate wasting ui space by forcing every application to use their window real estate for a menu bar. There should be only one menu bar in the same location that changes when the context changes. It’s one of my favorite aspects of macOS.
It doesn't waste space. Windows can overlap; it's one of the fundamental aspects of windowing GUIs. Having a single menu glued to the top of the screen permanently wastes THAT space.
If you look at old screenshots of how people used desktop computers [1], it was rare to see fullscreen windows, even on the tiny monitors of the day, and when most people used only a single monitor.
Today, we all have gigantic monitors, many have more than one, but for whatever reason people want to maximize or tile windows. Maybe it's the influence of the fullscreen only, unitasking paradigm from phones and tablet computers, but it just doesn't make much sense to me on a desktop computer.
>Maybe it's the influence of the fullscreen only, unitasking paradigm from phones and tablet computers, but it just doesn't make much sense to me on a desktop computer.
Completely the opposite. It's the influence of having computers powerful enough to have massive multitasking. Arranging windows like papers on a desk is easy when you have a handful of simple programs and a couple of browser windows - it's very different when you have 100 tabs with their own task-swapping logic in front of 20 other programs. You've already lost easy swapping so you might as well gain the extra pixels.
Windowing was a core part of classic MacOS applications, the application was decoupled from its windows, since the application was a composition of windows. It's very different from the MS Windows or tablet UI paradigms where an application and its main window are the same thing.
For example, Photoshop, your photo document was contained in a window, your tool palettes were windows, etc. If you were viewing a reference image, you could have that open in a separate window alongside the image you were working on, rather than having to switch tabs or switch windows.
I keep my browser fullscreen because websites usually break (read: horizontal scrollbars, or ridiculously narrow columns for content) or go into a mobile view if I don't.
I keep my terminal (read: text editor) fullscreen because then I have enough horizontal space to have two panes open next to each other (sometimes with an additional directory viewer to the left).
99% of the time, I'm in the terminal or the web browser. I don't understand what I would gain from not maximizing them, but I do understand what I would lose.
If you're not using a tiling window manager, maximizing windows that do their own tiling (e.g., tmux, Emacs, vim, iTerm, Konsole... whatever) is the only thing that makes sense.
If you're visually impaired, you'll also likely find yourself needing to maximize because all of the blank space used in modern design trends means that if you scale up the app or the font sizes, all that empty space the app is burning up forces you to maximize the window just to fit the important elements on the screen.
Can you name a website which does this? I use everything except games and my IDE in windowed on different machines and I have never experienced this problem in 10+ years of doing so. It can only happen if you make the browser window extremely narrow.
It’s also the influence of “padding:200px” on all websites. Apple taught that whitespace meant design, so a screen barely fits 10 words today.
https://appfire.com/ as an example, but I’m always flummoxed how ALL wordpress themes cap at 10 words per line of text in the body of the blogs, and 25cm of white blank on either side (10 inches).
They know that 90% of users use apps in fullscreen mode most of the time, or just higgly piggly stacked windows. Most people do not, most of the time, end up in situations where they are using two apps at once. Why do you think it took so long to get any window management at all into the ipad os?
They also know that power users have options in the 3rd party app market if they want more fiddly or opinionated window management and have decided to stay out of that fight.
Aren't non mobile devices catering to power users at this point, though? We're not in 2005 anymore, the vast majority of people using laptops or desktops are either professional computer users or gamers, which are generally power users.
Casual users have moved to phones and tablets, like, 80% of them.
I agree with you on this 1,000%. The only parallel I can think of in recent history is Google's seemingly 15 different messaging apps. And learning all of the weird rules you've described reminds me of programming CSS to take account of IE6 quirks. There's no rhyme or reason.
It makes no sense, and every time they add a new paradigm it just makes it worse. I had high hopes that Stage Manager would finally solve it, but I turned it off after a week. It was just more of the same nonsense.
because when Multi-finder came out it satisfied our needs and don’t see a reason to change. I bet Apple has put a lot more effort into why they do things, then many give them credit.
Last time I’ve tried Windows, there were ads in the start menu. And when I tried Ubuntu, they switched from Gnome to Unity, so I ragequit. Also Ubuntu had ads for Amazon in its start menu.
Yup, me and everyone I know just has a pile of windows, maybe scattered across a few workspaces.
I like macOS but have never really vibed with the window management. The only way it makes sense to me is if they don’t actually want you to full screen windows most of the time. Swiping up on a laptop helps but when on my Mac Mini, it’s just not that intuitive. I’m aware there’s a keyboard shortcut that is also bound to the swipe up function, but I never incorporated it into my routine
The alternative explanation seems to be that they know it’s far from perfect, but lack the appetite to rethink from first principles. So they come up with some feature that will help some specific scenario, and just pile that onto the stack of shit.
You go look at early Mac OS X and it’s strikingly similar, it’s well and truly reached a point where they need a shakeup but are scared of the short term pain in breaking user workflows.
Siracusa, who grew up as a (classic) Mac user, explains his tiling and overlapping habits to Arment and Liss, who grew up as Microsoft Windows users and later switched, and they gasp in utter horror, shock and awe.
For example Siracusa explains that he currently has a dozen terminal windows open, and also 19 overlapping Safari windows, normal for him, in BBEdit he regularly hits 20-40; they ask him if he doesn’t know about tabs and he replies “Oh, I love tabs! Of course every Window has many tabs!”. How would he manage/organize hundreds of tabs in multiple applications with a snapping tiling manager? He can’t. It is fun from there. Like, he jokes after a work week his desktop has “sedimentary layers”.
Windows users who just maximize everything all the time and get giant empty white bars on the sides of their browser shock me. What an insane waste of space. You see windows users with Ultrawides and a maximized browser where the site is centered and 90% of the width of the screen is serving nothing but site border and it just makes me scream.
macOS replacing the “Zoom” stoplight buttons with “Full Screen” as the default behavior still irks me. Why would I ever want something full screen other than a video or game?
In the 2000s there was a huge push for distraction free software. Nearly every application was coming up with a distraction free mode.
Maximizing your window is similar to that. At the same time it doesn’t completely eliminate the window context and the ability to easily switch between applications like full screen does.
What kills me about it is I can't find a way to keep my other monitors from blacking out. I usually have at least two screens, I would love to dedicate one completely to code while leaving the other in normal mode for documentation, references, etc.
I recently started using MacOS and fell into this habit as well - I just end up leaving windows open floating underneath other apps. I learned about cmd+` which is handy to deal with multiple windows of the same app.
In Windows I tend to minimize stuff I'm not actively working on (but not always). In general while I also have a lot of "background" windows it feels a lot less fiddly than MacOS.
Personally I don't like how "minimizing" apps on MacOS puts them in the temporary section of the launcher, I'd rather they minimize back down to where the icon of the app normally lives. I would end up with a bunch of black squares on the launcher in some random order with a tiny icon of each telling me which app this actually is.
Is this why people complain about performance issues with browsers?
I have some perpetual habit to "clean" my desktop - I get annoyed if I have >15 tabs across 2 windows which easily happens.
> >5000 tabs among all of them
Not to be antagonistic but ... just why? There is no chance you are actively managing and keeping track of these? Is this because it doesnt matter if they are open or not? I am genuinely baffled and confused.
As a fellow multi-thousand tabber, I can explain what happens with me. So you're browsing, say, Reddit (maybe last month). You see something interesting. Two tabs: One for the content, one for the comments. You read the content and come across something you want to comment about or see if others are talking about. So you switch to the comments. Oh, somebody linked to something else. Another tab. And then you go down that rabbit hole and back to your original Reddit tab. Repeat.
Then you start to work on a project. You have various relevant links open for that, which of course results in opening even more tabs that branch off from those. But then you get distracted and there's another group of Reddit or HN tabs. Oops, right, I was working on that project. A few more project tabs. Then a bunch of Reddit / HN tabs. Then you start a new side project. Etc.
Why not close those comment tabs? Because you're interested and want to see all the new comments! Or you got halfway through and walked away and opened a new tab when you got back. Or you think 'that'll sure come in handy when it's time to work on <some project>, I'll come back to this later for sure!'.
Now, rather than doing the sensible thing and going through all of the previously opened tabs when you're bored, you open a new Reddit / HN window.
What about that interminable animation every time you fullscreen a window or switch between fullscreen windows? It should be at least twice as fast and there's not even any way to hack it to speed it up. You just have to live with it. ("reduce motion" changes it to a crossfade but doesn't make it faster)
While we're at it, the Dock has always been bad. And the top menu bar was good for the original Macintosh with a tiny screen but it makes no sense on a 4k display with many different app windows showing simultaneously. MacOS has a lot of relics of the past that Apple refuses to give up. I just see it as a tax I have to pay to get to use Apple Silicon.
should fix that (disclaimer - haven’t tested this in a long time, may need to restart apps or whole os to see effect).
In general, if something about macOS annoys you and there isn’t a preference setting to fix it, googling “defaults write com.apple <thing you dislike>” will often find a solution. Writing with `defaults write` lets you alter nearly any value in the OS, very few things are hardcoded. A word of advice if you start messing around with this stuff - you will generally want to follow up any `defaults write com.apple.foo` command with `killall Foo` to force restart that component, as writing directly with the defaults utility will not be reflected in real time, unlike what you are used to with changing things in System Preferences.
I wish you were right, but no. I've tried that one and a lot more besides. Go ahead and test it yourself, and let me know if you find a different one that actually works.
I tried it out and you’re right, it no longer works (it definitely worked for me several years ago). As far as I know, macOS even up to Ventura is still built on Cocoa, so the answer should still have an NS prefix. I’ll have a look and see if I can find anything.
I still have to meet anybody that is not at a minimum annoyed by the macos animations.
I literally stopped using the spaces feature because of that!. The default animation got me dizzy all the time, but even with that one disabled via accessibility settings they keep a terribly slow fading animation.
It's absolutely ridiculous for a professional machine to impose these things on you.
Those animations are there to help people maintain a spacial understanding of their GUI.
Most people are not highly technical power users who get annoyed by the small delays, this is a bias I see a lot on HN.
I do agree that their accessibility options should allow for more customization of animations, though. I use ‘magnet’ for window control and it’s instant. Highly recommend. Just wish switching between desktops could be made instant too.
I'm absolutely fine with them. I use Spaces all the time - mostly by hitting f3 and clicking on the screen thumbnail at the top, rather than control-arrowing or control-number.
HN has a lot of hate for these animations but I don't think I've ever seen anyone bitching about them elsewhere.
Yeah, I’ve never had issues with the animations. And, additionally, I’ve always found that the animations make a UI feel finished by making state changes more apparent.
I feel the same way. I would much prefer no animation at all, and an instant transition between spaces.
Apparently this is possible with yabai (https://github.com/koekeishiya/yabai), but it requires disabling system integrity protection which I am personally uncomfortable with.
The Time Machine one is amazing. I go there by accident sometimes, usually when trying to work out why it isn’t working (this is a whole other issue) and it’s ludicrous.
Only if you're very lucky with Linux, or your definition of distraction does not include hours spent on fixing sleep and hibernation, finding the right input method among several that keep getting deprecated, fixing pixel scaling with multiple monitors, and other fun stuff.
I still have a Linux Desktop that I boot up from time to time, but I've pretty much given up at this point. My time is more valuable than that.
I’m a power user who wants minimal distractions… OSX provides that just fine, my workflow is nearly identical between OSX and Linux because it’s just a full screen terminal.
Wholly agree about the space switching animation. At the very least, I'd have liked the focus to change when I start switching - not when the animation ends. This way at least I could start typing and pressing shortcuts without having to wait. Not perfect, but better.
Maybe it's inherently slow, because it's a "loading transition" like in video games. Takes a second for the new backing virtual desktop to be allocated, and for the window to potentially grab new assets to redraw (think: resizing iMovie window larger ⇒ larger timeline preview ⇒ re-rendering timeline thumbnails); and the animation plays on the old desktop while this is going on in the background on the new desktop, so that when the animation completes, the new desktop is "ready" for an atomic single-frame cut-over, rather than ugly pop-in happening and the app still being blocked on input.
Probably also has some constraints imposed upon it due to requiring that virtual desktops transition smoothly over Screen Sharing, where texture assets are being sent and buffered to a remote compositor.
These rationalizations don't justify it. The animation still has ugly pop-in and jerkiness despite being so slow and despite the fact that most apps can relayout and redraw their window in a tiny fraction of the time that animation takes. And screen sharing shouldn't make things slow when you're not using it.
Anyway, I'd trade a bit of pop-in for a faster computer if that was necessary. There's no excuse to not offer that choice even as a power user "defaults write" option.
> most apps can relayout and redraw their window in a tiny fraction of the time that animation takes
Re-rendering to the same compositor target buffer (when you e.g. resize a window), and allocating new textures in (potentially) new formats under control of a new compositor target buffer, are different orders-of-magnitudes of work. Think about how much delay there is from the point you plug in an external display, to the point your windows finish "popping over" onto it and it becomes usable. Allocating a new virtual desktop and moving a window to become fullscreen on it, is doing 90% of that same work.
Why does each virtual desktop have its own compositor and own target buffer? Because each virtual desktop has its own active display mode it's operating under: its own display resolution, its own bitplane format [think RGB vs BGR displays], different memory allocation constraints depending on whether it's currently being mirrored / screen-shared or not, maybe allocated in the VRAM of a different GPU if it's being drawn on a monitor plugged into a discrete GPU's HDMI/DP socket, etc.
This "distinct target buffers with their own compositors" approach is also why you can't span windows across displays on macOS 10.9+. (Before that, macOS used a different approach, that allowed for single virtual desktops that span multiple monitors, but where this would use one big target buffer, formatted to the lowest-common denominator format acceptable to all display targets. So if you plugged in a shitty external display like a 720p projector, and "extended" your desktop to it, then the whole compositor target buffer would get reformatted, and so your internal display's resolution/color depth/refresh rate would decrease.)
> Anyway, I'd trade a bit of pop-in for a faster computer if that was necessary.
My point is that this wouldn't be the trade-off. Instead, you'd switch over to the new fullscreen view, half-rendered — and then it would very likely still take just as long to finish re-rendering and accept input as if there was no animation.
You can actually try this "experience" out for yourself: try having an external display connected; opening Mission Control; and then dragging the focused virtual desktop from your internal display, over to the external display (or vice-versa.) It takes about 3 seconds before all texture assets finish re-allocating in the new compositor target buffer's texture format and re-rendering; and because there's no animation to paper over this case, it just feels unresponsive, like the whole shell has stalled for 3 seconds.
There is absolutely no reason for the common case of maximizing a regular window on the same display to switch texture formats or change resolutions or whatever else. That's silly. The compositor side of maximizing a regular window can and should be implemented in the same way that window resizing normally works, i.e. simply allocating one new screen sized texture to hold the application contents, which can be done in much less than one frame. For special cases like switching resolutions then sure, things can take longer, but that kind of thing is orders of magnitude less frequent than maximizing or switching between regular full screen windows.
If you think that Apple engineers can't optimize the compositor side work that needs to be done to maximize a regular window or switch between regular full screen windows to take less than one frame then you have a very poor opinion of their engineers that I do not share. And if you think it's not worth the effort to optimize a case that typically happens every couple of minutes while people use macOS then I have to disagree in the strongest possible terms.
• Full-screened windows are virtual desktops with special UI treatment.
• Virtual desktops each have their own compositor texture "namespace", so that everything on the virtual desktop can be reformatted to deal with the screen beginning/ending mirroring/sharing, with the desktop being moved to a display that has a different color-space, etc. The copy of textures to new ones owned by the new virtual desktop, allows the compositor to be able to assume that a given desktop exclusively owns all the textures assigned to render on it. (It's the same set of engineering trade-offs as with message-passing IPC. Here the "messages" are textures and the "processes" are virtual desktops.)
• The "optimization" you mentioned exists and I already mentioned it. It was the old behavior. Go into Settings > Desktop & Dock and uncheck "Displays have separate Spaces." Congratulations, now you're using a non-per-virtual-desktop-texture-domained compositor. Enjoy going back to a world where putting your computer to sleep with no display attached, plugging the display in, and then waking it up, makes the kernel panic! But, if you do as a sibling commentor said and turn the animation down to nothing, you will surely notice the performance increase of full-screening windows.
> simply allocating one new screen sized texture to hold the application contents, which can be done in much less than one frame
Yes, this is what the animation that plays does at the beginning of the animation, on the existing virtual desktop — it creates a new, screen-sized texture, and renders the window being "resized to fullscreen" onto it.
Meanwhile, in the background, textures are being message-passed to a new virtual desktop.
> And if you think it's not worth the effort to optimize a case that typically happens every couple of minutes while people use macOS then I have to disagree in the strongest possible terms.
I don't know why you're full-screening windows so often.
> maximizing
Oh, maybe this is your misapprehension? Full-screen ≠ maximize.
Maximizing a window in macOS is what you get by option-clicking the green caption button. macOS calls this "Zoom".
Until Yosemite, this is the one and only thing the "maximize button" on a window did; "full-screened" windows didn't exist as a separate concept. There were just Spaces, with (maybe Zoomed) windows on them.
I — and pretty much every other macOS user I know — regularly uses zoomed (or just resized to be mostly zoomed) windows, but very rarely uses full-screened windows.
For a lot of reasons, full-screen windows on macOS are really inconvenient. They hide the menu bar; they cause some apps to make a ton of their UI elements inaccessible; they make "overlay" apps (e.g. iTerm's "quick access" theme) inaccessible; they make the Dock require a double-bump to access; they make things you open from the Dock open randomly on some other virtual desktop; they make it impossible to drag-and-drop things onto the full-screened window from another window; they make it impossible to grab the window itself with the mouse to move it to another display (instead requiring you to move the virtual desktop the window occupies to the other display); they don't respect application window grouping in Mission Control, so you inevitably "lose track of" the one window you decided to fullscreen; etc. (Also, until more recent macOS versions, full-screened windows couldn't even display modal dialogs or palette windows.) Basically, they take everything that makes macOS more useful than iPadOS and toss it in the trash.
Using windows zoomed rather than full-screened, meanwhile, has none of these problems. (If you want a zoomed window on a separate display, then make a new virtual desktop, move the window there, and then zoom it. I think Magnet has a hotkey for this.)
> And the top menu bar was good for the original Macintosh with a tiny screen but it makes no sense on a 4k display with many different app windows showing simultaneously.
My display is 27" with resolution of 1280x720. I rarely use multiple windows.
It's assumed Microsoft paid the troll toll (probably 2 decades ago). Linux is a complicated field to litigate anyone over a patent. It does happen just not easily compared to suing a big corp.
That patent is for the ability to resize windows once they have been sent to half the screen. Windows does that.
But Linux (at least Gnome) doesn't support it so it doesn't violate the patent. You can send windows to half the screen but you can't conveniently move the split point.
But MacOS doesn't even let you do that. I always end up installing Spectacle or Rectangle or whatever it is and using keyboard shortcuts.
I think both should in some form be supported natively though. My reasoning for the second is that many apps are now using command palette search overlays when technically 'command + shift + ?' or even somewhat 'Move focus to menu bar' system option already does that. But because of large screens it should just pop over the focused window and unify this experience across all apps.
For number 2 I use Raycast with the shortcut ⌘⇧P bound to the built-in extension Navigation → Search Menu Items. This gives you a command palette in any application (you can exclude apps that have their own built-in version if you want).
Can an Ask HN self-post be clickbait? Apple isn’t refusing to do anything. They just haven’t done some minor thing that you personally would like. The fact that you’re “shocked” by something as banal as “lack of window snapping” is kind of funny actually.
I am a Mac user for many years now. The first thing I always set up is Magnet. A third party app that allows me to have proper window management. So yes, in my opinion it really is shocking if even Windows manages to have a better user experience in something so basic, for more than 10(?) years.
I also use Magnet - it's great and I would hate to be without it. But at this point it's bizarre that I still have to install a third party app to get such a basic UI feature.
I actually prefer that they don't build it in. I just wish that the APIs for working with windows were a bit more robust so we could get better performance out of applications that do something less trivial than moving a window to the left side of the screen.
Things like Amethyst and Yabai are really slow, especially when you compare it against auto tiling wms in linux. I don't even want auto tiling, I just want a more performant way to perform window movements and to query the state of the space so you can swap windows around or move directionally between windows on the screen.
When the OS starts creating new shortcuts that cannot be altered, it becomes a headache. I'd point out the majority of Windows' winkey shortcuts, like one to activate the gaming menu or to bug you about microsoft office as examples.
No operating system has a complete, sane stack when it comes to dealing with window management, but I do appreciate that the choice for window management apps in MacOS is extensive and diverse.
For what it's worth, when I have to use mac os I am shocked by the lack of basic window management functionality, so I can believe that OP is too.
By shocked I mean that I literally don't understand how Apple has produced something so terrible, when their hardware (and most of rest of the software) is so good.
I've owned personally, and used macs for work since around 2009. I've never installed any third party window-snapping or management systems, and I don't consider it a big deal.
I do use window snapping on Win10/11 periodically, but TBH I find that the beefed up snapping in Win11 is more annoying than it is useful, often snapping things to quarters of the screen when I just wanted to move a window.
Likewise, I've seen non-programmer users on win10 hit the window snapping by accident and be confused and put off by it.
Would I like it if Apple were to build a power-user window snapping feature into macOS? Yes, I would. Am I upset at them for not including it? Certainly not. Were I a product manager for macOS I would find it hard to justify the investment, given all the other things they can and do work on.
"The fact that you’re “shocked” by something as banal as “lack of window snapping” is kind of funny actually."
No, his point is a very specific one - how do the employees of apple themselves manage their own work ?
One answer is that they have alternative tooling or special features enabled or some other inside track to making (for instance) triple and quad monitor setups work in any sane way whatsoever.
I hope this is the answer.
Because the other answer is:
They are not power users by any definition. The reason they aren't decrying multi monitor support is because they don't use multiple monitors. The reason they don't fix window management is because they really are infantile GUI mousey-mouse for everything users.
The reason 'X' doesn't work is because they never need X.
Aside from the aforementioned window-management gaffes, here's what I think is the most ridiculous design defect of the iPhone, which I reported first as an engineer there and repeatedly as an independent dev: It does not provide audible notifications of MISSED CALLS. I mean... WTF? A 1990s StarTAC (and probably most other phones) provided this obvious feature. So did 1980s answering machines. My 1992 microwave beeps if I forget to take the food out. But Apple's handheld Unix computer-phone remains silent if you happen to miss a call while you're in the shower, or down the hall doing laundry, or watching a noisy movie. If my parents have some kind of emergency, they're going to CALL ME. But Apple doesn't think that's important.
That was the first bug I filed against the iPhone, probably on the day we were given them (the day of release). FIFTEEN YEARS LATER, it's still not fixed. But what did Apple petulantly do instead? Add repeating notifications to TEXTS... but leave that option off of the essentially identical settings screen for the Phone app.
That is Apple refusing to do something, to the detriment of all customers. I was not the only person to file this bug; I checked Radar (Apple's bug-tracking system). So it's not as if they haven't heard the complaint. You can also find plenty of references to it in a general Web search.
When Apple finally allowed developers to write real applications, I expected that problem to be addressed quickly (by me or someone else). But NOPE; developers can't access telephony functions.
If your parents had an emergency why would they call once and only once?
Every person thinks that their missing feature is the most important feature ever and they’re mad Apple hasn’t implemented it yet. You have even resorted to incorrectly labelling a nonexistent feature as a bug. Imagine what iOS would be like if Apple actually implemented the billions of niche edge-case features like this. It would be an absolute disaster.
I’m glad that Apple sticks to their guns instead of bending to loud niche users.
What a dumb argument. As I already pointed out, this is a feature that was standard for years on EXISTING PHONES and other products, which Apple "forgot." In the modern world, it is expected that if you call someone, they will be notified. Why on earth should someone have to call every few minutes until he "gets through?"
Do you think this is the '50s, where someone tells the operator "Keep trying!"
Not to mention, this is an OPTION, one that Apple already added for TEXTS. Why is it OK for texts, but not phone calls? Are you similarly outraged over the option for texts?
I would HATE if my phone kept on informing me of missed calls or messages when I’ve put it down somewhere. I’ll check it in my terms; that’s why it’s not in my hand
1990s phones had this option, in addition to AUDIBLE alerts.
Again, as an OPTION. It's incredible that people go apeshit when you suggest this optional feature that everyone accepted as standard for years. You can see it right here in this thread of "tech" people.
This is why design and usability are going backward.
“Apple” is too broad. Likely some mid-level manager made the decision to do nothing and never revisited.
I remember a bug I wrote 15? years ago for gtk/gnome file manager. The left pane tree widget doesn’t support the arrow keys we used extensively in WinXP. Also doesn’t support the full context menu. Why? No reason, some mid-level person decided the left pane should be gimped.
It's not fixed because it's not a bug. Obviously. It's a feature that you want that would annoy the vast majority of users. Which is why they aren't implementing it. Who wants an annoying continuous beepy sound? It's 2023. We get alerts in all kinds of ways these days. If your phone is silenced, then you want it to BE SILENT.
Engineers know engineers. Engineers are often working in more than one app at a time (probably at least an IDE and some terminals). They get really anal about how their screens are set up for efficiency.
All my friends with non-tech jobs all seem to use just one app at the time and use macos fullscreen apps and switch between using the four finger sideways swipe.
I almost always disable window snapping on Windows and Linux. Having a single window maximized, or even snapped to 50% of the screen is wasteful of screen space. I currently have 6 firefox windows visible, they're just overlapped. I can quickly access them, move them and resize them using the mouse.
Can an Ask HN response comment be off the mark? Apple is a trillion dollar company and no doubt has encountered this issue when their power users (and employees) look to get work done quickly.
They spent countless hours and dollars into making stage manager but don't implement a simple yet powerful feature.
The wrong question is why would someone want this. The right question is why hasn't Apple addressed it.
Engagement bait doesn't serve any purpose on HN. On other social media it's necessary to send a relevance signal to the algorithm. You don't win any prizes for posting a lot on HN.
Do you not get HN points if the post is heavily upvoted? Individuals with high point counts are perceived as being influential (are, in fact, influential) which has value.
Note I'm not claiming the person who posted this Ask HN is trying to build points in order to sell influence. But it's a thing that happens all across the internet.
Rectangle integrates the way I expect window snapping to work: with easy and sensible keyboard shortcuts. They keys are much easier to aim than the tiny green circle on the corner.
I'm not saying moom doesn't have those, I just haven't used it and Rectangle serves my purposes perfectly well.
To each their own, of course. Just trading anectodes. :)
Thank you! I used to have a solution but after getting a new Mac I could never remember what it was called (a problem when an app just works and needs no interaction. You never need to know what it's called after you first install it!)
When you install Rectangle, it has an option to mimic Spectacle’s keyboard shortcuts (if I recall correctly) which I thought was a really thoughtful touch.
No, but this is a question to Apple, can anyone even answer it? If they were an Apple employee, and it was upcoming in a new release they couldn't talk about it?
The best possible outcome is you get an ex-Apple engineer who may have some background as to the thought process.
+1 for Rectangle. It’s the first thing I install after homebrew on any new Mac. I came from Spectacle after EOL and was pleasantly surprised at the additional features (like window snapping) + support for Spectacle binds. If you want to try it out, it’s as easy as `brew install --cask rectangle`
Why not? I dislike the Windows snapping behaviour for halves. Most macOS casual users won't need it. These apps work great and allow a lot of customisability that an OS-level snap might not provide. I'm but sure having it built in would be all upshots.
This is like saying "no we don't need a calculator for iPad, the first thing I do is go to the app store and find my favorite 3rd party calculator. Apple doesn't need to make one. this is fine"
It's not that this is causing people to lose sleep. The issue is that it's an easy, tangible fix which would benefit a lot of power users. Also magnet costs money and window snapping in Win10/11 is free.
Ya sure, there’s no one app fits all situations. But the issue here is that there’s literally nothing versus something, so if Apple provides something that works with 80% of users that is far better than just trusting third parties to fix their OS.
Agreed. Apple can implement this feature easily, and the fact that they have not done so reeks of poor business decisions. To the tune of... calculator for iPad...
Magnet does a much better job than the very limited options that MacOS has built in. It has menu/key commands for half-screen, quarter-screen, third-screen, and sixth-screen as well as maximizing without taking over the menu bar. It also has snap by dragging which can be used for all of these different fractions, although I almost always just use it for left/right half or full.
You can use Cap Locks as a "Hyper" key, equal to (cmd+opt+ctrl <+shift>) to launch or switch to spaces/apps with esc+{letter} so you can avoid the cmd+tab abomination.
Really miss Divvy (RIP). At the risk of causing a good thread on Apple's weird inability to lauch a really valuable OS feature devolve into a list of workarounds, Hammerspoon (a generic automation tool) plus this script (https://gist.github.com/artburkart/15b62f1a741eef0f74492860a...) offer a really good equivalent, with the added ability to change hotkeys, extend behaviour, modify behaviour, etc. since it's just a script. I was devastated for a brief while when Divvy (and then ShiftIt) stopped working, but haven't looked back for a while.
From my relatively short experience but ongoing with Mac, MacOS lacks a lot of features that Windows has. It has many inferior options that people just accept. Some people find third party software or modifying plists to bend the operating system to their will.
As much as I hate many many many design choices in Apple's ecosystems, I adjust where I can and move on.
Some of the Windows choices are horrendous. Alt-tab to switch apps actually switches between browser tabs in Edge. It's really confusing. There's a litany of other problems too like virtual desktops move all screens instead of just the screen with the cursor, so it's unusable. There's also a case where certain actions with the mouse cause all the windows to vanish. I mean, what was that. Then there's that window history thing which is baffling to use.
macOS has its demons but Windows just plain is confusing.
Alt-tab to switch between browser tabs in Edge is new, a setting that you can turn off, and in some cases, it's actually very useful, since you can limit the number of tabs. It lets me treat recent tabs the same way as I would treat recent applications, which many websites effectively are. But anyways, that choice is made available to you.
I don't currently use multiple monitors, but I do use virtual desktops, and... that's exactly how I would expect virtual desktops to behave? If it only changed a single monitor, does that mean you'd have to go to each monitor to change to a different virtual desktop? Do you see virtual desktop configurations specific to each screen, or any screen? What happens if your screens are different resolutions. I think that Windows again has the superior implementation here.
Aero shake was pretty terrible, no arguments here.
The window history thing, Timeline, is something that I have disabed, but honestly sounds like an even better version of Recent Files, which is something many people use and might like something more full featured.
The virtual desktop implementation in macOS is called Spaces. The first time it appeared in the OS, it would always span all screens, so when switching they would all switch together.
Presently the default is for each display to have their own collection of spaces. You can have one display with a single space and another one with 10, or 50 on each. They behave independently and are switched independently.
There is a toggle to restore the old behaviour but I find the new one far superior.
I don't understand the question about different resolutions. Why would they be a concern?
I regularly use my MacBook's display in conjunction with a 1600p ultrawide external display. Different resolutions are not a problem, and never have been.
> but I do use virtual desktops, and... that's exactly how I would expect virtual desktops to behave? If it only changed a single monitor, does that mean you'd have to go to each monitor to change to a different virtual desktop?
Different strokes for different folks. In my setup yes, each of the three monitors has their own set of virtual desktops. When working on a project for example, I might have my center display configured with the IDE, and a second monitor configured with one virtual desktop per group of related reference materials. So I can switch between API docs, language docs, database query and reference etc on one monitor, while keeping the IDE front and center. The other monitor might contain a space with "office" apps (slack, email etc) and then another with a set of tiled terminal windows for using CLI utilities. If I switch that screen to look at emails, I don't need or want the other screens to change to something else.
I want all these turned off by default and not need to stumble through trying to figure out how to disable them. Windows now feels like using Android where you need to google first to figure out how to modify something. In terms of virtual desktops, having independent control per monitor is so elementary that it makes the feature pretty useless otherwise.
But these are new features that Microsoft decided would be an improvement for most people, and many people happily use them. For those of us stuck in our ways, yes we have to do a little tweaking, but that's the cost we pay. At least we have the option available to us.
- Quick hide-all-windows to copy something from your desktop to your clipboard, then bring everything back
- Alt-tab, especially when it comes to apps with multiple windows, and windows in different states, such as minimized
- A modern/fully-featured default web browser without a locked down extension ecosystem.
- A start menu for seeing all your applications
- A taskbar with application grouping
- File Explorer is much more full-featured than Finder
- Better settings, especially when it comes to relevant settings being in one place
- The concept of uninstalling an application vs just deleting the application
- In some cases, an actual function key row
That said, I've used Windows for almost 15 years now, and I think many of its choices are second nature to me. Many of my friends are masters of switching windows with Expose, which I absolutely despise. And I still use Windows for work, but use Mac in personal usage. I usually end up frustrated at things that work on Windows but don't on MacOS, but rarely vice versa.
Desktop peek: Part of “Mission Control”: spread thumb and 3 fingers, or press Fn+F11.
Alt tab: press cmd-tab to cycle applications, then cmd-` to cycle windows of that application. This typically has better number-of-keypress to get the window you want compared to Windows alt-tab which requires iterating over all windows in the worst case.
Browser: Safari is fits your criteria
Start menu to see all apps: this is called “Launchpad”, and is in the Dock by default for new macOS users, but can be removed.
Uninstall vs delete: apps installed from the Mac App Store can be uninstalled from launchpad. Otherwise, isn’t “apps are files, drag to install, cmd-delete or drag to trash to uninstall” objectively simpler than using a wizard to install, and digging around in a control panel to uninstall?
Function key row: you can swap the behavior of the fn row so that the keys send Fn1-Fn12 by default, and needs the fn key held down to send commands like “volume up”.
Settings layout: this one is opinion; I’ve always found Windows settings horribly organized. From 2001-2007, there’s no contest that System Preferences is better organized than Windows XP’s control panel. From 2007-2015, the Vista-era control panel split things awkwardly between the “new style” Vista panels and old-style windows XP/2000/98 panels. Since Windows 10 things are on more even footing in my view, although some details in macOS Network and Displays are annoyingly hidden in some versions.
Desktop Peek: I'll try setting this up on a hot corner and see how it works for me. I don't think I'll use it with a keyboard shortcut, so maybe I can remember to use it this way.
Alt+Tab: Using Ctrl+` tab switch between windows of an application is annoying second layer to me. I'm going to have to live with it, because the half-dozen or so third-party applications that I've tried to recreate Windows behavior either fail, work differently than I want, or have been abandoned.
Browser: I was specifically saying not this. I really really try to like Safari, but every time I start trying to use it as my primary browser, I start running in to annoying roadblocks that insist I work in the "Apple way".
Launch Pad: I forgot about this, I removed it from the dock. Doesn't open as easily as the start menu, with it's own dedicated button, and organizing it is terrible. Just like Launchpad on iOS. Start Menu Tiles and the ability to mix files/apps is way more powerful and behaves the way I expect. I do really like Raycast/Alfred, but I miss the comfort of an organized start menu.
Uninstall - I do think that this is fine, but an uninstall wizard is sometimes helpful. For Backup settings mostly, but I guess there really should just be a better way to do that.
Function Key Row - I do have this swapped to function keys by default, but what I was referring to was the touchbar macbook models. Terrible design choice that was thrust upon users.
Settings: Fair points on the different styles, but that doesn't bother me much. Like I said, I've been Windows for a really long time, so the familiarity outweighs the inconsistency. System Preferences was okay, but had options scattered where they shouldn't be. And System Settings now is definitely worse.
> Alt tab: press cmd-tab to cycle applications, then cmd-` to cycle windows of that application. This typically has better number-of-keypress to get the window you want compared to Windows alt-tab which requires iterating over all windows in the worst case.
Except that you can select a window with cmd-tab and then have absolutely nothing happen as a result. It will show windows that it does not let you muster on screen, except with a secret key combination it does not tell you about. The existence of this secret method of actually getting the application to do what you expect it to in no way excuses the default behavior of not doing what it should do.
I'm not sure quite what situation you're describing with the secret key thing, but in case it's relevant: Cmd-tab selects applications, not windows. If the application has no windows open, then when you cmd-tab to it, you won't switch to a window (but you will see the menu bar switch). The situation cannot occur in Windows because it insists that an application must have at least one window open to interact with it at all.
All applications are open in this case. MacOS just doesn't display anything in certain quite common cases, such as one of its windows being hidden or minimized. There is a mechanism to display these windows (the obscure, well-kept secret does work) but Apple chose not to apply it.
Aaaah, minimized windows, a feature I only use by accident. I always “disable” the cmd-M shortcut.
(“Disable” meaning set it to cmd-opt-shift-ctl-M for all apps.)
But still, switching to the app does show all the non-minimized windows. And minimizing a window is explicitly asking for it to be hidden. So it would be wrong to show it every time you switch back to the application.
Launchpad can also be started by taking four fingers spread out and bringing them together into one spot. I think that is enabled by default. (Control panel, at least in older versions, also had a little animation for all the gestures, and you can assign different functions to them)
You can also swipe up with three fingers to get a view of all the windows on your current desktop (and also select other Spaces). Normally I just use Cmd-Tab, but if your window is very visible this can be faster. I keep my source control app's window hidden behind Xcode, and then 3-swipe-up to click on it when I need to commit something.
>Alt tab: press cmd-tab to cycle applications, then cmd-` to cycle windows of that application. This typically has better number-of-keypress to get the window you want compared to Windows alt-tab which requires iterating over all windows in the worst case.
In the case where you need to switch to a window that you haven't been using for a while, perhaps. But switching back and forth on the other hand, is infuriating because the z-order is polluted. And I also find it incredibly frustrating that all the other windows are brought to the top just because they happen to share a process.
> Alt tab: press cmd-tab to cycle applications, then cmd-` to cycle windows of that application. This typically has better number-of-keypress to get the window you want compared to Windows alt-tab which requires iterating over all windows in the worst case.
Sure, it may save you some keypresses but it introduce the cognitive overhead of - do I need to switch to the window of current app or other app and then decide which key combination to press.
They can, though I guess it depends on what the user is actually trying to do when they remove a program. I'd say the user wants to free up disk space and to not have the app start up on boot or run in the background consuming resources. Deleting the .app does this while on Windows, the uninstaller is the only way I know how this would be done.
The fact that the app might leave some documents and configs behind seems inconsequential. If you delete Word, you wouldn't want it to wipe out your documents with it for example. The fact that some configs remain in system dirs doesn't really matter when they take up no space.
It's just a far more opinionated OS. Always "my way or the highway". MacOS doesnt have a good window manager because it was designed for every app to be Fullscreen and then use three or four finger scroll to switch apps. The designers really want you to use their preferred way of managing windows so they make the traditional method suck.
The roots of MacOS UI principles date back to the 1980s. Even the current UNIX based MacOS was created in 1999 based off of the Next OS.
Multi-finger gestures were introduced with the iPhone in 2007, and eventually made their way onto laptops. Not only is MacOS 10 / 11 not based on multi-finger gestures, you can only use gestures if you are using a laptop or an Apple touchpad. The default mode of using MacOS is mouse based.
> Not only is MacOS 10 / 11 not based on multi-finger gestures, you can only use gestures if you are using a laptop or an Apple touchpad. The default mode of using MacOS is mouse based.
Well, every single one of their input devices supports the gestures. Built-in trackpads, Magic Trackpad, Magic Mouse. I’m not saying you’re wrong, but for me (Mac user of 9 years) macOS is decidedly gesture based, and I consider them one of its biggest strengths.
I really wish there was an i3-like tiling window manager for macOS. Yes, I'm aware of Yabai and others, but it's still not quite the same. Tiling apps bolted onto macOS's floating windows still feel sluggish, window decorations take up lots of space and are easy to accidentally click on (ruining the tiling), animations are annoying, focus doesn't follow mouse, keyboard shortcuts sometimes conflict, and so on.
I’m sure you’ve heard of Amethyst, but it does address at least a few of your concerns. Particularly focus following the mouse and conflicting shortcuts.
Window management in macOS is superficially similar but profoundly different from Windows or most Linux DEs. It's got a fixed menu bar which windows are independent from. That alone already changes a lot and has deep implications.
My advice is to learn how and why it's different instead of trying to make it behave as something it's not. Waiting for Apple to turn it into a chimera would be even worse, IMO.
Would you please kindly provide a reference to a guide explaining the right way to operate macOS windows, preferably with some explanation of the concepts behind it. and the advantages it offers over the established practices known from elsewhere?
E.g. vi navigation is pretty different from Notepad's, but it's relatively easy to make a case when it shows certain advantages. What are the superpowers of the standard macOS WM?
The current iteration of macOS was designed to make heavy use of spaces and Fullscreen apps. Notepad/finder/settings haphazard on a desktop space or 2 and everything else fullscreen and use the trackpad gestures to switch between them. That's how the designers want you to use macOS. If you prefer windows style tiling you can get one of the third party window managers.
I’m an orphan of the spatial Finder, to be honest. macOS got features from NeXT and some of its own, but it lost cohesion. Though I’m not entirely sure how it would fit with the terabytes and Spotlight of today.
I think this comes down to Apple's envisaged window management paradigm being centered around full-screen windows.
In Apple's UX view, it seems like you're meant to maximize windows to "spaces", and switch between workspaces using a few gestures (4 finger swipes mainly) to reveal all windows, and swap between workspaces that way.
Rectangle, as others have pointed out, give you the "snap" experience you would expect from other OSs.
Overlapping and freely resizable windows is the Mac paradigm. In my estimation they don’t add snapping mostly due to pride.
Maximized windows is an intruder. Something that was big on Windows but never really a thing (and just not possible at all) on the Mac at all until a couple of years ago. The implementation of fullscreen mode is clunky and slow.
Given that Apple has been throwing different window management paradigms at the Mac (Exposé later retitled Mission Control which was the original new OS X approach, Spaces in different implementations, sticky windows resizing, Stage Manager, full screen mode, full screen mode with split view) it is truly weird that this grab bag does not include snapping windows. And, I still think that is just down to hurt pride and ego.
lol you couldn't be more wrong. Back in the classic Mac days, Apple was so anti-full-screen-environment that most apps had floating toolbars and the document windows were minimal and freestanding. (ircle and office:mac 2000 or older would be my first examples, but I believe photoshop worked the same).
MS did it because.. I think Windows used to only support 1 window per program or something. That's why old versions of Office basically go full screen and each document you open is another 'child window' of the main office window. Same was true for stuff like America Online lol.
MacOS X was still pretty hardcore about not doing fullscreen, for quite a while. The green button used to make the window 'full size' but that often meant like, as big as a 8x11 document in word would be, not full screen.
That pissed off a lot of users who expected MacOS to act like Windows. So Apple changed it.
Then along came the iPad and Apple went full hog on "1 task at a time" UIs. So full hog that Microsoft had to backstep and do the same with Windows 8 lol.
Why then the two 'full-ish screen' systems? There's 'spaces' as you say, and also the traffic light button that makes it 'maximised' I suppose.
I just don't see why if you'd thought it out, and that's (either of them) the you wanted people to do it, why you'd have both options.
And then there's the weird 'close actually closes the window, not the app' (even though for some large percentage of apps the one window is all there ever would be).
Those are intended as shortcuts for creative apps where you typically need the entire screen real estate. There was precedent for that going back to pre-X macOS, but spaces and full screen windows are a consistent approach at switching contexts in creative apps.
The reality is that they had the green maximize buttons originally (although the exact functionality has changed a bit), then tacked on the full screen experience later. It’s not the result of some unified vision, although in practice is works fine IMO.
The green button was originally “zoom” which, to Apple, meant “adjust this window to its content, or revert to the previous size.” Some apps implemented zoom as maximize, but that was not The Apple Way®.
Their full-screen-window-gets-its-own-desktop-space was added later.
I think the Apple Vision Pro is a good example of why snapping makes no sense.
In this environment, your screen is basically the entire world around you, it can be as big as you want. Would you want to divide this into neat rectangles filling your entire view ? If your screen is that large, you basically size your windows to fit the content and then arrange them spatially into something that makes sense to you.
The desktop isn’t that different, but it’s limited by the size of your screen. This urge to divide the entirety of your screen up into rectangles with zero breathing room between them is not because that’s the most natural way of organizing your windows, it’s a way to deal with lack of space.
Say you’re organizing your mail on your physical desk. You’re making different stacks. Bills, taxes, junkmail, etc. Are you going to put these stacks right next to each other ? No, you’re going to leave some room between them. In fact, it would be really annoying if you had so many different stacks of papers on your desk that you had to put them next to each other filling the entire surface. It would feel way more chaotic.
In my opinion, tools like a maximize button and window snapping are trying to solve the wrong problem. You’re trying to maximize usage of the space you have, because you have too little. The real solution is to get more space, i.e. get a larger monitor. You don’t need window snapping or anything like that if your monitor is big enough, and you can just size your windows to fit the size of their content and place them wherever. In fact, on a large monitor window snapping makes zero sense.
i use a linux machine all day (kde neon). like 15 hours a day. i use "maximize" on any program i work with. not fullscreen but maximize so i have access to the taskbar in the bottom without having to go out of full screen. i "sometimes" do snapped windows or quarters but i find it too much information overload and the programs i work with often just dont like in half the screen. anyway, the problem is,
i have tried mac os but they either want you to randomly place windows here and there but that feels "weird".
fullscreen has trouble going in and out and randomly placing windows feels cheating with the work you are doing. mac os doesn;t have the middle ground
I've honestly never cared enough about it, I am perfectly fine with my windows haphazardly thrown around. But I can understand that some people like it and wouldn't really care if it was added. But I certainly won't be the one to request it.
Same. I have Rectangle and others installed previously and very rarely use them. Double-clicking corners to expand in that direction only is good enough for me and wish Windows would do that. My layouts intentionally overlap windows with some horizontal/vertical staggering and window managers don't have shortcuts for that.
There is snapping. It’s been there for years. All you have to do is drag a window to a side or the top.
While I’m not the person you asked, I would prefer if there was no window snapping at all. I wrote my own code for window management with keyboard shortcuts on macOS and dislike that it tries to be smart when I move windows with the mouse.
Me too, but that's also because Windows' version is ... weird. I drag a window up, a pop up appears showing grids where I can put my window (nice), I drop it there, and suddenly another window appears. That doesn't fit the "snap window" flow.
On the mac, I use a freeware thingy (Rectangle, linked elsewhere), and I've assigned three shortcuts, and that's enough for me.
Like everything Apple, it has an opinion. You either like the opinion or you don't... I feel that MacOS's UI paradigm revolves around extra large monitors and showing your screen as a sort of desk. A lot of wasted/empty space where you arrange things freely, as opposed to Windows/Linux which emphasize efficiency in using the screen real estate.
I use MacOS daily at work but I would LOVE if I could use Windows instead, that's what I have on my personal machine. It looks like the OP simply wants to use Microsoft and can't admit it to themselves!
I don't miss it. I carefully dragged each window to align just right one time, and never had to redo it since. It persists across reboots, and remembers placements separately for the two monitor arrangements I use (laptop, laptop + big monitor) so I only had to do the fiddly work once.
I might do it more often if I had separate OS windows for code editing. But I use VSCode (and Emacs before that) with 2 or 3 side-by-side panels. I drag those panes wider and narrower frequently.
I tend to setup separate Spaces and put related apps/windows in the same Space. So I have a general/browsing Space, and development Space, a graphics-editing Space, etc. So I don't usually need to move my windows around. Unfortunately when reboot/login restores them, it puts them all in the first Space, so I have to move them, but since I reboot a handful of times a year, it's not a huge problem.
I've defined Cmd-1, Cmd-2, etc. shortcuts to switch spaces like on Linux desktops, which is a lot faster the 3-finger swiping macOS comes with.
For me personally it's not a requirement the snappy window.. Apple is a small walled garden. They don't have wide screens so most of the time one app on the screen is enough.
I have an old 27' iMac and it wasn't enough screen space for me to put xcode, terminal and browser next to each other.
So the most used mode was split screen mode with xcode and a simulator. But the "split full screen" mode is much better and professional than windows' snappy window feature.
Windows tiling still keeps you on the overall Desktop, while the split full screen is a separate Desktop altogether with no access to the other applications (without exiting fullscreen).
> It persists across reboots, and remembers placements separately for the two monitor arrangements
You're lucky. I didn't even realise this is supposed to happen. Every day I start by moving everything to the correct screen and correct location. It's never remembered and each time windows move to a completely random spot. Things are even worse if I work from a different location for a bit. (Some windows are pseudo-minimised and I have to click the icon a few times to show them again)
It's not even random/occasional. I put slack on the right third of the right display every day. It's never there after sleep or cable reconnection.
I’ve been using Stage Manager on macOS for this. I have groups of apps, each one in a separate “stage” that I switch between to work on different things. Out of all the desktop paradigms I’ve tried, this one is working the best for me
I can constantly see the thumbnail groupings of apps that I can switch to along the left hand side of the screen. I’ve used other modes (like multiple desktops) but would often forget what spaces I had created, and ended up re-creating them without realising
I’m still sad about the spaces grid that’s been removed in recent versions from macOS. Som 15 years ago when I started using a MacBook unibody 13” there were grid like spaces. I usually had a 3-by-3 grid. IDE in the center, left a browser window for docs, right a browser window for preview of what I was building, bottom terminal, bottom right spotify, top right socials, and some leftovers on top and bottom left. Every app had it’s own designated space.
Now, I’m using 9 spaces, lineair unfortunately. But I’m using yabai with shkd as window manager and Alt-tab to switch between recent windows (as that’s apparently broken by design in macOS).
I’ve configured so called “modes” for create a vim-command-like way of commanding windows and focus around. Eg hyper+m goes into _m_ove mode, from there I can press 1-9 to move a window to a specific space, or shift+1-9 to move and follow, or (shift+)q to move (and follow) a window to the latest focused space. (Hyper+q in “normal” mode moves me back and forth between recent spaces.)
I’ve got jump mode to go to an application by shortcut, and some app specific modes to bind key successions to shortcuts.
Oh, not trivial, hyper+enter gives me iTerm at any space
The nice thing about yabai with SIP disabled is that it’s snapping without _any_ delay, which is great when working with many windows.
Personally, I use Swish for this [1], but the reason is probably because of the intended audience. Window snapping requires you to organize your windows yourself, which is something they clearly don't want you to do. That's why Mission Control, App Exposé, Stage Manager, and (arguably) Launchpad exist—they organize your windows for you.
I think with macOS’s design of the dock (resizable, unlike on Windows where the task bar always takes up the whole monitor width,) having one or more windows “full screen” on your desktop feels wrong. There is always some some space left unoccupied to the side of the dock.
Apple has a solution for this which is the green dot that puts your app in a separate space to be truly full screen, and you can split screen between two apps. I guess that’s what Apple would like you to do instead of snapping.
If you hide the dock it works fine to fill the screen without hitting the "full screen" button, unless there is some control at the absolute bottom of the window that you regularly need to access. Putting the dock on the side has always been an option; I've had it autohiding on the right since not long after trying 10.0.
I'm the developer behind Rectangle. There are a handful of features in Rectangle that aren't in Magnet, like being able to repeat shortcuts to achieve different sizes/positions, and being able to modify a lot more of the behavior of the app (there are more settings, and there are terminal commands listed on the readme of the GitHub repo). The main draw is that Rectangle is FOSS, which comes with obvious benefit.
Beyond that, Rectangle Pro (paid, closed source) is where I've put a ton more features. You can find Rectangle & Rectangle Pro at https://rectangleapp.com
It’s probably like how their Health app sucks to use directly: they figure people will solve it with apps, and people have done that. There are competing solutions available that are all pretty good.
And now that there are so many solutions it might make less sense to then integrate one which will practically kill the rest.
I personally use an app Divvy which let me create global hot keys for specific arrangements and moved on.
I always turn off most snapping. Why? Because I have my preferred layout already, and have good dexterity to move things.
When I drag a title bar to the top center, as I have for decades, it tries to maximize the window. I never want that, and have double-click titlebar (that’s more efficient) if I do.
There’s also a weird state machine between snap to size and normal mode I never completely understood. Believe the thinking is that it should work the same as max/restore but I don’t want three modes to keep track of.
If I do snap the size/position that’s what I want, and would never want it to go back to the old place, aka restore.
I think KDE has some useful subset that can be configured. The edge snapping is not bad, and the ones that require a modifier key.
These are implementation concerns however. The basic idea is good but I haven’t seen it done right by default yet.
I have been using spectacle app since a long time and I love it. It lets you define keyboard shortcuts to make it easy to size and move windows around. Here is the website https://www.spectacleapp.com/
Rectangle is a drop-in replacement for Spectacle, and provides an option upon first install to select the Spectacle default keyboard shortcuts. Note that Spectacle only included keyboard shortcut window management, while Rectangle also includes the drag to screen edge snapping.
“This document describes techniques and apparatuses enabling assisted presentation of application windows in a multi-application environment. The multi-application environment described herein presents one or more application windows, which can be sized, positioned, or layered to provide an optimized layout. In some embodiments, these techniques and apparatuses enable a size or position of an application window to be determined based on an edge of another application window.”
It’s unfortunate that non-Linux desktop environments don’t have a nice keyboard autotiler like Pop Shell. Amethyst and MacOS in general feel so unintuitive and needlessly complex/feature lacking that I’m surprised it has captured the kind of audience that Apple is known for having.
Same reason why Mac mouse doesn’t have right click and why ~double-click~ [edit: pressing “return”] on a folder is renaming, and why window controls are on a left side of a window and do things unlike MS Windows (not closing, not minimizing, not maximizing). Patents.
This hasn't been true for over a decade. The Magic Mouse supports right-click (and the Magic Trackpad supports two-finger or bottom-right corner to right-click). Not sure if it's the default or not though.
Magic mouse has one physical clicker. To imitate “right click” you have to lift fingers from the left side and click. They can’t make a mouse with two physical clickers.
Simpler explanation: Mac OS’s first release preceded Windows so they had to pick a side for themselves when first designing the system. See https://www.versionmuseum.com/history-of/classic-mac-os - the square on the left side of the front-most window’s title bar is the close button.
Literally no part of this comment is correct. The Mac mouse and trackpads have had right-click for over a decade. Mac windows controls, obviously, pre-dated Windows' versions since Windows was a copy of the Mac. And patents have never had anything to do with any part of what you are talking about. How do you get 40 years of computing history wrong and then stay wrong after this long?
I think this is more about the ethos of the Mac. Unix (which is the underpinnings of Mac) was all about lots of small tools that build together to make something great, and if the base OS doesn’t have what you want then that’s a great third party (or DIY) opportunity.
This bleeds over to the Mac in my opinion. I don’t want Apple to make everything, I want them to provide hooks and APIs that allow other people to make things to give me more choices as a user.
I don’t want big monolith applications (like Outlook), I want small applications that do one thing well.
So when people say “why doesn’t Apple do X?” And I see a dozen third party implementations I think “because they don’t need to” and that’s perfect in my mind.
MacOS is very far from Unix ideology at this point. It’s not even possible anymore to install things you compile without a bunch of red tape scary warnings. You can’t make new folders in /. iOS has tons of private APIs that only Apple gets to use to make their apps and services the only viable choice, eg iCloud can upload photos in the background but Google Photos times out, even the location sharing hack doesn’t fix this.
Apple doesn’t do it because it’s only a small percentage of users who even know what it is to want it, and they’re already well-served by third party tools. Look at how long it took for widgets to come to iOS. Apple isn’t usually the first mover when it comes to software stuff like this, they like to sit back and let other devs solve problems then see how it plays in the market first before launching a better-integrated version themselves (sometimes in a way that only they can do because again private APIs) with only the basic features included.
Yeah right - just what I need - a bajilion 3rd party apps with window manager access to do basic functionality. Because what could go wrong with this approach.
Leftpad philosophy sucks, having a functional batteries included OS is a good thing.
The interesting thing is that had OpenDoc took off, the Mac would’ve moved more toward the component-based ecosystem that you describe instead of an ecosystem of monolithic applications:
Alas, OpenDoc was a product of “interregnum” Apple, a font of innovation but had no singular vision (OpenDoc was one of many visions Apple promoted in the mid-1990s as the future of Mac development) and a track record of failed projects (Pink/Taligent then Copland). When Steve Jobs returned in 1997, he brought and enforced a singular vision for the Mac, one that revolved around NeXT technology. OpenDoc was killed under these circumstances:
As you note, there are many great window management solutions for macOS. I'm also very satisfied that Finder's basic window management features are complemented by a healthy choice of free and paid power-user solutions.
Rectangle (rectangleapp.com) is a good choice that also does snapping. I'm happy with Raycast (raycast.com), which offers window management with an extension (https://www.raycast.com/extensions/window-management).
Do they actually provide hooks and APIs though? My understanding is that a lot of these third party app use accessibility hacks which seems like a work around and not something Apple intended.
OSX / MacOS has always felt frustrating that way. There isn’t appreciation for making good use of desktop space. It favours littering windows of various sizes everywhere, and the Dock has always wanted to waste two rectangles of desktop on either side.
So sad that we need 3rd party apps for even the most basic functionality in mac os. It used to be that linux was a hassle to set up, and mac os worked out of the box. Now it's quite the opposite.
Similar thing with using an external 4k monitor. By default it's blurry (looks like 720p, awful), and one needs a 3rd party app (BetterDisplay) just to get a decent image. I had this issue with several macs and displays and cables. Terrible user experience. Obviously works out of the box with ubuntu, debian, and windows.
I wish it was easy & reliable to run ubuntu on an M2 macbook. That would be perfect - ubuntu is a much more capable & convenient OS at this point, but nothing comes close to the macbook in terms of hardware.
When I was annoyed with this I went ahead and downloaded phoenix (https://github.com/kasper/phoenix) wrote a little javascript and now I have a bunch of globally accessable hotkeys so I can lay my windows out in a number of combinations. Right now I have setups for over/under left/right, two by two grid, and three by three grid.
I've got some plans to spend some time enabling more arbitrary grids and subgrids but I haven't gotten to it yet.
As others have mentioned, this feature is patended. `BetterSnapTool` is $3 is for a lifetime license and does what you'd expect coming from XFCE/windows etc.
For the same reason they refuse to implement displayer multistream. And a gazillion other industry standards: because they can, and they feel that their way is the right way.
Can anyone also tell me how to get the dock on all my 4 monitors together? The best I can do is get it on the bottom 2 monitors using the mouse hover features.
But is there a way to get it to show on all 4 monitors all the time? If it could show the open windows on each monitor (like windows taskbar) that would be even more amazing! Please this has been bugging me for so long and any help is appreciated.
P.S. There is a software called ubar but that only works for bottom 2 monitors :/
I believe probably the issue with this is that there are only a tiny handful of devs with 3+ monitors hooked up who could develop a dock/taskbar with such features and test that it works as intended.
Some form of ‘snap’ is being rolled out with Stage Manager on the iPad, which has very strong window rails, and the latest update improves their granularity. macOS has very few snap rails relative to the iPad, and only very limited close-range springs when in proximity to other windows. Perhaps that’ll change, or perhaps not, in the future. So, Apple’s definitely not ignoring snapping — they’re just doing it in ways that don’t currently meet your needs.
I think Stage Manager shows their hand—that they think users should manage this with the mouse, with no window-snapping.
All this said, I would like to see the full-screen mode get support for three windows, along with a way to stack vertically. There are times when you need more than two windows on a screen.
I also think it’s as simple (and stupid) as Apple wanting to continue to use rounded corners and window-snapping not really making rounded corners look particularly elegant.
Windows also struggles with moving windows between a 4K laptop and a 1080p display. The window chugs to reshape into the display resolution but the most bizarre is moving a window to 1080p then clicking maximize but it just to the 4K display in max resolution. I mean WTF is that? How the heck do you easily move the window between different resolutions with it doing the "right" thing, not the stupid thing?
ever since lion began the ipadification of macos, apple's Happy Path™ has been native full screen (even though it's an objective downgrade from the scuffed fullscreen mac apps of yore, since you have to sit through a swipe animation every time you cmd-tab)
you can split this; you just have to hold down the fullscreen button, no right-click access because again, thoughtless application of touchscreen idioms
as someone who uses none of the above: lining things up is painless since window bounds are slightly sticky, & macos remembers app state so it's not like you're doing manual window management every time you start up $APP. broadly equivalent in practice to a tiling wm with elaborate preset layouts & pigeonholes for specific programs. except you just drag things instead of editing a config file. couple this with all the apps i frequently use in full screen (iterm, mpv) having options for pre-lion-style instant-switch fullscreen, and i'm not hurting for lack of snapping... ever, really.
fwiw there are third-party solutions for snapping if you really care, and there are even full-blown x11-style tilers
Productivity-wise, Stage Manager is a step in the right direction in my opinion. I don't think that the macOS desktop environment needs a snapping/tiling window manager. Conceptually however, the best third-party window manager is spoonfish. But Rectangle suffices for certain tasks.
That’s for the menu bar. I am talking about the dock. It goes to whichever screen you are on as soon as your cursor is at the bottom. So when you have a large screen up top and a smaller laptop below, as you move the mouse from big down to small, you often hit the “bottom” of the big and the dock reverts to the top screen. You cannot make it stay on one screen or show on both.
Ah yes, I realised that was what you meant after I posted.
Though, in fact, it doesn’t really affect the menu bar at all.
Rather, it determines where your desktop icons will live; and it is probably used to determine the default desktop the dock is on when you do a cold boot - must test that.
Like you imply, I’d very much prefer it if you could drag the dock to a specific display and have an option to prevent the moving behaviour you mention.
Would also be nice to be able to drag some icons to one of the Arrange Displays screens to indicate where you want your icons to live.
Apple people are always like this. They always find justifications for their company. If you ask an Apple guy why does the mouse have the charge port on the bottom, making it unusable when charging, he'll say Tim Apple has perfectly engineered the mouse to optimize for the right amount of time it takes to drink a cup of coffee.
I hate the Window's half-window snapping, because I don't want tiled windows, but in order to have the window at the edge or top of the screen (which doesn't seem like a huge ask) I have to get it just close enough so it doesn't resize on me, and about half the time I go to far and have to start over. I don't have or want a really wide monitor, so Visual Studio being half the width of my monitor is not a useful size, because it is too narrow.
There's a way to snap the window to one side or the other if you long press one of the resize buttons at the top. I'm a HS teacher and I often have my kids put two windows side by side. On the school-issued devices it's trivially simple, but it's honestly not that bad on a Mac. Just really unintuitive like everything else they do.
long time windows user that switched to mac due to Apple Silicon dominance on the laptop experience.
This, 1000x this.
It's utterly bizarre that the window management paradigm is "let 'em all stack up and make it easy to spread 'em all out"
At first I thought I didn't get the paradigm. Now I get that I don't get the idea behind the paradigm.
Rectangle (pro version) fixes some of this and adds some really cool features. And because of the Apple app hegemony, it does work nearly OS level good. But why, oh why does this have to be 3rd party?
It's like some any UX pattern baked in since Lisa?
Not quite answering your question directly, but I think it's important for platform owners to leave gaps for the developer ecosystem. This may be one that they have purposely left to the app market.
If Apple and Microsoft provided a solution to every UX variant people want, there wouldn't be a market for apps built on top of the platform for UX tools. The further they encroach on the various markets the more developers will be discouraged from entering those markets for fear of the platform making their app redundant.
Apple and Microsoft have to draw a line somewhere, sometimes they get it wrong though and piss off a load of devs.
There are however obvious counter arguments to this with platform default apps such as email. But again it's important for the "average user" to have those in any new device. The platform effectively needs to do roughly 90% of what the average user wants out of the box, but then encourage users to go purchase further solutions from the various markets. Window snapping probably sits in That second area.
There's no way I believe this is the real reason. The whole history of MS/apple/facebook and successful businesses in general is allowing others to experiment to create add-ons / apps then creating your own integrated version to capture the value. i.e. let them pay the cost of experiementation and then copy it. See MS office, MS internet explorer, MS games, MS teams, Apple sherlock/watson, Facebook UI,......
I don't think leaving gaps for third-party developers at the system level is really necessary, however, in order to not inundate users with configuration options, platform choose their level of user choice and configuration. There is some room for third-party developers, but when more is done by the system, users have to do less to get features and performance without opening up risk vectors. In some environments, you wouldn't even be able to install third-party software.
I definitely think that window snapping, and other general abstract platform-level controls, should be in your first group.
I honestly think it provides perverse incentives, especially in the Apple ecosystem, for Apple to leave their platforms barebones and apps simple. Instead of pushing their platforms and apps to provide the absolute best experience, they can spend less money on R&D and rely on third-party software, while in many cases taking a 30% cut. They've effectively outsourced and crowdsourced the R&D, while leaving the option to sherlock any feature they choose to after it's been proven successful.
UX when snapping to the right of the screen will suffer because the toolbar will forever be stuck to the top left of the screen. As such, I don’t believe this is a well optimised use case and might be why Apple doesn’t want to “emphasise” this particular use case.
I've been happily using yabai for years - I even wrote some custom functions in hammerspoon to send windows to new spaces, move focus, and swap windows around n/s/e/w with key-bindings. Can't imagine life without it :shrug:
I remember when I brought a Windows laptop (it was my personal dev machine at the time) to an Apple interview, and the interviewee saw me organize my windows in a couple seconds to the sides and he was like "whoa, windows is neat".
Although it would be nice for this to be built into the OS, there are lots of apps that fulfill this purpose. I personally use Moom, have heard good things about Magnet, and if you like tiling there’s Yabai.
Hold down the option key. Hover your mouse pointer over the green zoom button in the top-left corner of the window. A "move window to the left/right side of the screen" option appears.
I don't think Apple ever incorporated any feedback from their users. They have the culture of "our research based on user focus group found what's best for you".
MacOS has a very functional and intuitive window managing system. You use the mouse and resize windows and arrange them to your liking to suit your workflow and minimize wasted space.
tangential question: is there some sort of add-on tool-let that would duplicate the
File-Edit-*-Windows-Help
menu down onto the top of an app's window? Even if it only worked when that window had focus would be good enough for me. I hate going to the top of the screen, only to discover the wrong app has focus
are there a family of little doo-dads like this, and what is the category called?
also, aside, pet peeve: why is New Window always in the File menu, and never in the Window menu, from time immemorial?
There are a few other recommendations for a non-native option - but my preferred one is Raycast. You get a launcher that does 100 other things plus hot key management of windows.
Compared to Linux (Debian and Ubuntu) Apple's implementation is dysfunctional. Snapping and unsnapping is an important tool I now expect from any modern OS.
It may be basic, but what about the double clicking on sides of windows to make it expand, and double clicking on edges? Does does that not qualify as snapping?
No. What people want is a clone of the "Windows Snap" feature Microsoft introduced with Windows 7 where you drag a window right or left take up half the screen.
It might be patented. You have to understand that a GUI design can only proceed with blessing from the legal dept in a company with assets that can be seized.
I don’t understand. I wouldn’t consider snapping a first class feature like closing, maximizing, and minimizing.
It’s possible that the addition of snapping would confuse some uninitiated users. They wouldn’t understand why the windows lock toward the side of the screen when they drag.
The only beef I have with apples windowing system is you can’t remove the finder from alt-tab. There are apps like witch but it is currently broken with IntelliJ tools. It doesn’t allow switch window focus to auto save.
I have written the developers about this. They probably are reading this now. Fix it.
I'm agreeing but it's because I find features like window snapping, auto-reveal desktop, and AERO SHAKE (where all the windows except the one you're shaking get minimized) REALLY FUCKING ANNOYING.
Windows 11 maximized the annoying desire to do things for me by bringing up this stupid rectangle at the top of my screen any time I move a window, trying to get me to snap it to a side of the screen...
It's like MS hired someone who uses those obnoxious Linux tiling WMs that don't let you do anything except tiling, and that person is trying to force tiling on everyone.
> Windows 11 maximized the annoying desire to do things for me by bringing up this stupid rectangle at the top of my screen any time I move a window, trying to get me to snap it to a side of the screen...
This can be turned off. Go to Settings (Win+I).. click through System then Multitasking.
Expand the "Snap windows" dropdown (arrow at right side). The option you want to turn off is "Show snap layouts when I drag a window to the top of my screen". I'm about to turn it off as well. I rarely use it, now that I think of it- and it's too touchy.
While you're there, you can turn off the title bar shake (I have that turned off as well).
Unless you're accustomed to them being on the left, in which being on the right is the weird thing.
Red means stop, yellow means slow/yield, green means go, which in the context of window management doesn't make sense, but if you think about it differently, a good 40% of it makes sense.
Red means stop existing, yellow means yield to other windows, and green means... go big?
you're right colors may be confusing if the user is color blind, I guess that's why the close is always the one on the left, the minimize is always the one on the middle, and the expand + extras is always the one on the right, so user can find what they want where their more accustomed to
It is hard for me to imagine what you could mean by "nonexistent window managing system". Obviously Mac OS has a window management system.
People have widely varying preferences when it comes to such things. You seem to be thinking of yours as though they are somehow objective and external to you.
Hover over the green stoplight, you get a popover with fullscreen options.
Press Option and the fullscreen options mutate into snap left/snap right/zoom.
These can also be found in the Window menu. Again, press option to mutate the fullscreen ones to snap.
And since these are menu options, one can set any keyboard shortcut of their choosing through the keyboard shortcut prefpane+.
So it is not "snapping" in the sense that you drag the window to the left or right side of the screen, and I would 200% agree that it is completely non-obvious to discover, but it is there for any one to peruse without any third party tool.
+ See here for how to achieve that, section "Tiling and snapping" (along with more things to make first party things more sane for a certain crowd) https://lna7n.org/2021/04/16/a-survival-guide-to-macos-from-...