9

Is there any terminal command I can use to switch directly to a space in OS X 10.6 ?

Something like:

spaces switch 2
cwd
  • 18,788
  • 43
  • 123
  • 162

2 Answers2

17

If you have assigned keyboard shortcuts for switching between Spaces in System Preferences, you can trigger them using AppleScript:

osascript -e 'tell application "System Events" to key code 124 using control down'

This will effectively press Control-Right. Left is 123, Up is 126, and Down is 125.

These are the key codes for the number keys:

1 18
2 19
3 20
4 21
5 23
6 22
7 26
8 28
9 25
0 29


Just assign an alias to that osascript call or wrap it in a shell function.

Daniel Beck
  • 111,893
2

From @Daniel's answer a quick zsh command to switch to a numbered desktop accessible through ctrl + desktopnumber.

switchdesktop() {
    typeset -A desktophash
    desktophash[0]=29
    desktophash[1]=18
    desktophash[2]=19
    desktophash[3]=20
    desktophash[4]=21
    desktophash[5]=23
    desktophash[6]=22
    desktophash[7]=26
    desktophash[8]=28
    desktophash[9]=25
    desktopkey=${desktophash[$1]}
    osascript -e "tell application \"System Events\" to key code $desktopkey using control down"
}
alias switchdesktop=switchdesktop

usage: switchdesktop 5

AsTeR
  • 259