我希望当我右击launcher...icon..and选择quit..and选择文件退出时发生这种情况。我希望这个命令是运行前的emacs工作组,当我右击启动图标,选择退出,然后这个命令“wg- exits....so -exits....so”运行,然后Emacs退出..我已经尝试学习钩子,但不知道如何添加one....If有人可以给我确切的代码,我放到我的初始化文件中,我会非常grateful....tried绑定一个函数到一个键,但得到奇怪的命令p错误。
发布于 2013-09-07 20:33:46
代码如下:
(add-hook 'kill-emacs-hook
(lambda ()
(wg-update-workgroup)))更新
因为wg-update-workgroup需要一个参数,所以代码似乎不能为您工作。你必须自己测试它,因为我并不是真的想熟悉这个包。
解决方案1:
(add-hook 'kill-emacs-hook
(lambda ()
(wg-update-all-workgroups)))解决方案2:
(add-hook 'kill-emacs-hook
(lambda ()
(call-interactively 'wg-update-workgroup)))更新:忽略上面的所有内容:)
我很确定这就是你想要的:
(setq wg-query-for-save-on-emacs-exit nil)
(push (lambda()(or (ignore-errors
(wg-update-all-workgroups-and-save)) t))
kill-emacs-query-functions) 第一条语句删除了关于在退出时保存工作组的极其烦人的y/n查询。第二条语句在退出时无条件地保存所有内容。
仅列出我的完整配置:
(require 'workgroups)
(workgroups-mode 1)
(setq wg-query-for-save-on-emacs-exit nil)
(wg-load "~/wg")
(push (lambda()(or (ignore-errors
(wg-update-all-workgroups-and-save)) t))
kill-emacs-query-functions)发布于 2013-09-08 09:41:08
你被弄糊涂了是对的。问题是这样的:当Emacs开始退出时,workgroups.el会比'kill-emacs-hook‘更早地进行自我清理。
(add-hook 'kill-emacs-query-functions 'wg-update-all-workgroups)然后钩子变量应该看起来像这样:
(wg-update-all-workgroups wg-emacs-exit-query)如果像我一样,在给定的工作组文件中保存了多个工作组,我建议使用‘wg-update-all- workgroup’而不是'wg-update-workgroup‘。
IMO workgroups.el是最好的Emacs会话管理器。一个新的人刚刚接管了它。令我兴奋的是,新版本可能会有更多功能:
https://stackoverflow.com/questions/18673301
复制相似问题