132 comments

[ 2.8 ms ] story [ 98.3 ms ] thread
What do people use for Windows-like window management on macos? I tried a bunch of them and I'm not a fan of any of them.

I actively dislike the notion of spaces.

I'm a bit reluctant to draw attention to my solution since it was written to scratch my own itch and I have only had a handful of users other than myself. Last year I was seriously thinking about making linux my dev choice because coming back to a machine that had slept left me with several minutes of reorganizing the windows that had jumped to various spaces as the multiple monitors were recognized. Aerospace could put them consistently somewhere but it couldn't distinguish windows of same app. I built WinPin for that use case but then kept going to solve other things that have made using a Mac with multiple screens and dozens of windows that need to be organized around my workflows easier. I built in support for workspaces but really haven't used that myself since spaces were more of a necessary evil to organize windows rather than useful in themselves. Interestingly to make WinPin truly useful you have to turn off spaces because I can't figure out a way using what Apple gives me to determine which space a window is in.

If anyone would like to try the app out (https://winpin.app) I'm pretty confident that downloads and update flow are working and it has been running without issue for me on multiple macs for the last 4 months. There are a lot of edge cases I'm sure I haven't seen yet, but it has truly changed my workflow and I'm interested to see what others think. Please don't try to purchase a key, it is fully functional without one. I'm still working on that with Polar.sh and want to make sure my t's are crossed and i's are dotted. Gotta be one of the weirder posts to HN since I actively do not want to sell you something right now.

I'm new to MacOS, is the thing they're refering to when you swipe left/right with three fingers to switch between different fullscreen apps / desktops? I kinda like the animation, after decades of windows I'm still impressed when switching between programs isn't stuttery.
> I'm still impressed when switching between programs isn't stuttery

It is stuttery when you use the magic touchpad via Bluetooth, same applies to the cursor. It's very noticeable with slow movements.

This looks interesting and I will give it a try. I agree that the space-switching animation is painful.

I don't however think that this will solve spaces on MacOS, for the simple reason that opening new instances of apps is inconsistent and often doesn't behave how you'd expect it to once one more than one space is involved (in my experience, anecdotal).

I've come to peace with the fact that I will never be able to simultaneously experience the productivity of i3 and the necessary evil of MS Office/Illustrator on the same OS. The most important factor in my work is who I work with (rather than what I work with) so I'll remain on the latter train for now.

Having been ruined by Linux options like Hyperland and Niri, I’m digging my early foray into OmniWM - https://github.com/BarutSRB/OmniWM
As someone who never uses spaces or any window manager, what am I actually missing? What’s wrong with cmd tab and just switching between apps? Is this going to be some Kind of major epiphany?!
I never run more than one space and instead switch between windows with the app Alt Tab
Clever hack. Now if there were some way to bring back the OS X 10.5/10.6 2D spaces grid… the linear design in place since 10.7 has always felt overly simplistic.
Just installed and I have to say, works exactly as promised. This is a huge quality of life upgrade, thank you for sharing it Paul.
meh, i like the animation. I normally use it with the trackpad so the swiping back and forth makes it feel more natural if there's animation.
Curious — what was the hardest part to get right here? Was it performance or handling edge cases?
Wonderful, that leaves 2 things on the top of my list for spaces: having to hover your mouse over the top left corner of a space and waiting until it shows the closing icon. And Safari deciding its better to switch to a space and open a window that was minimised there instead of just opening a new window in the space i'm currently in (even with the "switch to a space" setting turned off!) when 1 want to open a new tab.
If you hold command while you restore the window from the dock it will restore into the current space. I wish i knew how to make this the default. Getting whisked away to a random space is one of the most irritating issues. Like when you want a finder window for downloads and instead of a new window in the current space you get taken cross country to on thats already open.
Can’t say that the sliding animation has ever been the bottleneck to my productivity.
Single monitor workflows — which are more ergonomic — make switching spaces a necessity. It might not impact productivity but it is annoying as hell switching around spaces a lot
By way of experience report: I've been using this app for a week or so on my daily driver and it's been great.
I'm still incredibly frustrated by Apple's Mission Control and Full Screen features. The old Expose and Spaces and windows-style maximise would be so much better.
God damnit I didn't know until 15 seconds ago that the Space-switching animation in macOS was annoying. Thanks a lot!
If you don't want to go insane try to forget before you notice everything else. Might be too late already once you first do though
I wonder how this compares to Aerospace, which I use daily but ultimately has felt a bit janky and slow
I didn't check if it makes any difference, but I see hardly any animation with “Reduce motion” enabled.

The article mentions this has the unfortunate side effect of also setting prefers-reduced-motion in browsers, but that can be mitigated by changing the browser settings (Firefox: about:config: ui.prefersReducedMotion. 0 (enable) or 1 (disable)).

Nice. I wrote a little menubar app and Space switching has been a thorn in my side, including going down the "Yabai integration" route. Will have to take a look at this and see if I can borrow some ideas!

Shameless plug: https://github.com/gechr/WhichSpace

Works on my Intel mac running Sonoma 14.8.2. I use Omakub on my Linux machine and missed this when on my mac.
I see yabai mentioned, definitely check out Aerospace. Ive tried multiple WMs after years of i3 on Linux and this is the best one I found (for me) with quite a margin. It just works (tm)

https://github.com/nikitabobko/AeroSpace

Another happy aerospace here! IMO it does a great job with barely any configuration required (the default config works great, I have barely tweaked it over years of use), that said I’m not exactly power user of tiling WMs, I have one app per workspace 90% of the time
Aerospace is incredible.
It worked great when I switched from yabai some time ago but now it seems to be constantly losing windows and I have to keep resetting it :S
Matches my experience. I've been resorting to `Window > Move & Resize` in the menubar to get those rogue windows back which is faster than restarting but still quite annoying...
Another happy Aerospace user here!
Aerospace makes my Mac usable, but it is a looooong way from what i3 offers in my experience. i3 is way snappier, super stable, with good features out-of-the-box (including a status bar) - you forget it exists. Aerospace is slow, has to use that "windows in the corner" hack, it constantly resets whenever I resume the mac from sleep, needs additional tool for a status bar and more.

Much of it is not a fault of Aerospace, it's just what you get using Apple products in a non-sactioned way.

The main reason I use Aerospace (after a thorough testing of most macOS third party window managers) is for the space management and instant space switching.
I love aerospace, but you can definitely feel that it's a hack on top of the macos window manager. If a window starts misbehaving (like, app is frozen or sometimes even just has a top dialog) then aerospace can't move it and you lose its immersive aspects. I also keep getting floating windows lost in the outer limits of the outside wotld, and have to use the native "move to center" in this situation. Oh and that issue with tabs in ghostty or item is annoying - but once again not something aerospace is really responsible for.

With all that said, short of being able to use i3, this is a fantastic WM, couldn't imagine not having it. Use it in combination with karabiner to remap your caps lock key, and suddenly caps lock becomes how you move in macos.

I think it was iOS 9 that had some glitch where the animations were completely disabled and it was a really awesome experience to click an app and have it instantly open with zero animations.
I switched to Fedora Asahi Remix[1] after being affected by this bug[2] after 5 releases of MacOS Tahoe. I am enjoying Asahi Remix with Gnome and it has sensicle window management.

[1] https://asahilinux.org/fedora/ [2] https://youtube.com/watch?v=JjptYWKGVc4

Same same. I'd been a die hard mac user since System 6 in the early 90s, but last year I switched to Asahi Linux and my next hardware may or may not be from Apple.
Oh yes, I've also suddenly had my workspace switcher turn black! Never happened before but it has started happening lately.

macOS has never been bug free, but it feels like they've really been working hard to introduce new bugs lately.

Wow, works great.

I used to use yabai for this but I can't disable SIP anymore on a work laptop.

Also, stuff like this is why I really hate macOS sometimes.

A lifetime license for BetterTouchTool with ALL its features is $25. The time the author spent on this is well over that amount.
I grew up with this animation so I didn't consider it annoying until I bought a new Macbook a couple years ago.

I noticed sometimes I would press keyboard shortcuts before my system's focus had switched. Just little stumbles here and there, some inoffensive, some annoying, but who knows maybe I didn't catch enough sleep.

Over time it happened often enough that I decided to google it, and it turns out my muscle memory wasn't failing me; the animation speed did change ever so slightly and was slower in new Macs with 120Hz displays [1][2] (newer MacBooks, 2021+). If you switch your screen to 60Hz it goes back to the faster animation.

Why is this animation slower now, and why does it depend on screen refresh rate? I have some technical theories but can't think of an organizational reason it happened and hasn't been fixed 5 years later at a 3.82 trillion market cap company. If you Google it there's plenty of discussions online about this. It's noticeable and annoying to people who have used the feature often enough.

[1]: https://discussions.apple.com/thread/256124324?sortBy=rank

[2]: https://www.youtube.com/watch?v=gNBWt4NvqHg

Don't know about customizability on MacOS but I've always been very accustomed to animations and recently I just turned them off on Android and Linux and I... Don't miss anything. Turned out they don't add anything other than an initial wow factor.
I noticed this immediately when I first used a 120Hz macbook in 2021. As a vanilla MacOS UI feature that I'm sure many people use, I can't believe it hasn't been fixed yet.
we are a certain type of people here, aren't we?
I've been having the same problem, entering keystrokes in the wrong windows when changing spaces. I'm so glad to know it's not just me, it's the fact that I just a couple months ago bought a new MBP. Thank you!
I have noticed this bug years before Apple started selling 120hz displays. I thought for sure they would fix it after that, but to my surprise it has persisted...

I think it must go back to High Sierra or Mojave at least.

Wow I never realized I had this problem until now! I never even considered the reason keys would dispatch to the wrong window was because of the animation. I just knew that sometimes when switching workspaces I'd have to wait until whatever window I'm switching to has focus before typing.
I also have a 120Hz Mac, and the animation is indeed slower in 120Hz mode. In my opinion, the animation crossed the line from "too slow but bearable" to "unbearable" with 120Hz. It is as you say; it's not really the animation itself that's the problem, but the delay from when I tell my machine "switch to this other workspace" until the focus switches to a window on that other workspace. The animation has this horrible ease-out effect where the last few centimeters take what feels like forever.

Getting a 120Hz Mac actually completely changed my whole macOS philosophy. I used to use spaces extremely heavily. I now almost don't use them at all, preferring window switching with cmd+tab instead.

The infuriating thing is that almost all discussion on this on the web just says "turn on reduced motion". Not only should that be unnecessary; it doesn't even fix the problem! Sure, there's no longer a sliding animation, but there's now a fade animation instead which takes just as long.

It's completely incomprehensible that Apple hasn't fixed this.

Sadly, solutions like BetterTouchTool and InstantSpaceSwitcher won't work for me because I prefer to use my trackpad to switch spaces.

EDIT: I actually recorded and compared the switching speeds a while ago: https://old.reddit.com/r/MacOS/comments/rfmg4e/workspace_swi.... Apologies for the choppy recording, QuickTime screen recording is not very good; but it gets the point across.