Emacs 调整EmacClient的EchoArea

Emacs 调整EmacClient的EchoArea,emacs,emacs24,kde,Emacs,Emacs24,Kde,我面临一个奇怪的问题。根据更改emacs的KDE窗口规则后,即创建了一个特殊的窗口设置: 默认情况下,当字体大小大于115(1/10磅)时,echoarea(与minibuffer共享的区域)的大小将加倍: , 正常情况下,应该是这样的: 此外,只有当EmacClient最大化且没有菜单栏时才会发生这种情况(完全屏蔽或未最大化或使用菜单栏都可以)。也许这只是KDE的问题?但我找不到其他方法来完全最大化KDE,而不创建特殊的窗口设置 当然,一个解决办法是将字体大小设置为最多115,但在我的13

我面临一个奇怪的问题。根据更改emacs的KDE窗口规则后,即创建了一个特殊的窗口设置:

默认情况下,当字体大小大于115(1/10磅)时,echoarea(与minibuffer共享的区域)的大小将加倍:

,

正常情况下,应该是这样的:

此外,只有当EmacClient最大化且没有菜单栏时才会发生这种情况(完全屏蔽或未最大化或使用菜单栏都可以)。也许这只是KDE的问题?但我找不到其他方法来完全最大化KDE,而不创建特殊的窗口设置

当然,一个解决办法是将字体大小设置为最多115,但在我的13.3 ultrabook上看起来太小了,我通常将其设置为125

所以我想知道是否有一种方法可以通过emacs设置来调整EchoArea的大小(或者改变EchoArea的字体大小)?我尝试过调整minibuffer的字体大小,但它不起作用,因为只有minibuffer字体被更改,而Echoarea不受影响

我正在使用Emacs24.3

谢谢

解释 Emacs无法完全使用任意屏幕大小,因为它(在大多数情况下)显示一个字符网格

作为一个简单的例子,考虑每个10×10像素的字符,并将1024的屏幕属性显示768。您将有四个像素的宽度和八个像素的高度,这是Emacs无法使用的

您链接到的文章是关于将Emacs强制设置为特定屏幕大小的。从页面:

一旦您尝试最大化窗口,emacs会将自己的大小调整到屏幕的较小部分。这是因为emacs拒绝KWin给出的几何体,因为它不是一个字符宽度/高度的整数倍

当您告诉KDE强制使用特定的大小时,Emacs框架(非Emacs术语中的“窗口”)将是您想要的大小,但其中的窗口(非Emacs术语中的“拆分”)可能不适合。这通常会导致屏幕底部的“浪费空间”,就像您看到的那样

正如您所注意到的,更改字体大小可以得到不同的结果。例如,如果字符宽度为8像素,则不会浪费任何水平空间,因为1024平均除以8(128倍)

类似地,全屏显示和启用菜单栏都会改变Emacs可用于其窗口的垂直空间量

变通办法
一个解决方法可能是调整KDE任务栏的大小。我相信它可以调整单像素粒度。如果您一次将其缩小几个像素,您应该会发现一个小的调整,这将使Emacs更有效地使用其空间。

a您建议,您可以尝试更改minibuffer的字体大小:

(添加挂钩“迷你缓冲区设置挂钩”我的迷你缓冲区设置)
(取消我的小型缓冲区设置()
(设置(使局部变量的面重新映射)
“((默认值:高度0.9)))
(via)


这将使字体大小稍微小一点。试着调整高度,看看它是否能解决问题…

谢谢,这很有意义。我尝试了更大的字体,使用13.5pt,echoarea会突然恢复正常。