检测Emacs窗口已经拆分

sli*_*cki 6 emacs configuration elisp

如何检测Emacs窗口是否已被拆分?

在我的.emacs档案中,我有:

(when (display-graphic-p)
  (set-frame-size (selected-frame) 166 85)
  (split-window-horizontally))
Run Code Online (Sandbox Code Playgroud)

这允许我并排放置两个缓冲区,每个缓冲区恰好有80个字符宽.

每隔一段时间我就会更改我的.emacs文件,并希望将其重新加载到位,所以我M-x load-file在我的.emacs文件上运行,然后我在那个窗口重新拆分.

是否有某种命令可以调用以检查框架是否已经拆分,只有(split-window-horizontally)在没有时才调用?就像是:

(when (window-is-root)
  (split-window-horizontally))
Run Code Online (Sandbox Code Playgroud)

要么

(when (not (window-is-already-split))
  (split-window-horizontally))
Run Code Online (Sandbox Code Playgroud)

Tre*_*son 10

window-list 将返回一个窗口列表(对于当前帧),所以你应该能够做到:

(when (= (length (window-list)) 1)
  (split-window-horizontally))
Run Code Online (Sandbox Code Playgroud)

查看windows相关文档.