!>https://raw.github.com/sdsykes/Change-Space/master/ChangeSpace.png!
h1. Change Space
h4. Navigate OSX Lion desktops as if they were a 2D grid of spaces
h2. Note
This code is no longer maintained, my re-written replacement app is here: "TotalSpaces":http://totalspaces.binaryage.com
TotalSpaces (formerly called ReSpaceApp) is on all fronts a better approach and solution, but Change Space app may continue to work for you.
h2. The problem
In OSX Lion Apple dispensed with the simple and effective 2D spaces grids many people loved and relied on.
In its place, there is the more dynamic concept of 'Desktops', which can be created by the system on the fly, for instance when running a full screen app. Also, the system can re-order the desktops according to your use.
These dynamic features are of little use to power users, who know where their apps and windows are, and like to navigate fast between them. A common layout is a 3x3 grid - then from the central space you can reach 4 others with just one keypress. Very useful for flicking between your code editor, and the browser, and perhaps mail, or iTunes for instance.
h2. The solution
Change Space solves this problem.
It allows you to navigate between the desktops as if they were in a grid, using the cursor keys and a control key combo.
h2. Installation
"Download the latest version from here":https://github.com/sdsykes/Change-Space/downloads then double click to unzip, and drag it into your Applications folder.
BEFORE YOU LAUNCH THE APP make sure you have the right number of desktops set up (eg 9 if you wish to have a 3x3 grid).
In order to make sure you have the right number of spaces (e.g. 9 for a 3x3 grid), add desktops using the left hand side + button when in Mission Control.
In Lion you can turn off the feature 'Automatically rearrange spaces based on the most recent use' in the Mission Control system preferences pane, and I recommend this heartily.
When you first start the app, the preferences window will show. You should select the kind of grid you wish to have (eg 3x3)
When the app is set up you can safely add it to your login items so it starts every time your mac does.
h2. Usage
Change Space has a preferences window, and here you should select the kind of grid you use.
3x3 is the default, but if you use another setting you must of course have the correct total number of desktops set up.
The default keys to change spaces are ctrl-shift arrow keys. You can configure the keys that will be used in the preferences panel.
NOTE: DO NOT BE SURPRISED when your machine starts to cycle through every desktop. This is normal, and it is because the app is working out the numeric identity of each of the desktops. It's quick, and it only has to do this once each time your mac is restarted.
You can assign your applications permanently to a particular desktop by dragging them onto the right desktop, and then right clicking on the app icon in the task bar, and choosing Options->Assign to this desktop.
h2. Known issues
Change Space cannot change to desktop 1 without sending ctrl-1 to the system. Unfortunately this doesn't work when if you are holding the shift key down at the time. So sometimes if you do not release the shift key quickly this does not work. This only affects desktop 1, I recommend you seldom use this one for this reason.
If you change the key mappings of Change Space to ctrl-arrows, please be sure to change the mappings for mission control (in System Preferences->Keyboard->Mission Control) so they do not use the same keys. You will likely get inconsistent behaviour when moving around the horizontal ends of your grid if they are the same.
I have once seen the mapping getting mixed up, and it cycling through the desktops on every space change. If this happens, try deleting ~/Library/Preferences/net.sdsykes.Change-Space.plist and restart the app. At any rate, please report any issues like this in github issues.
h2. Author
Stephen Sykes Twitter: @sdsykes
Special thanks to "Harry Groover":https://github.com/kutothe for the grid graphics code, and for supporting this project. Thanks to LaC, see "stack overflow":http://stackoverflow.com/questions/6768684/osx-lion-applescript-how-to-get-current-space-from-mission-control/6967631#6967631 for the original space id and part of the move space code. Thanks to Dachaz for the hi-res icons.
h2. Donations
!http://pledgie.com/campaigns/16132.png?skin_name=chrome(Click here to donate)!:http://www.pledgie.com/campaigns/16132
h2. Licence
(c) Stephen Sykes 2011
Non-Profit Open Software License 3.0 (NPOSL-3.0)
See LICENCE.txt