我很想有一个实用程序来保存和恢复我当前的桌面状态,就像 Firefox 中的会话一样。充其量,它会冻结每个应用程序的状态、打开的窗口位置等,并提供一个可编写脚本的界面来随时恢复它们,就像你离开它们一样。
更现实地说,我可以列出打开了哪些应用程序、隐藏/最小化它们、从 Dock 中隐藏它们等,以便恢复它们(如果它们仍然打开)似乎会恢复它们 - 这样它就会很难不小心关闭它们。
最起码,我可以为每个保存的会话向 Leopard Spaces 添加一个新的桌面表面,并将所有内容移到那里,使用 Spaces 本身作为一种堆栈。
用例是:
- 我开始做一些事情——比如说,这个问题——所以我在 Firefox 中打开了 stackoverflow,我启动了 XCode 和 ScriptDebugger,我写了几行代码,然后意识到我被困住了,直到我找到答案
- 我将“继续使用 SessionSaver”日历事件添加到 iCal,或将任务添加到 OmniFocus
- 我保存当前会话
- 我将 AppleScript 附加到 iCal 事件或 OmniFocus 任务,它将重新打开我在步骤 3 中保存的会话
我在 Carbon 中看到了一些关于归档窗口层次结构的内容,但我希望它能够在 Snow Leopard 中的 64 位 Cocoa 中工作。(我目前在 Mac Pro 上使用 10.5.6。)
FinderWindowManager对 Finder 窗口执行类似的操作。