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