Максимизация рамки Emacs для одного монитора с помощью elisp
Я использую maxframe.el, чтобы максимизировать мои кадры Emacs.
Он отлично работает на всех трех основных платформах, за исключением моей Mac-установки с двумя головками (Macbook Pro 15-дюймовый ноутбук с 23-дюймовым монитором).
При максимизации кадра Emacs рама расширяется, чтобы заполнить ширину обоих мониторов и высоту более крупного монитора.
Очевидно, я хотел бы, чтобы кадр максимизировался, чтобы заполнить только монитор. Как определить разрешения двух отдельных мониторов с помощью elisp?
Спасибо,
Jacob
EDIT: Как указывает Денис, установка mf-max-width является разумным решением. Но (как я уже упоминал) я надеялся на решение, которое работает на обоих мониторах и с любым разрешением. Возможно, что-то OSX-специфично в стиле W32-send-sys-команды Windows.
Ответы
Ответ 1
Я быстро просмотрел ссылку, которую вы предоставили 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))))))
Ответ 2
Работает ли настройка 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."
Ответ 3
Это то, что нужно для вашего оконного менеджера, а не для работы с emacs. (Например, Xmonad отлично справляется с полноэкранными emacs.)