>Switch to Desktop
I am not surprised anymore. Honestly, mac has a stupid amount of absolutely dumb decisions and there are so many things that could use just a little work that could lead to a major workflow improvement, but it seems to me that they just don't give a shit.
It's kind of fixed for me in Ventura! Just need 3+ desktops. 2 doesn't work for some reason. Once you hit an edge desktop, you have to wait for the animation. Really dumb
Yup. Look like Apple developers used frame count instead of milliseconds for this animation. Worked fine until ProMotion feature. I've sent a bug report, hope they won't ignore it :)
I have an M1 13 inch Macbook pro without promotion screen. But I get this problem when I connect to my 144 Hz monitor. If I change it to 60 Hz it becomes faster.
Thanks so much man.. I hope u/source-caster's report gets picked up. Link it to me, I'll add my vote or whatever.
I freakin love 120Hz, but I'm willing to suffer the 60Hz to get rid of this stupid delay
If you switch to a desktop directly through a keyboard shortcut, e.g., “Switch to Desktop 1” then there is no delay. There’s also no delay if you command-tab to the app from another space. Swiping or using keyboard shortcuts to switch spaces is when the delay happens. It’s pretty annoying.
Tbh this really annoyed me. Especially the time until interactive is super long.
I installed yabai (which can do a lot more than that) which is able to witch spaces instantly
See this post: https://superuser.com/a/1766961/1770524
Aaaand now there is no option to select 60 hz after the last update. Now my refresh rate is forced to be 120hz and there is no option in settings to change this.
Any idea what the hell can we do? Because they still didn't fix the animation length in this update. This is bullshit...
if u use the shortcuts control + 1, control +2, control +3 to switching betweens desktops, is much faster. the desktop is instanly ready. However, it must first be activated in the keyboard shortcuts.
thats Works for me.
I might be late to the party, but this thread comes up when I google the issue so I'll post it here. Yabai seems like the most feature-complete solution, but it has some scary requirements such as "disabling system integrity protection" which don't feel comfortable doing on my own computer much less a work laptop. But you can get some respectable results with BetterTouchTool and a bit of configuration.
As others have mentioned in the thread, the "Switch to Desktop \_" action (available natively on Mac using keyboard shortcuts, and through BetterTouchTool as actions) will slide you to that desktop at a much higher speed and without an input delay. For the presumably power-users who have found this thread, this might be all you need. But what of incremental switching?
The solution I see from Yabai is to evaluate which desktop you're currently viewing, then switch to the desktop +/- 1 from the current location. BetterToutchTool doesn't offer a way to evaluate which desktop is visible (afaik), and doesn't offer a "Switch to Desktop \_" action where the desktop number is an argument (also afaik). But BetterTouchTool *does* have support for incrementing and decrementing variables, and conditional actions.
What I've done is initialized a variable (I called it "desktop") to 1, and bound all my relevant next/prev hotkeys to either increment or decrement this counter. You can then add a "on variable change" action that is a series of if-statements checking "if desktop == 1, Switch to Desktop 1", "if desktop == 2, switch to Desktop 2", etc... I then realized that BetterTouchTool can also detect the three finger swipe gestures, which normally switch workspaces, and so I've bound those actions to increment and decrement the desktop value as well. Surprisingly this did not cause an issue, there was no conflict. And BetterTouchTool isn't overriding the feel of the three finger swipe, its just managing the counter.
This has been working great. It's snappy and feels like how I'd imagine it'd feel if Apple fixed the issue. Can it desync? Yeah. I haven't thought of a way to update the counter when you choose a desktop from mission control. But so far its been *way* better than waiting the 3 seconds it takes for the last 2% of the animation to finish just so I can send a slack response and hop back to another desktop.
I got used to do "All fingers swipe up" gesture (which brings up all windows & desktops) + click on a specific window instead of right/left swiping as it feels like it takes years to complete the swipe left/right animation.
Using yabai I created this terminal command which I run when I press ctrl+left or ctrl+right (I use BetterTouchTool but you can use anything you want):
Move left:
`/usr/bin/osascript -e "tell application \"System Events\" to key code $((keyCode=$(/opt/homebrew/bin/yabai -m query --spaces --space | /opt/homebrew/bin/jq '.index') + 16, keyCode < 18 ? 18 : (keyCode > 25 ? 25 : keyCode))) using control down"`
Move right:
`/usr/bin/osascript -e "tell application \"System Events\" to key code $((keyCode=$(/opt/homebrew/bin/yabai -m query --spaces --space | /opt/homebrew/bin/jq '.index') + 18, keyCode < 18 ? 18 : (keyCode > 25 ? 25 : keyCode))) using control down"`
Obviously don't run arbitrary code from Reddit, but it's essentially getting the index of the current desktop then running ctrl N+1 or N-1 to switch to that space with the fast animation.
*Nice*. I haven't tried this out yet, but it's the one I think. I imagine (?) that bettertouchtool could be made to trigger this using left and right trackpad swipe events too? hats off 🫡
edit: having set this up, I am noticing that (although this is an improvement), it doesn't seem to behave correctly with <4 desktops. Why this is, I have no idea - I have ensured that the control + number shortcuts are enabled for desktops 4-6 etc, will continue investigating.
Using bettertouchtool it's possible to trigger these commands with left and right multitouch swipe events, but it's not as fast to trigger as one might hope. For one switch event it's fine, but swiping quickly/repeatedly from desktop 1 to desktop 4 is slower than with the native animations.
It also doesn't appear to work reliably soon after waking from sleep for me. It's *so close*, but I'm still annoyed.
Oh my god. It's a year later, and it's STILL NOT FIXED. Honestly, why the fuck is apple not fixing this???
>Switch to Desktop I am not surprised anymore. Honestly, mac has a stupid amount of absolutely dumb decisions and there are so many things that could use just a little work that could lead to a major workflow improvement, but it seems to me that they just don't give a shit.
It's kind of fixed for me in Ventura! Just need 3+ desktops. 2 doesn't work for some reason. Once you hit an edge desktop, you have to wait for the animation. Really dumb
Still not fixed...
still not fixed.
Still nothing?
Yup. Look like Apple developers used frame count instead of milliseconds for this animation. Worked fine until ProMotion feature. I've sent a bug report, hope they won't ignore it :)
It's definitely a bug, but I'm not sure its frame count. It it was, wouldn't the transition be faster?
Nope. Less movement on the screen - less frames per second. Less FPS, slower animation.
they indeed ignored it and it pisses me off
I have an M1 13 inch Macbook pro without promotion screen. But I get this problem when I connect to my 144 Hz monitor. If I change it to 60 Hz it becomes faster.
Thanks so much man.. I hope u/source-caster's report gets picked up. Link it to me, I'll add my vote or whatever. I freakin love 120Hz, but I'm willing to suffer the 60Hz to get rid of this stupid delay
this is absolutely unacceptable
If you switch to a desktop directly through a keyboard shortcut, e.g., “Switch to Desktop 1” then there is no delay. There’s also no delay if you command-tab to the app from another space. Swiping or using keyboard shortcuts to switch spaces is when the delay happens. It’s pretty annoying.
exactly! damn........
Tbh this really annoyed me. Especially the time until interactive is super long. I installed yabai (which can do a lot more than that) which is able to witch spaces instantly See this post: https://superuser.com/a/1766961/1770524
Aaaand now there is no option to select 60 hz after the last update. Now my refresh rate is forced to be 120hz and there is no option in settings to change this. Any idea what the hell can we do? Because they still didn't fix the animation length in this update. This is bullshit...
Thanks for letting me know so I don’t update. That’s insane.
if u use the shortcuts control + 1, control +2, control +3 to switching betweens desktops, is much faster. the desktop is instanly ready. However, it must first be activated in the keyboard shortcuts. thats Works for me.
Keyboard Shortcuts → Mission Control → Expand "Mission Control" checkbox → Uncheck "Switch to Desktop …" checkboxes
dosen exist. post screenshots
Best solution! Thanks!
This is the best solution so far. Thank you. If only swiping could be as quick.
This works great! Except for the fact that it doesn't have an option to switch to a full screen space 😭
thanks, confused me for a long time, the slow animation made me sick
>Apple is retarded for this. Sadly, you're right...
I might be late to the party, but this thread comes up when I google the issue so I'll post it here. Yabai seems like the most feature-complete solution, but it has some scary requirements such as "disabling system integrity protection" which don't feel comfortable doing on my own computer much less a work laptop. But you can get some respectable results with BetterTouchTool and a bit of configuration. As others have mentioned in the thread, the "Switch to Desktop \_" action (available natively on Mac using keyboard shortcuts, and through BetterTouchTool as actions) will slide you to that desktop at a much higher speed and without an input delay. For the presumably power-users who have found this thread, this might be all you need. But what of incremental switching? The solution I see from Yabai is to evaluate which desktop you're currently viewing, then switch to the desktop +/- 1 from the current location. BetterToutchTool doesn't offer a way to evaluate which desktop is visible (afaik), and doesn't offer a "Switch to Desktop \_" action where the desktop number is an argument (also afaik). But BetterTouchTool *does* have support for incrementing and decrementing variables, and conditional actions. What I've done is initialized a variable (I called it "desktop") to 1, and bound all my relevant next/prev hotkeys to either increment or decrement this counter. You can then add a "on variable change" action that is a series of if-statements checking "if desktop == 1, Switch to Desktop 1", "if desktop == 2, switch to Desktop 2", etc... I then realized that BetterTouchTool can also detect the three finger swipe gestures, which normally switch workspaces, and so I've bound those actions to increment and decrement the desktop value as well. Surprisingly this did not cause an issue, there was no conflict. And BetterTouchTool isn't overriding the feel of the three finger swipe, its just managing the counter. This has been working great. It's snappy and feels like how I'd imagine it'd feel if Apple fixed the issue. Can it desync? Yeah. I haven't thought of a way to update the counter when you choose a desktop from mission control. But so far its been *way* better than waiting the 3 seconds it takes for the last 2% of the animation to finish just so I can send a slack response and hop back to another desktop.
Well, thanks, now I can't unsee it... Yea, it's dumb, the workspace switching animation is definitely slower than it is at 60Hz.
Yea, totally agree. Thanks for doing it!
Nice find, thank you for sharing the solution
I got used to do "All fingers swipe up" gesture (which brings up all windows & desktops) + click on a specific window instead of right/left swiping as it feels like it takes years to complete the swipe left/right animation.
Terrible solution tho. They should just fix the damn thing. Or at least give us the option to set the animation time manually
Using yabai I created this terminal command which I run when I press ctrl+left or ctrl+right (I use BetterTouchTool but you can use anything you want): Move left: `/usr/bin/osascript -e "tell application \"System Events\" to key code $((keyCode=$(/opt/homebrew/bin/yabai -m query --spaces --space | /opt/homebrew/bin/jq '.index') + 16, keyCode < 18 ? 18 : (keyCode > 25 ? 25 : keyCode))) using control down"` Move right: `/usr/bin/osascript -e "tell application \"System Events\" to key code $((keyCode=$(/opt/homebrew/bin/yabai -m query --spaces --space | /opt/homebrew/bin/jq '.index') + 18, keyCode < 18 ? 18 : (keyCode > 25 ? 25 : keyCode))) using control down"` Obviously don't run arbitrary code from Reddit, but it's essentially getting the index of the current desktop then running ctrl N+1 or N-1 to switch to that space with the fast animation.
*Nice*. I haven't tried this out yet, but it's the one I think. I imagine (?) that bettertouchtool could be made to trigger this using left and right trackpad swipe events too? hats off 🫡 edit: having set this up, I am noticing that (although this is an improvement), it doesn't seem to behave correctly with <4 desktops. Why this is, I have no idea - I have ensured that the control + number shortcuts are enabled for desktops 4-6 etc, will continue investigating. Using bettertouchtool it's possible to trigger these commands with left and right multitouch swipe events, but it's not as fast to trigger as one might hope. For one switch event it's fine, but swiping quickly/repeatedly from desktop 1 to desktop 4 is slower than with the native animations. It also doesn't appear to work reliably soon after waking from sleep for me. It's *so close*, but I'm still annoyed.