【问题标题】:From x-display-pixel-width in Emacs 23 to display-monitor-attributes-list in Emacs 24从 Emacs 23 中的 x-display-pixel-width 到 Emacs 24 中的 display-monitor-attributes-list
【发布时间】:2014-04-12 02:30:21
【问题描述】:

在 Emacs 23 中,评估

(x-display-pixel-width)

产生当前窗口的宽度。

在 Emacs 24 中,相同的表达式返回所有窗口的组合宽度。

在评估相关但新的和改进的功能时,如何仅返回主/当前窗口的宽度

(display-monitor-attributes-list)

?

【问题讨论】:

  • (window-width) -- 请注意这是window不是 frame。您需要更详细的示例吗?例如,(with-current-buffer (get-buffer ...
  • 我正在寻找像素宽度,而不是字符宽度。另外,我正在寻找(主)监视器的测量值(我在 OS X 上)。这是为了在设置框架之前包含在 .emacs 中。
  • 28.23 坐标和窗口部分的手册怎么样?:gnu.org/software/emacs/manual/html_node/elisp/…

标签: emacs emacs24 emacs23 dot-emacs


【解决方案1】:

看看display-monitor-attribute-list

(显示-监视器-属性-列表和可选显示)

返回 DISPLAY 上的物理监视器属性列表。每个元素 列表的 代表每个物理监视器的属性。这 第一个元素对应于主监视器。

物理监视器的属性表示为一个列表 属性键值如下:

geometry -- 以像素为单位的位置和大小,形式为 (X Y WIDTH HEIGHT) 工作区——工作区的位置和大小,以像素为单位 (X Y WIDTH HEIGHT) 的形式 mm-size -- 宽度和高度以毫米为单位 (WIDTH HEIGHT) frames -- 以物理监视器名称为主的帧列表 (*) -- 物理监视器的名称作为字符串

其中 X、Y、WIDTH 和 HEIGHT 是整数。标有 (*) 的键是 可选。

当最大的帧由物理监视器控制时 框架的区域位于监视器中,或者监视器是 如果框架不与任何物理相交,则最接近框架 监视器。一个中的每个非提示帧(包括不可见帧) 图形显示仅由一个物理监视器控制 时间,尽管它可以跨越多个(或没有)物理监视器。如果 DISPLAY 被省略或为零,它默认为所选帧的 显示。

例如,要查找第一台显示器的宽度,您可以使用:

(nth 4 (assq 'geometry (car (display-monitor-attributes-list))))

【讨论】:

  • 当我在 emacs 24 中尝试你的例子时,我得到eval: Symbol's function definition is void: display-monitor-attributes-list
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多