Мне бы хотелось иметь утилиту, которая сохраняла бы и восстанавливала текущее состояние моего рабочего стола, как сеансы в Firefox. В лучшем случае он заморозит состояние каждого приложения, позиции открытых окон и т. д. и предоставит интерфейс с поддержкой сценариев для их восстановления в любое время так же, как вы их оставили.
Более реалистично, я мог бы составить список открытых приложений, скрыть/минимизировать их, скрыть из дока и т. д., чтобы при их восстановлении (если они все еще были открыты) казалось, что они возобновляются — и чтобы их трудно случайно закрыть.
Как минимум, я мог бы добавлять новую поверхность рабочего стола в Leopard Spaces для каждого сохраненного сеанса и перемещать туда все, используя Spaces как своего рода стек.
Вариант использования:
- Я начинаю работать над чем-то, скажем, над этим вопросом, и поэтому я открываю stackoverflow в Firefox, запускаю XCode и ScriptDebugger, пишу несколько строк кода и понимаю, что застрял, пока не найду ответ.
- Я добавляю событие календаря «Продолжить работу над SessionSaver» в iCal или задачу в OmniFocus
- Я сохраняю текущий сеанс
- Я прикрепляю сценарий AppleScript к событию iCal или задаче OmniFocus, который повторно открывает сеанс, сохраненный на шаге 3.
Я вижу что-то в Carbon об архивировании иерархий окон, но я бы хотел, чтобы это работало в 64-битном Cocoa в Snow Leopard. (Сейчас я использую 10.5.6 на Mac Pro.)
FinderWindowManager делает что-то подобное для окон Finder.