Disabling Space Switch Animations seems to be possible now without disabling SIP - M1 Macbook

The purpose of this post is to:

  1. Make those (who care about this) aware that there are a few solutions on M1 Macs now to disable screen transition animations entirely.

  2. And, to see if it would be possible to integrate this feature into BTT, now that (it seems) it may no longer need disabling SIP.

One of the most annoying things for me has been the inability to turn off animations in transitioning from space to space. There are ways to make it faster (ie use keyboard shortcuts instead, turn off animations in the settings [which doesn’t actually turn off animations, just replaces existing with an annoying fade effect]). Previously, with an app called TotalSpaces2 it was possible to entirely turn off animations, AND make a ton of other cool adjustments. However, this required turning off SIP.

On M1 Macs there did not seem to be any real way of turning off animations. The app Yabai (through Homebrew) seems to offer a degree of instant screen switch, but it requires a lot of messing around with (which may be worth it if you are using all of its other features) and it too requires disabling SIP.

I saw a post on the BTT forum where someone had mentioned TotalSpaces2 and asked BTT if it was possible to put similar functions within BTT (post from 2020 here: Space switch without animation - #2 by Andreas_Hegenberg). In this post it is mentioned that the process of instant screen switching involves disabling SIP, and that in a large part, is a reason this feature is not integrated within BTT yet.

More recently, I have been following the development of TotalSpaces3 which had promised to be compatible with M1 Silicon Macbooks. In November 2021, one of the developers of that App posted a link to an unfinished (and unsupported) version of the App (Discussion found here: Can we help test Total Spaces 3 if we have Apple silicon? - TotalSpaces - BinaryAge and download link here: https://downloads.binaryage.com/TotalSpaces3-0.8.114.dmg).

Naturally, I downloaded and have been using TotalSpaces3. The functionality is a lot more limited than TotalSpaces2 at this point. However, the Grid setup AND the ability to change the animation (several choices are available, like slide, fade, or cube), the speed (a slider is available) both work very well. AND, you can also totally disable animations between screen transitions (there remains just a split second of delay before the new space becomes usable, which is normally masked by the animation; however, it is still much faster and less annoying to me than the built in animations that we cannot turn off). The grid can also be setup in any orientation you like, making switching pages between the dozens of fullscreen workspaces that I use much easier.

Relevant to BTT here, all of this is done WITHOUT turning off SIP. Thus, this topic maybe worth a revisit. The developer of TotalSpaces may even be open to sharing some of his code and perhaps it can be further developed and integrated into BTT. I think this would be awesome.

I really want this!

I have been a Total Spaces (TS) user for years. In fact I held off upgrading from Big Sur to Monterey because I thought I couldn't use Total Spaces 2 any more. Eventually I did upgrade straight to Ventura, and only then learned that TS3 does exist.

But TS3 is not great. It's still a beta which has not been updated in ages, is now effectively abandoned, but still requires $15 to unlock (which is apparently hard to pay, given there's no proper sales page any more).

If BTT could provide some of this functionality it would make me - and I'm sure many of the other Total Spaces users - really happy.

Personally, I only ever used three TS3 features:

  1. The ability to have "circulation", meaning if my monitor has 3 spaces configured and I "move left a space" from space 1, it goes to space 3, and likewise right from space 3 goes to 1.
  2. The ability to disable space transition animations, like the OP asked here.
  3. All-monitor expose feature: this shows a preview of all spaces on all monitors at once, like in this screenshot of my four monitors: https://i.imgur.com/J26Qq51.png

The other features of TS like the ability to have grids of spaces, like two rows of 3, and then "Move up/down a space" I never really got used to myself. I know many other people love those features though.

So that's a big +1 from me to adding any TS functionality into BTT that's possible. And if it ever happened, I know all the folks at the TS community who are sad and annoyed about lack of updates would flock here :slight_smile:

Regarding my #1 TS feature, circulation, I did wonder if maybe I could make a BTT script to do that?

Something like:

  1. Gesture I use for moving left a space: check how many spaces there are on the current monitor, and what space # we're on on that monitor. If space # == 1, then switch to last space, otherwise switch to # - 1.
  2. When moving right a space: same checks, then if space # == last, switch to space #1, otherwise switch to space +1.

Can BTT do that right now? I know there are "move to space X" actions, but I believe they're globally numbered. I would need to be able to move spaces on a per-monitor basis, and check what space we're on for this monitor, and how many spaces there are in total on this monitor?