In Emacs 30.1 on MacOS Monterey:
I am used to the switching of frames being seamless and instant, with no
special effects.
At some point, MacOS started doing this horrible sliding doors animation
when switching frames (window manager windows). The effect happens on
some other applications, not just Emacs. But I think Emacs may be
requesting it.
The railwaycat Cocoa port
(https://github.com/railwaycat/homebrew-emacsmacport) does not do the
effect. More importantly, the (latest) Firefox does not do the effect.
When I press "cmd-`" on both those applications, I get what I expect. No
effect, no flicker, no delay --- I am instantly in the other window.
To be able to use Emacs 30.1 which has the effect, I went into the MacOS
control panel and under Accessibility, enabled "Reduce Motion". This
replaces the 2 second (!!!) sliding doors with a 1/2 second fader
effect. That is still too slow and intrusive for doing eyeball
source-compare by switching frames.
I will note that regular Emacs on Linux also has an effect: the window
manager does (in my case) the card-flipping effect. I don't use Linux
very much, but it would be nice to get rid of this on that platform as
well. No idea what Windows does these days, but 15 years ago when I last
booted that OS, there was no effect when switching Emacs frames.
I have no idea how any of this works, but I speculate that either (a)
the application requests an effect (perhaps that's the default) to the
window manager; or (b) Firefox is coded to the older window system,
which doesn't do these effects. Either way, it is definitely possible to
control this and make all effects go away. Somehow.
So I am requesting the ability for Emacs to turn the effects off.
For MacOS, ideally for all platforms, ideally a Lisp variable at runtime.
If you wanted to get fancy it could be a frame property.
i can easily imagine setting it on only some frames, as I use frames for
a variety of purposes.
I can compile Emacs if that's what I have to do, to test a patch or to
set a compile-time option. I will gladly test this if anyone will hack it.
Thank You for any clues and hacks!
I use Monterey with 29.4, 30.1, 31/master and I never see any such animations (which I consider childish, like emojis). I also never see such things on Linux. The code for Emacs makes no explicit requests that I can discern. I'm guessing you have installed something else on your system or have some other setting that is interfering.
Or...
Are you running "full screen" windows? I never use those (only "maximized" in Emacs parlance) so it is possible what you are observing is something related to switching among full-screen frames. Disable Mission Control and Spaces and see what happens.