我使用maxframe.el来最大化我的Emacs帧。
除了我的双头Mac设置(带有23英寸显示器的Macbook Pro 15英寸笔记本电脑)外,它在所有三个主要平台上都运行良好。
最大化Emacs帧时,框架会扩展以填充两个监视器的宽度和较大显示器的高度。
显然,我希望框架最大化以仅填充它所在的显示器。如何使用elisp检测两个监视器的分辨率?
谢谢, 雅各布
编辑:正如Denis指出的那样,设置mf-max-width是一个合理的解决方法。但是(正如我应该提到的)我希望能够在监视器和任何分辨率上运行的解决方案。也许是特定于OSX的特定于Windows特定的w32-send-sys-command风格的东西。
答案 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就好了。)