I tend to agree that the functionality you see in Rectangle or Magnet should be native. Window placement shouldn't be a third party app.
But whenever I've asked people at Apple about this, the response has been "Well, Apple is historically just very opinionated about window placement and settings." The overall vibe was "Apple knows best."
Being opinionated is good, but at some point you have to realize when you went the wrong path. Window management on macOS is terrible, period. This isn't just force of habit or "just another way to do", it sucks. Even command+tab is terrible, it doesn't even browse all the open windows but the open app, which is a completely irrelevant distinction, I have to install AltTab because of this.
The way macOS does window management is internally consistent, and for those of us who have used it for decades, it works perfectly well. Just because Windows chose to do it a different way, and Linux copied Windows because it had a monopoly on the desktop, doesn't mean what macOS is doing is bad.
If you don't like it, you don't have to use macOS. (Or, you can install the exact utilities various people are mentioning to force macOS to act like Windows.)
No, no, and no. The way macOS handles split screen is objectively bad, that's not an opinion. It's clunky, slow, not very discoverable, not intuitive, and is painful to use because it requires using the fullscreen mode. Windows does it a certain way and it's great and natural. Linux desktop environment copied it not because it's Windows, but because it's good. Why is there no desktop environment copying macOS window handling if it's just as good? Because it's not, it sucks.
Some things on macOS are just different, like having the red/green/yellow button on the left instead of on the right on Windows. Neither is objectively good or bad, just different.
But that I cannot take a window, drag and drop it to the side to make it take half the screen size is bad. It's an obvious feature nowadays and macOS should handle it natively. They don't even have to remove the way they do it currently, because it has its use (I have a permanently open full screen/split screen with my email client and Slack, it's great for that), just add a new mechanism that works better for quick split screen.
Same with command+tab, it sucks that it doesn't work with open windows (eg if I have 2 open Firefox windows, only 1 will be displayed). It used to work like that so I'm ok with macOS keeping it as a default, but WHY don't they add a setting to do what people expect? Or why don't they add option+tab as a shortcut with this behaviour?
I've used macOS, Windows, and various Linux DEs (KDE, XFCE, Gnome) extensively in my life and all of them have good and bad concepts. This is not a blind spot issue, just that some UI concepts work better than other, and the correct thing to do is to adapt.
FWIW, you can do a split-window layout without fullscreen by holding Option while hovering over the green traffic light.
Personally I use this (or even resize or rearrange windows) very rarely though. Most of the time if I need two documents side by side it’s in an IDE that supports panes.
As for command-tab, it’s deeper than just one command. The macOS windowing model is just fundamentally different with how windows are not equal to processes. A toggle would need to change the windowing model of the OS to work properly.
I put two windows next to each other all the time. It's perfectly discoverable. I just drag one window on the right....
...then I drag the other window on the left.
Boom. Done. No fancy features required.
See, you're coming from a basic assumption that you will do most of your work with windows full-screened. That's not how classic macOS worked, that's not how Mac OS X worked for many years, and that's not how many of us have our workflows. That's how Windows worked back in the '90s, and the paradigm remained even though screens have gotten much, much bigger since then.
What you're demanding is that all OSes "adapt" to become a UI monoculture. So that the only way any of us can do things is the way you think is "objectively better", even though the evidence you have for that is "well, Windows does it this way, and Linux copied them, and I'm so used to it I can't imagine doing things any other way, so it must be best!"
Mac OS is designed to use workspaces. The idea is you have main windows in fullscreen and use the trackpad swipe to switch between virtual desktops. Basically they never want you to move windows at all. Maybe one of the virutal desktops has your notes and finder and other smaller apps
You are using it wrong. See, in the intended setup, windows simply don't open. You don't even need a computer, just wire Apple some thousands regularly.
No doubt that window tiling should be a native feature. But that's not even my biggest gripe with macOS. You simply cannot disable animations. Moving between workspaces is so slow because there is a 300ms transition. There is an accessibility reduced motion settings, but all it does is replace the transition from a slide to a fade in/out. The only solution I could find is to keep all the windows at full width and height in a single workspace. But guess what? CMD+Tab only iterates over the open apps, not their windows. So I need to install yet another third party app to be able to navigate between open windows.
I've always been kind of an Apple fanboy, but I've been recently finding myself in this novel situation where I'm dreaming of a System76 laptop so I can just run PopOS. When I first started using macOS 15 years ago I was all about the slick UI animations. Now I just want an unobtrusive OS that's fast. Heck, I've been even flirting with the idea of not even having a desktop environment at all. A window manager should be enough. Maybe I'm just getting old?
> They copied it a little bit, but it's very mouse oriented (option-click the green zoom button to snap windows to left/right).
Moom, which is the tool I prefer, similarly shows a popover when hovering over the green button.
Personally I prefer this sort of approach and wish it could be replicated on other OSes. The Aero Snap way of doing things with the noisy “should I snap here” animations are annoying and too easy to accidentally trigger.
Is there a Mac app to copy Windows' windowing behavior?
I want different virtual desktops to behave like they are different computers with a shared clipboard, i.e., I don't want to see apps from other virtual desktops showing up on 'Alt-Tab', dock bar to show all open apps, etc.
I like Spectacle better than anything I’ve seen on Windows or Linux, and I’ll take installing it once then never thinking about it again over what it takes to get a tolerable keyboard layout & shortcuts on other platforms.
Proton Drive, Nextcloud, or iCloud Drive (all E2EE cloud storage solutions) seem like better choices than Dropbox if you're concerned enough about privacy to be using Cryptomator and Mullvad.
I love this opinionated setup, very insightful. For example, I didn't knew anything about Mullvad, or a combination of fonts that looks good. However, I just used emacs, firefox, spotify and inkscape, and that's just it.
Another hidden tweak (that unfortunately interferes with yours): "Swipe between pages" set to "Swipe with Three Fingers." No more animation when navigating back/forward in Safari, and it works in more places to boot, e.g. Finder and Xcode Documentation. (This is because it uses an entirely different code path for navigation. Some more context under "Technical Notes": https://sensible-side-buttons.archagon.net)
FWIW, most of the reddit self-promo filters should be addressed by the EasyList and AdGuard annoyances lists. If not, consider submitting an issue (they're very responsive):
Most annoying change Apple made was hiding this in the accessibility menu. Should be default behavior. It's one of the major reasons I adore the Mac Book touch-pad. On Windows I'd have to do this weird multi-tap and hold and hope I could drag far enough or repeat the gesture. Three finger drag is just second nature to me now.
I too had a manual checklist like the author and dragged my feet on a proper solution. Now I have a dotfiles repo with a script that installs homebrew, installs everything in a brewfile, then uses chezmoi to do all my system and shell customization. I’ll eventually get it to the point where I can copy and decrypt secrets, RSA keys, and the likes, as well as support multiple uses (work vs personal) and OSes.
The benefit to this is less about new system setup (I don’t buy a new laptop every time the battery goes) and more about synchronizing my settings across machines.
Dock on the right is better as it’s more out of the way of buttons you’ll use (left side menus, window buttons) so you won’t accidentally unhide it. Also I could never get behind magnification, just makes it harder to predict where things are, but I almost never use the dock anyway.
My setup would take weeks to reproduce, I think. So many small tweaks, configuration and extensions that I have accrued over the years. I would dread starting over, which is why I’m very happy with Migration Assistant that helped me migrate to various new machines over 10+ years.
I use Ubuntu Linux for my personal machines, and my entire setup can be reproduced in a fully automated fashion with a script that I maintain, so I can wipe and start fresh pretty much any day I feel like, go have lunch, and come back to a desktop with all my customizations, all the way down to the order in which I have my pinned icons.
It's kind of amusing that Mac users have to go through so many GUI hoops to configure the system, yet for some reason the vast majority of devs seem to still prefer Macs (?)
Mac users don’t have to. My many Mac settings are fully configurable with a shell script. Likewise, you can do everything mentioned in this post in a shell script.
And us devs who prefer Macs like the stability and not needing to fiddle with stuff all the time and just want to get work done.
I also always maintain a couple Linux desktops and while it’s great, it’s always been flakier than macOS. We find that macOS has more polish. Linux is a much better OS than Darwin though.
FWIW, I started using Linux back in 1992 in its pre-1.0 days, long before I ever used the current thing called macOS ,or MS-DOS/Windows, for that matter.
I’m a Mac user of 10 years now and the total amount of times I’ve had to wipe and start fresh is exactly zero. So while you’re right about macOS taking some time to set up, it also doesn’t really matter [to me at least].
I’m on Homebrew because it hasn’t given me any trouble in years, has an outstanding package library, and because back when I first tried Macports in like 2012 it liked to break itself every few months while doing very normal things, so I tried Homebrew and never looked back.
I had a traumatic experience with homebrew in the early days where it killed my system to the point where I had to do a fresh OS install. Also I find their beer-making jargon annoying.
I tried to switch to Safari and used it regularly for a few weeks on my M1 air. Every so often, web sites would simply stop opening after using Safari for a few hours and only a restart of Safari would fix it. I didn't have any patience to file a bug report. So I just switched back to Firefox.
I’ve been told that MacPorts was better for some reason. It feels more polished than Homebrew but I don’t know why. Anyway, it has all the applications I need so there is that.
I don't use Xcode itself, but do use the Xcode command line tools. I've found the simplest way to install them on a new machine is to open a terminal, try and run `git` (which isn't yet installed), and then you're automatically prompted to install the Xcode command line tools (only) and taken through it.
I don't know about the reasons of the parent but in my case after some time I was unable to upgrade Xcode on a new MBP 2019 with 128 GB even though it was the only app installed! It was about disk space management when installing via the App Store (not to mention growing space requirements). Downloading it manually solved the problem.
You probably meant install Firefox. I'm not sure why anyone here would voluntarily participate in building Google's empire other than work-related requirements.
Can't they just copy what windows and linux are doing?