调整Emacsclient的EchoArea大小

时间:2014-01-09 23:20:51

标签: emacs emacs24 kde

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

当字体大小大于115(1/10磅)时,echoarea(与迷你缓冲区共享的区域)的大小默认加倍:

enter image description here

虽然通常它应该是这样的:

enter image description here

此外,只有当emacsclient最大化且没有菜单栏时才会出现这种情况(当完全筛选或没有最大化或菜单栏时它会很好。)也许这只是KDE的一个问题?但是在没有创建特殊窗口设置的情况下,我无法找到完全最大化KDE的其他方法。

当然,一种解决方法是将字体大小设置为最多115,但在我的13.3超极本上看起来太小了,我通常将其设置为125.

所以我只是想知道是否有办法通过emacs设置调整EchoArea(或更改EchoArea的字体大小)的大小?我尝试调整迷你缓冲区的字体大小,但它不起作用,因为只有在Echoarea不受影响时才更改迷你缓冲区字体。

我正在使用emacs 24.3。

谢谢!

2 个答案:

答案 0 :(得分:1)

说明

Emacs无法完全使用任意屏幕尺寸,因为它(大多数情况下)会显示一个字符网格。

作为一个简单的例子,考虑每个10乘10像素的字符,以及1024乘768的屏幕空间。你将有4个像素的宽度和8个像素的高度,Emacs无法使用。

您链接的文章是关于强制将Emacs转换为特定的屏幕尺寸。从页面:

  

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

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

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

同样,全屏显示并启用菜单栏都会改变Emacs可用于其窗口的垂直空间量。

解决方法

一种解决方法可能是调整KDE任务栏的大小。我相信它可以用单像素粒度进行调整。如果你一次调整一个像素,你应该找到一个小调整,使Emacs更有效地利用它的空间。

答案 1 :(得分:0)

你建议,你可能会尝试改变迷你缓冲区的字体大小:

(add-hook 'minibuffer-setup-hook 'my-minibuffer-setup)
(defun my-minibuffer-setup ()
       (set (make-local-variable 'face-remapping-alist)
          '((default :height 0.9))))

(通过Altering the font size for the Emacs minibuffer separately from default emacs?

这会使字体大小变小。尝试玩高度,看看它是否可以解决问题......

相关问题