Windows和Minibuffer浮在框架上

时间:2009-12-06 18:48:09

标签: emacs

当我启动Emacs时,它的窗口及其迷你缓冲区会在主框架上浮动,留下很多空白空间(请参阅:herehere)。知道发生了什么以及如何解决它?

我在Xmonad上使用emacs版本23.1.1

谢谢!

5 个答案:

答案 0 :(得分:1)

在shell模式下进行TAB扩展时偶尔也会遇到同样的问题。我最终没有一个空的迷你buf,它通常有来自shell的所有内容扩展。到目前为止,我发现的唯一解决方案是终止当前的 shell 缓冲区

答案 1 :(得分:1)

您可以尝试C-l(重新定位 - 上下)。多年来我一直使用它作为一个非常可靠的“重新绘制”操作,它将清除框架上发生的各种碎屑。当你没有窗户系统时,它会更有帮助。

答案 2 :(得分:1)

看起来Emacs与您的窗口管理器之间的奇怪互动。就好像Emacs将自己配置为在其活动窗口中具有一定数量的行和列,但是窗口管理器分配它的帧更大。

你可以尝试在没有Xmonad的情况下运行X(即只运行startX)然后运行Emacs吗?你不会得到框架装饰,但你仍然可以使用xterm启动它,看看它分配的“自然”大小。使用相同的Emacs配置,可以将其缩小到Xmonad的某些问题。

从屏幕截图来看并不明显,因为一个肯定是在GUI模式下,而另一个(绿色黑色)看起来像是在文本模式下。如果强制它以文本模式(emacs -nw)运行,它是否会占用相同的大小?在shell中,普通命令是否占用分配窗口的整个大小?

shell变量COLUMNSLINES是否设置正确?它们是否与窗口尺寸相匹配?假设您正在运行bashshopt checkwinsize是否已启用?常规命令(例如ls是否会在预期边距处换行并滚动以使用整个窗口?

在使GUI模式工作之前,确保正确配置文本模式是值得的。我有一种预感Xmonad管理其窗口大小的方式可能是罪魁祸首,如果它是“强迫”窗口在某些安排中平铺,并且没有正确的X提示被发送。但是 - 现在这只是假设......

答案 3 :(得分:0)

这部分有效(取自here):

 (defun fullscreen ()
    (interactive)
    (set-frame-parameter nil 'fullscreen
                         (if (frame-parameter nil 'fullscreen) nil 'fullboth)))

(add-hook 'emacs-startup-hook 'fullscreen)

窗口get corrected,虽然迷你缓冲区仍然较大than the usual

答案 4 :(得分:0)

听起来像个臭虫,对我来说。考虑报告:M-x report-emacs-bug。尝试从emacs -Q开始提供食谱。