Подтвердить что ты не робот

Максимизация рамки Emacs для одного монитора с помощью elisp

Я использую maxframe.el, чтобы максимизировать мои кадры Emacs.

Он отлично работает на всех трех основных платформах, за исключением моей Mac-установки с двумя головками (Macbook Pro 15-дюймовый ноутбук с 23-дюймовым монитором).

При максимизации кадра Emacs рама расширяется, чтобы заполнить ширину обоих мониторов и высоту более крупного монитора.

Очевидно, я хотел бы, чтобы кадр максимизировался, чтобы заполнить только монитор. Как определить разрешения двух отдельных мониторов с помощью elisp?

Спасибо, Jacob

EDIT: Как указывает Денис, установка mf-max-width является разумным решением. Но (как я уже упоминал) я надеялся на решение, которое работает на обоих мониторах и с любым разрешением. Возможно, что-то OSX-специфично в стиле W32-send-sys-команды Windows.

4b9b3361

Ответ 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.)