2

我有两个显示器设置(运行 Ubuntu)。

Emacs Lisp 函数 display-pixel-width 为我提供了两个监视器的组合宽度。如何获取当前监视器的宽度(即显示当前帧的监视器)?

4

2 回答 2

12

如果您使用的是 24.3 或更早版本:

display-pixel-width是 `frame.el' 中编译的 Lisp 函数。

(显示像素宽度和可选显示)

返回 DISPLAY 屏幕的宽度(以像素为单位)。对于字符终端,每个字符都算作一个像素。

此外,如果您使用的是 24.4 或更高版本:

**添加了多显示器支持

*** 新功能display-monitor-attributes-listframe-monitor-attributes 可用于获取有关多显示器设置中每个物理显示器的信息。

使用外部进程

您还可以解析xwininfoxrandr(使用call-process)的输出。

最大化 emacs

最后,您可以最大化 emacs(以交互方式或使用modify-frame-parameters;24.4 版也有toggle-frame-fullscreenand )并使用toggle-frame-maximizedframe-pixel-heightandframe-pixel-width查询其帧大小。

也可以看看

  1. 如何在 Emacs 中找到我的系统的显示大小?
  2. 我可以检测 Emacs 中的显示尺寸/分辨率吗?
于 2013-05-10T14:03:56.963 回答
1

display-pixel-width接受一个参数让您指定显示。从其文档(C-h f display-pixel-width RET):

(显示像素宽度和可选显示)

返回 DISPLAY 屏幕的宽度(以像素为单位)。对于字符终端,每个字符都算作一个像素。

还有类似的x-display-pixel-width,如果上面没有,它可能会起作用。

于 2013-05-10T13:14:49.033 回答