I’m looking for an easy way to switch contexts or workspaces. Not physical GTD-contexts, but tasks on my mac. For example, if I’m working on Project A and have a few browser tabs & Sublime Text open, then I finish what I’m working on I’d like to switch to Project B that uses different websites, PhpStorm instead of Sublime Text, and also has SQLite. Ideally when I switch to Project B the Project A stuff goes away somehow, (probably quits), so things aren’t too cluttered.
It would also be useful to be able to save state for workspaces - so next time I go back to Project A any tabs and any extra apps that I opened while working on it are restored. Chrome Profiles, (or even better, the Firefox equivalent), might be a good way to manage this.
Finally it might be worth having something that’ll close certain distracting apps, (Safari, where most non-productive browsing happens, is a good candidate), and maybe even switches my default browser to the one best suited for the project, (not Safari, so if I click a link in an E-mail I don’t have Twitter or YouTube appear in restored tabs).
I found David’s post on window management with Keyboard Maestro, and it looks like I can get a lot of the way there with that, but I’m not sure about saving the current state of a workspace.