2010-06-16 75 views
24

我已经开始在30英寸显示器上编码,并且想知道是否可以将小缓冲区移动到emacs屏幕的顶部?谷歌搜索没有显示任何东西。是否可以将emacs minibuffer移动到屏幕的顶部?

干杯 Nimai Etheridge的

+4

有趣。我不确定我是否会使用它(迷你缓冲器已经在我的窗户底部超过20年了...),但非常有趣的想法。 – dmckee 2010-06-16 00:35:46

回答

8

查看default-minibuffer-frameinitial-frame-alist变量的文档。这听起来像你可能能够为你的小型缓冲器(你可以放置在屏幕的顶部)有一个单独的框架,然后生成利用它的小型无缓冲帧。

注意,在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) 
     ))) 

当然,您也可以将此与scottfrazer将模式线移动到顶端的方法结合使用。

这可能可以在window-setup-hook

你还应该看看内置的frame.el和dframe.el库。像dframe-reposition-frame这样的函数可以提供一种方便的方式,将小缓冲区框架“附加”到活动编辑框的顶部。

变量minibuffer-auto-raise也可以配置为每当激活小型缓冲器时提高小型缓冲器帧,这可以减轻在其余时间使其可见的需要。

+0

欢呼的队友,今晚我会研究它,让我知道如果我找到有用的东西 – nimms 2010-08-10 01:49:15

7

我敢肯定你不能移动迷你缓冲区本身,而是你可以排序的-ISH-使模线在最前面:

(setq-default header-line-format mode-line-format) ; Copy mode-line 
(setq-default mode-line-format nil) ; Remove mode-line 

这将覆盖诸如使用标题行的Info之类的东西,但它可能与在不破坏C源代码的情况下获得的近似。

相关问题