9
我需要一个命令来在Emacs中创建新框架时运行。到目前为止,我一直在使用after-make-frame-functions
,但这个钩子只能在由make-frame
创建的帧上调用。 我实际上需要一些东西,只要emacsclient -c
命令创建一个新窗口就会运行。用于新框架的Emacs钩子
有没有办法做到这一点?
我需要一个命令来在Emacs中创建新框架时运行。到目前为止,我一直在使用after-make-frame-functions
,但这个钩子只能在由make-frame
创建的帧上调用。 我实际上需要一些东西,只要emacsclient -c
命令创建一个新窗口就会运行。用于新框架的Emacs钩子
有没有办法做到这一点?
我在理解你的问题时有些困难。 Emacs服务器在需要创建新帧时调用make-frame
,所以after-make-frame-functions
也应该在这种情况下工作。那么你的实际问题是什么?
即使Emacs服务器不是创建新框架,您是否希望您的功能运行?如果是这样,请尝试将您的功能添加到server-switch-hook
以及after-make-frame-functions
。
server-switch-hook
是在server.el
中定义的变量。文档:吊钩运行切换到缓冲器Emacs的 服务器时。
是的,你的第一段是正确的。当我执行'make-frame'时,我想要运行的命令完美工作,但当使用'emacsclient -c'创建新框架时,它不起作用。所以我只是假设当我运行'emacsclient -c'时服务器没有调用该钩子。我现在做了更多的测试,结果发现我的命令有问题。对于无意义的问题抱歉。 – Malabarba 2012-04-23 16:13:31
没问题。 [橡皮鸭调试](http://en.wikipedia.org/wiki/Rubber_duck_debugging)在行动! – 2012-04-23 16:19:10
令人惊叹!我向你介绍通过代理进行元橡皮鸭调试的概念,其中有人 - 例如我自己 - 找到与SO完全相同的问题的人,发现问题实际上并不存在。我很感激你们俩。 – leoger 2013-03-13 19:01:08