3

我很想有一个实用程序来保存和恢复我当前的桌面状态,就像 Firefox 中的会话一样。充其量,它会冻结每个应用程序的状态、打开的窗口位置等,并提供一个可编写脚本的界面来随时恢复它们,就像你离开它们一样。

更现实地说,我可以列出打开了哪些应用程序、隐藏/最小化它们、从 Dock 中隐藏它们等,以便恢复它们(如果它们仍然打开)似乎会恢复它们 - 这样它就会很难不小心关闭它们。

最起码,我可以为每个保存的会话向 Leopard Spaces 添加一个新的桌面表面,并将所有内容移到那里,使用 Spaces 本身作为一种堆栈。

用例是:

  1. 我开始做一些事情——比如说,这个问题——所以我在 Firefox 中打开了 stackoverflow,我启动了 XCode 和 ScriptDebugger,我写了几行代码,然后意识到我被困住了,直到我找到答案
  2. 我将“继续使用 SessionSaver”日历事件添加到 iCal,或将任务添加到 OmniFocus
  3. 我保存当前会话
  4. 我将 AppleScript 附加到 iCal 事件或 OmniFocus 任务,它将重新打开我在步骤 3 中保存的会话

我在 Carbon 中看到了一些关于归档窗口层次结构的内容,但我希望它能够在 Snow Leopard 中的 64 位 Cocoa 中工作。(我目前在 Mac Pro 上使用 10.5.6。)

FinderWindowManager对 Finder 窗口执行类似的操作。

4

3 回答 3

1

如果您想冻结应用程序的状态,是挂起/休眠的作用吗?

编辑:刚刚意识到您要存档的内容。我正在使用 Linux,如果我想要这样的东西,我会开始一个新的 X 会话。

于 2008-12-27T16:17:36.410 回答
1

你可以用虚拟机做这样的事情,但显然会有性能损失,我不确定你是否可以在虚拟机下运行 Leopard 本身。(您只需暂停虚拟机复制它,然后重新启动它)。

当然,为操作系统本地执行此操作将需要大量存储空间,因为您必须复制内存和整个硬盘驱动器(因为对硬盘驱动器的更改可能与保存的状态不兼容)。

我想在未来的某个时候,可以使用 ZFS 完成类似的事情。

于 2008-12-27T16:45:53.343 回答
0

我最近看到了一些尝试...

重新启动

工作集

于 2009-05-29T20:50:49.123 回答