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