9

I reduced animation and transition in macOS but not completely disabled

As some people already discussed, one can "reduce motion" in accessibility settings, use defaults write to "disable" some animations, or use software like TinkerTool. But after all of that, when I switch desktops using Ctrl + Left or Ctrl + Right, macOS still displays a "fade in, fade out" animation for a few deciseconds, which is fine. But

the window focus remains messed up for a while.

Either the window on the previous desktop is still focused, or no windows are focused, for about 1 second, and I cannot perform any operation, which is super annoying and slows down my workflow.

A workaround

is to use Cmd + Tab to switch apps, or use Ctrl + 1-9 to jump to a specific desktop. In this way, the window focus is corrected. But this is a workaround, not a solution.

Modification I did

  • Every setting in TinkerTool.app that disables animation
  • "Reduce motion" in macOS accessibility settings
  • Some scripts, the one related to this is
defaults write com.apple.dock expose-animation-duration -float 0.1

previous discussion about this

How can I disable animation when switching desktops in Lion? talked about posting a bug and TotalSpaces.
How do you completely disable the space-switching animations in OS X Yosemite? concluded that there's no solution.
Disabling desktop switching animation on El Capitan. Solution has same problem as I have.
How can I disable animation when switching desktops in El Capitan? talked about TotalSpaces and disabling SIP.

3
  • Can you provide a video of what you mean by "the window focus is messed up"? In my experience, moving to a new desktop takes about the same time as pressing a key (e.g. CTRL right arrow), or the swiping motion on the trackpad, and the windows in the new space are immediately in focus and present. Also, what OS and what model Mac; any external monitors? I'd suggest testing the speed in a brand new user account, and see if that's better. Alternatively, don't use Spaces: just switch between application windows in the same Desktop space.
    – benwiggy
    Jan 4 at 10:19
  • I am using Mac Pro M1, and regardless of whether I use a trackpad gesture or a shortcut, the animation lasts for around a second and the previous window is active during this time. This is extremely annoying.
    – Mikhail
    Jun 29 at 8:29
  • Interestingly enough, when I plug an external monitor and make it main, the animation becomes faster! Maybe this setting is related to displays.
    – Mikhail
    2 days ago

1 Answer 1

4

yabai + keymaps

You can use yabai to manage your windows on macos and remove all animations. The yabai commands that allow you to move instantly between 'spaces' are

yabai -m space --focus next        # move left
yabai -m space --focus next        # move right

The only other thing you will need is a program to remap the keyboard inputs. I prefer Karabiner-Elements because it gives you the most fine tuned control in my experience. But it is more for people comfortable with computer programming.

Some easier (uses a GUI) but paid options are Keyboard Maestro and BetterTouchTool. With these options you would remap Ctrl and Ctrl to these system/shell/bash commands.

karabiner

If you want to go the karabiner/coding route this should get you started.

You can use Karabiner-Elements to remap Ctrl and Ctrl to these commands. If you are new to Karabiner I suggest using goku to create your karabiner configuration.

I think this configuration for the karabiner.edn file (goku/karabiner config) would work

{
    :templates {
        :yabai-focus-space    "/usr/local/bin/yabai -m space --focus \"%s\""
    }
    :main [
      {
        :des "Yabai - Focus prev/next"
        :rules [
            [:!Tleft_arrow [:yabai-focus-space "prev"]]
            [:!Tleft_arrow [:yabai-focus-space "next"]]
        ]}
    ]
}
1
  • 1
    This is a good idea, and I'm glad it works for you. However, there are two major pitfalls to this solution. 1. It is not native. yabai does not disable animations by changing system configuration, instead, it actively run and take control. This may not be ideal for users that want "native experiences." 2. yabai could be buggy. At least on my M1 MBP, yabai v4.0.0 fails to inject script additions and cannot switch spaces.
    – Steven He
    Feb 13 at 23:49

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .