2

我试图弄清楚如何使用 Emacs 代码浏览器 (ECB),你可以用它做的一件事是设置 ecb-windows-width 来决定 ecb 窗口的宽度。问题是这个序列:

  1. 屏幕上弹出框架。
  2. ecb-activate 被调用,根据 ecb-windows-width 进行缩放。
  3. 默认帧列表参数启动,帧被调整大小。

问题是由于这个顺序,ecb 窗口的宽度是在框架调整大小之前设置的,然后不会被缩放。

所以我想运行ecb-redraw-layout(或者理想情况下只是ecb-activate),但它必须在#3之后发生。否则,某种 ecb-dynamic-width-scale 选项也可以使用。

对于它的价值,ecb-auto-activate 不起作用,所以我不知道这是否能解决它。

4

2 回答 2

2

看来我找到了解决方法。

  1. 将 ecb-fix-window-size 设置为 true。
  2. 当框架加载时,调用 ecb-activate 并且 ecb 窗口与框架大小成比例地缩放。
  3. 然后 default-frame-alist 启动并调整框架大小,但 ecb 窗口具有固定大小并且不会缩放。

Quite hackish because you're setting the width according to the default frame size that comes up first, not the size you actually use. But oh well.

于 2009-05-17T23:34:04.587 回答
1

我不熟悉 ECB,但after-make-frame-functions可能有助于运行您想要的功能(或运行一些您想对 ecb 框架执行特殊操作的钩子函数)。

after-make-frame-functions是接受一个参数(新创建的框架)的函数列表,并在创建框架后运行。这不适用于初始 emacs 框架(在启动时),因为您的 .emacs 是在框架创建后读取的。

于 2009-05-17T22:56:27.533 回答