ianyh / Amethyst

Automatic tiling window manager for macOS à la xmonad.
https://ianyh.com/amethyst/
MIT License
14.84k stars 487 forks source link

Disable animation when switching Mission Control desktop/workspace/screen #1142

Open munro opened 3 years ago

munro commented 3 years ago

Is your feature request related to a problem? Please describe. Right now, Mission Control shows a "slide" animation when switching desktops (screens in Amethyst terminology). It would be nice if it instantly changed with no animation like XMonad or Ratpoision.

Describe the solution you'd like Disable Mission Control desktop switching animations. It would be nice if it was a checkbox in Amethyst to make it easy for people to enable. Also disabling window opening has really helped speed things up, which I think people may find useful:

defaults write -g NSAutomaticWindowAnimationsEnabled -bool false

Describe alternatives you've considered

I know this is probably out of scope of Amethyst, but also I can't seem to find any solutions online. I haven't tried MacGrid https://macgrid.app/ — but they claim they can disable animations.

The best solution I have is enabling "Reduce motion" in accessibility, but it still has a annoying fade in & fade out animation.

image

I've also ran this script (this seems the most update & comprehensive from Google), and still the fade animations persists: https://github.com/734MNOOB/Disable-Mac-Animations/blob/7653d0e0d6808bb480810a24e1a3a597b4509921/terminal-commands

The big one that really made a difference for me is disabling the opening animation, which 100% works, windows open instantly now and Amethyst throws them into place:

defaults write -g NSAutomaticWindowAnimationsEnabled -bool false

Additional context Using macOS Big Sur v11.4

srobinson commented 2 years ago

The best solution I have is enabling "Reduce motion" in accessibility, but it still has a annoying fade in & fade out animation.

@munro Were you ever able to figure this out? Would be literally life changing.

munro commented 2 years ago

@srobinson No 😢 Maybe we need to befriend and engineer at Apple.

Check this out, just poking around we may be able to discover what the variable is called

Look at existing variables set

$ defaults export com.apple.dock -

this looks interesting

    <key>showMissionControlGestureEnabled</key>
    <true/>

I wonder if I can find where it's used in the binary

grep -R "showMissionControlGesture" /System/Library/CoreServices
grep: /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock: binary file matches

yepppp! I gotta go right now tho, but I think we can figure out what the variable is by looking in here

strings /System/Library/CoreServices/Dock.app/Contents/MacOS/Dock | grep -i ^show
showMissionControlGestureEnabledPref
showAppExposeGestureEnabledPref
showDesktopGestureEnabledPref
showDesktopGestureEnabled
showAppExposeGestureEnabled
showMissionControlGestureEnabled
showSpacesBarOnDemand
showPlusSpace
showFrontWindows
showsCloseButton
momomo commented 2 years ago

@srobinson I agree. Still annoying fade in fade out. Does not help.

Carter-Apas commented 1 year ago

Would also really like a solution to this :)

harryjackson commented 1 year ago

Would love a solution to this as well. I tried some of the stuff I found here and none of it worked

https://community.jamf.com/t5/jamf-pro/disabling-quot-more-gestures-quot-in-10-7-5/m-p/56302