使用elisp将Emacs帧最大化为一个监视器

时间:2008-09-18 15:08:18

标签: emacs editor elisp

我使用maxframe.el来最大化我的Emacs帧。

除了我的双头Mac设置(带有23英寸显示器的Macbook Pro 15英寸笔记本电脑)外,它在所有三个主要平台上都运行良好。

最大化Emacs帧时,框架会扩展以填充两个监视器的宽度和较大显示器的高度。

显然,我希望框架最大化以仅填充它所在的显示器。如何使用elisp检测两个监视器的分辨率?

谢谢, 雅各布

编辑:正如Denis指出的那样,设置mf-max-width是一个合理的解决方法。但是(正如我应该提到的)我希望能够在监视器和任何分辨率上运行的解决方案。也许是特定于OSX的特定于Windows特定的w32-send-sys-command风格的东西。

3 个答案:

答案 0 :(得分:8)

我快速扫描了您提供给maxframe.el的参考文献,我认为您使用的技术与我使用的技术相同。以下代码段对您有帮助吗?


(defun toggle-fullscreen ()
  "toggles whether the currently selected frame consumes the entire display or is decorated with a window border"
  (interactive)
  (let ((f (selected-frame)))
    (modify-frame-parameters f `((fullscreen . ,(if (eq nil (frame-parameter f 'fullscreen)) 'fullboth nil))))))

答案 1 :(得分:4)

自定义`mf-max-width'有效吗?其文件:

"*The maximum display width to support.  This helps better support the true
nature of display-pixel-width.  Since multiple monitors will result in a
very large display pixel width, this value is used to set the stop point for
maximizing the frame.  This could also be used to set a fixed frame size
without going over the display dimensions."

答案 2 :(得分:-2)

这类事情是你的窗口管理员的工作,而不是emacs的工作。 (例如,Xmonad处理全屏emacs就好了。)