Это сводит меня с ума: я просто хочу, чтобы Emacs максимизировался до любого разрешения экрана, которое у меня было при запуске. В идеале мне нравится кросс-платформенное (Windows и Linux) решение, которое работает на любом разрешении экрана, но я даже не могу заставить его работать только с Windows XP с даже жестко закодированными размерами.
Вот что я пробовал:
- Установка начального кадра-alist с соответствующей высотой/шириной
- Установка значения по умолчанию-frame-alist
- (специфичные для Windows вещи) Отправка сообщения в окна emacs, которые сообщают ему максимизировать с помощью
(w32-send-sys-command 61488)
-
Пробовал эту функцию, которую я нашел где-то:
(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))))))
- Пробовал вышеуказанные методы как в начале, так и в конце моего файла инициализации, чтобы попытаться устранить помехи от других вещей init.
К сожалению, ничего из этого не работает!! Для некоторых из вышеперечисленных я вижу, что мои окна emacs правильно изменяются в течение секунды, прежде чем возвращаться к небольшому размеру по умолчанию. И если я запустил вышеописанные методы после инициализации, то окна emacs правильно изменяют размер. Что здесь происходит в мире?
[p.s. есть другие вопросы SO, но ни один из ответов не работает]
Update:
Ответы заставляют меня думать, что что-то еще в моем файле инициализации вызывает проблему. И действительно! После некоторых попыток и ошибок я нашел преступника. Если я прокомментировал следующую строку, все работает отлично:
(tool-bar-mode -1)
Что в мире делает панель инструментов для максимального увеличения окон?
Итак, теперь вопрос заключается в следующем: как отключить панель инструментов (в конце концов, панель инструментов emacs уродлива и берет драгоценную экранную недвижимость) И максимизируйте окна как в моем файле инициализации? Возможно, ошибка в том, что панель инструментов препятствует размеру окна?
Уточнение: (инструмент-bar-mode -1) отключает панель инструментов, но эта строка мешает максимизации окон Emacs. Поэтому, если я попытаюсь поставить функции, чтобы максимизировать окна и отключить панель инструментов, максимальная часть не сработает; если часть панели инструментов закомментирована, то часть максимизации будет работать нормально. Не имеет значения, какие решения я использую (среди 4, которые я перечислял).
Решение: (или, по крайней мере, то, что работает для меня сейчас)
Вероятно, это ошибка в Emacs. Обходной путь - отключить панель инструментов через реестр, а не в .emac. Сохраните следующее как .reg файл и выполните этот файл в проводнике Windows:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\GNU\Emacs]
"Emacs.Toolbar"="-1"
(Это решение является рабочей версией того, что предложил другой Майкл).