Comment by jacknews
3 years ago
"macOS ... the desktop switching animation is particularly intrusive, oh god how I hate that thing"
Why oh why won't Apple let you turn this off? It annoys if not nauseates so many people.
This is is just one example, but indicative of their mindset, why I dislike Apple, and use linux whenever I can. It's such a calming joy to switch instantly between desktops without the rushing-train effect.
Go to Settings -> Accessibility -> Display, turn on Reduce Motion.
This makes the train effect go away, but there is still another very slight fade-away effect when switching desktops, albeit much less annoying.
Problem with that is that it's global. It can even affect websites if they use a media query for it. I'm ok/enjoy the other animations (I rarely see them, but appreciate when they happen), the only animation I wanted to disable was the desktop switch one.
It was once possible I think, but it seems that's impossible on new versions of macOS. Spaces are unusable because of that as a programmer. I'd love to have a terminal in one space and browser in the other, but the delay in switching between both is very noticeable and considering how many times I'd do that it'd probably take minutes off my day.
Yes, it is global. Even running `matchMedia("(prefers-reduced-motion)")` in the browser console returns true. I see no way of disabling reduced motion only for Safari either.
That being said, if you do decide to use spaces, I want to point out a MacOS setup that would help you to keep apps on different spaces and have an experience (slightly) closer to i3wm and other window managers.
First, you should create 10 spaces. Then go to Settings -> Keyboard -> Keyboard Shortcuts -> Mission Control -> Expand the Mission Control dropdown. You'll see options to set keyboard shortcuts for each workspace there. I've set it to Option+{1-9, 0 for 10}.
Then just open some of the permanent apps you use, and right click on their Dock icon -> Options -> Assign to this desktop. I keep the browser in workspace 1, and messaging app in workspace 10.
I know this isn't the best solution, but behind crazy-hidden settings, it is possible to get a pretty decent solution for window management on macOS. Ohh also, I use Amethyst sometimes, for i3wm-like window layouts, and it allows you to set shortcuts to move apps from one workspace.
one workaround I use is not to use Spaces but custom Alfred hotkeys for most popular apps that you often switch such as: iterm, browser, xcode, vsc, file browser + rectangle.app for shortcuts to maximize/minimize app (without default animations). Takes some time to train muscle memory though - I use cmd+ctrl+(j or or k or l or ;) to switch between most frequent apps. I also use F1 as hot key for iTerm (quake style) and F2 for Dash.app
If you switch that on, it also disables the zoom effect when you use Exposé, which makes that feature more disorienting. You can't win!
I think it still takes like half a second for focus to change, which is the thing I care more about. I would be fine if I could switch and then immediately start typing before the animation was finished.
I use TinkerTool to remove most of the animations from macOS, which makes it feel much snappier. That one, unfortunately, I haven't been able to disable.
Which is weird, because the launchpad page switching animation can be disabled and it is very similar to the Spaces animation.
It is amazing how much snappier the os feels by just removing those dock and "genie" animations from the interactions.
There are all kinds of tweaks like
defaults write com.apple.finder DisableAllAnimations -bool true
defaults write com.apple.dock launchanim -bool false
defaults write -g NSWindowResizeTime -float 0.001
defaults write com.apple.dock expose-animation-duration -float 0.1
defaults write com.apple.dock autohide-time-modifier -float 0
defaults write com.apple.mail DisableReplyAnimations -bool true
etc. Look it up.
But I don't want to disable all animations, just this one.
More to the point, I should be able to pick and choose which animations I want, install my own or 3rd party ones, etc, ie as far as possible, my computer should be controlled by me, not Apple.
You still get a delay when switching desktops.
Your chance to take a breath.
The desktop switching animation is the reason why I don't use Spaces at all. I just can't force myself to "be along for the ride" every time I switch, which I might want to do very often.
There's one situation where it's specially terrible: screen sharing. When I'm on a Zoom call, and somebody is sharing their screen, and begins switching spaces... I get dizzy (and the streaming compression goes crazy).
I LOVE the desktop switching animations. On Ubuntu Unity when I send a window to another virtual desktop, it keeps the window still, and slides the background, while on Windows VirtualDesktopGridSwitcher just switches instantly. (Same for just switching desktop windows just switches, Unity slides it. But it is more common to slide that.)
On Ubuntu, I just know where am I and where are the things, while on Windows I have no idea.
On KDE my computer slides all the old windows and background away, and the new ones into the screen. Yes, it's a great thing that makes my brain know what I'm seeing.
It is also long finished by the time my finger is away from the switching key. And that is very relevant. I have no idea what Apple users experience, and "desktop switching animations" aren't all the same thing.
Mac OS takes about one second to switch desktops, with at least half that time used for the last fraction where the animation smoothly slows down. It's fine if you only need it now and then, but when switching repeatedly for some task it gets annoying quickly.
Much worse: Mac OS fullscreen mode works by moving the current window to a new virtual desktop while hiding the statusbar etc, meaning you always have a one-second delay when entering and leaving fullscreen, with videos on Twitter and some other sites it's even slower. But the UI is responsive sooner than that, so recently I accidentally minimized all applications by clicking while the screen was still completely black.
Animations are difficult to get right, I always err on the faster side because waiting for an animation to finish is never enjoyable.