【问题标题】:Explicitly Setting Size of an Emacs Window显式设置 Emacs 窗口的大小
【发布时间】:2013-08-26 03:43:01
【问题描述】:

如何(或尝试)将 Emacs 窗口的窗口大小(而不是框架大小)设置为特定值?我知道 Emacs 的适合内容的功能,但没有一个允许我设置精确的高度。我知道只有在我正在调整的维度上存在其他窗口时才能执行此操作。我需要它来自动调整我的编译缓冲区中的高度(当然要达到某个阈值,例如 frame-height() 的 2/3)以适应编译器/解释器输出的消息行数。

目前为止

  (balance-windows (get-buffer-window compilation-buffer))
  (fit-window-to-buffer (get-buffer-window compilation-buffer)
                        (/ (frame-height) 2))

但由于某种原因,当编译窗口较小时,第一条语句不起作用。也就是编译窗口太大时代码可以正常工作,而编译窗口太小时代码就不行了。

【问题讨论】:

    标签: emacs compilation height elisp


    【解决方案1】:
    1. 获取要更改的窗口的当前高度。
    2. 从当前高度计算所需的变化:增量。
    3. 将增量传递给enlarge-window

    例如,

    (let* ((curr-ht  (window-height window))
           (delta    (- DESIRED-HEIGHT curr-ht)))
      (save-excursion
        (save-selected-window (select-window window)
                              (enlarge-window delta))))      
    

    【讨论】:

      猜你喜欢
      • 2010-09-10
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 2011-09-13
      • 1970-01-01
      相关资源
      最近更新 更多