如何在 Emacs 中找到系统的显示尺寸?

And*_*Eve 6 emacs pixel screen-size

我在多台机器、操作系统和平台上使用相同的 .emacs。我希望 Emacs 在调用时的默认帧大小与可用的屏幕大小相关(例如,96 行在 1600x1200 桌面屏幕上工作得很好,但在 1280x800 笔记本电脑上我需要指定不超过 68 行)。

是否有一个 emacs-lisp 表达式可以返回系统屏幕的宽度和高度?

更新:我刚刚发现了一个类似的问题,但由于某种原因,在 Windows XP 系统上的 GNU Emacs 23.2 中找不到 (x-display-pixel-width) 和 (display-pixel-width) 。继续研究...

小智 3

我在 XP Pro 上运行 Gnu Emacs 23.2.1,其功能

(x-display-pixel-width)
Run Code Online (Sandbox Code Playgroud)

(x-display-pixel-height) 
Run Code Online (Sandbox Code Playgroud)

都工作得很好。它们是 c 源代码的一部分,应该存在。

你可以在 emacs 信任的终端之外运行它吗?

这是我当前的 emacs 的文档:

x-display-pixel-height是“C 源代码”中的内置函数。

(x-display-pixel-height &optional TERMINAL)
Run Code Online (Sandbox Code Playgroud)

返回 X 显示终端的高度(以像素为单位)。可选参数 TERMINAL 指定要询问的显示。TERMINAL 应该是终端对象、框架或显示名称(字符串)。如果省略或为零,则代表所选帧的显示。

另外,如果您感兴趣的话,我还有一整套便捷函数来帮助调整 emacs 框架的大小和移动。

  • 它们不是交互功能。您可以使用 M-: (x-display-pixel-height) RET 调用它们 (3认同)