获取Emacs Lisp中当前监视器的宽度

oz1*_*1cz 2 emacs elisp

我有一个双显示器设置(运行Ubuntu).

Emacs Lisp函数display-pixel-width给出了两个显示器的组合宽度.如何获得当前监视器的宽度(即显示当前帧的监视器)?

sds*_*sds 12

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

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

(display-pixel-width&optional DISPLAY)

返回DISPLAY屏幕的宽度(以像素为单位).对于字符终端,每个字符计为单个像素.

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

**增加了多显示器支持.

***新功能display-monitor-attributes-list,frame-monitor-attributes 可用于在多显示器设置上获取有关每个物理显示器的信息.

使用外部流程

您还可以解析xwininfo或xrandr(使用call-process)的输出.

最大化emacs

最后,您可以最大化emacs(交互式或使用modify-frame-parameters;版本24.4也有toggle-frame-fullscreen和toggle-frame-maximized)并使用frame-pixel-height和frame-pixel-width查询其帧大小.

也可以看看

  1. 如何在Emacs中找到系统的显示尺寸?
  2. 我可以在Emacs中检测显示大小/分辨率吗?