Better macOS Windows and Spaces???

Jan 07, 2025 9:59 PM
Jan 17, 2025 3:20 AM

The macOS Spaces implementation and I go way back. I have had a love/hate relationship with Spaces since owning my first mac. On the one hand, Spaces presents a seductive interface that aligns with my mental model of how I want to organize my desktop. On the other hand, it takes about 3 minutes of usage to discover that it was implemented as an MVP, and the product team was obviously disbanded after the first release and no improvements have been made.

I keep anywhere from 3 to 7 spaces active on my laptop at all times. Each of them holds windows associated with a specific project or task (except right after I restart my computer, because all browsers end up on the first space after a reboot until I manually move them back 😠). I have no way to remember which space contains which project/task except by looking, because I can't name the spaces 😠...but I can usually tell pretty quickly by looking at the open windows in Mission Control.

Moving a window to another space

Something I do tens of times per day is move a window from one space to another. Sometimes I need a window on a different space, or I shift trains of thought and open a new window for the current app before I move to the corresponding space. There are probably five other reasons I'm not thinking of, it just happens.

For a long time, I was using Raycast for this. According to my notes from 2024-08-19, this broke when I updated to macOS Sonoma (14.6). The issue is tracked by Raycast.

This inspired me to look for other ways to move windows to spaces.

Eventually, I tried Yabai just for funsies...and it worked without disabling SIP!

So I added a couple scripts to my dotfiles (move-next and move-previous), and pointed Raycast at them. Here's move-next: yabai -m window --space next --focus.

This worked for months!

MacOS Sequoia (15) broke everything

IT yelled at me for not updating my operating system to Sequoia, so I did that one day.....and Yabai stopped working for moving windows to spaces. It's tracked at https://github.com/koekeishiya/yabai/issues/2500, and multiple other issues.

When it happened I tried a few other approaches again, though I didn't keep notes. I couldn't find a fix, and I moved windows to different spaces with my mouse like a cave person for months.

Pavlos always has answers

In a chat with my friend Pavlos, he was demoing his micro-blogging toolset (including lmno.lol), and he just casually mentioned Yabai. So we ended up talking about that for a bit, and it reminded me of my current cave person window movement conditions and I complained about it to him.

He mentioned AeroSpace, which I'll come back to.

But he also prompted me to remember what my issue was, and find out if Yabai had fixed it.

Then I looked back for my notes—most of which are above—to remind myself what I was using before Yabai. Basically, because Pavlos asked if I had tried Raycast's built in window management for this, and I was sure I had notes about that not working. I found these notes, including the link to the tracked issue, and....

Raycast fixed theirs!!!

I had this issue after upgrading to MacOS Sequoia 15.1 but it was resolved when I updated to Raycast 1.88.4

jaimemarijke

Me too!!!

So now I'm switching back to Raycast for this feature. (Though OMG is the animation slowwwwwww, I'm sure that's the OS not Raycast, but uuuuugggghhhhhh.)

Is AeroSpace the better implementation of spaces that I've been looking for???!!!!

Ok so I can move windows to spaces again....but I got just far enough into the AeroSpace docs to be very very very intrigued.

They had me at "Native macOS Spaces have a lot of problems":

Native macOS Spaces have a lot of problems

Since Spaces are so hard to deal with, AeroSpace reimplements Spaces and calls them "Workspaces".

I have a few things I'd add to that list (can't name a space, rebooting resets spaces for some apps but not others, ...) but omg AeroSpace you are speaking my language. I have a dream of being able to spin up spaces willy nilly as I start tasks, and I have yet to find anything that remotely made this possible.

Is this the thing I need in my life? I'll update with my findings at AeroSpace.

Conclusion (from AeroSpace)

Nope, it's not the answer. I do like it, a lot, and I think it is hackable enough to solve the problems I have with native spaces. Unfortunately, my system basically stops when I'm doing a video call and have AeroSpace running. I also looked at a couple other options, both dead ends for me. Amethyst doesn't do enough to address my problems with native spaces; yabai requires disabling SIP, which I am not planning to do on my work laptop anytime soon.

So I am stalled on this subject for now.