看看default-minibuffer-frame和initial-frame-alistvars 的文档.听起来你可以为你的迷你缓冲区(你可以在屏幕的顶部放置一个单独的框架),然后生成利用它的迷你无框架.
请注意,在initial-frame-alist其中声明"如果值要求没有迷你缓冲区的帧,并且您没有自己创建迷你缓冲帧,则会根据minibuffer-frame-alist" 创建一个迷你缓冲帧,这听起来就像所需要的那样.
有一些方法可以保存和恢复帧配置,所以如果这样可行,你可以在emacs启动时自动重新创建布局.
编辑:
下面使用此框架排列的非常基本的示例/概念验证.在删除使用它的帧之前,不能删除迷你缓冲帧.当你做最大化编辑器框架之类的事情时,你会遇到麻烦,所以当然有一些工作要做,试图让这个系统以更加无缝的方式工作.
(setq default-minibuffer-frame
(make-frame
'((name . "minibuffer")
(width . 80)
(height . 1)
(minibuffer . only)
(top . 0)
(left . 0)
)))
(setq new-frame
(make-frame
'((name . "editor")
(width . 80)
(height . 30)
(minibuffer . nil)
(top . 50)
(left . 0)
)))
Run Code Online (Sandbox Code Playgroud)
当然,您也可以将此与scottfrazer将模式线移动到顶部的方法结合起来.
这可能是在window-setup-hook?
您还应该查看内置的frame.el和dframe.el库.类似的功能dframe-reposition-frame可以提供一种方便的方法来将迷你缓冲框架"连接"到活动编辑框架的顶部.
该变量minibuffer-auto-raise还可以被配置为每当迷你缓冲器被激活时升高迷你缓冲器帧,这可以减少在其余时间使其可见的需要.
我很确定你不能移动迷你缓冲器本身,但是你可以将模式线放在最上面:
(setq-default header-line-format mode-line-format) ; Copy mode-line
(setq-default mode-line-format nil) ; Remove mode-line
Run Code Online (Sandbox Code Playgroud)
这将覆盖使用标题行的Info之类的内容,但它可能会在没有黑客攻击C源的情况下尽可能接近.
| 归档时间: |
|
| 查看次数: |
3835 次 |
| 最近记录: |