Як максимально покращити кадр Emacs під час запуску?


65

Чи є спосіб збільшити вікно при запуску?

Наразі я натискаю Control+ Windows Key+ Upна клавіатурі, але це дуже клопітно робити це кожного разу.

Я використовую Emacs 24.4 на Ubuntu 12.04.


1
Я не знав комбінації клавіш для максимального використання emacs. Дякую за це, а також відпрацьовано нижче відповідь!
Прасанна

Звідки ви знайшли комбінацію <kbd>![Windows Key][oldwinlogo]</kbd>Це не працює для мене :-(
Prasanna

Відповіді:


70

У мене є ще один метод, який я протестував у Emacs 24.3 та 24.4, а також у Windows та GNU / Linux. Я розмістив у своєму файлі init наступне :

(add-to-list 'default-frame-alist '(fullscreen . maximized))

Я вважаю, що це було трохи змінено з відповіді StackOverflow, яку я знайшов деякий час тому, але я не можу зараз знайти його знову.

Редагування: Ще одним бонусом цього методу є те, що він також застосовується до нових клієнтів, які підключаються до вашого сервера Emacs (наприклад, emacsclient -c).


3
+1 для точної відповіді. Якби я міг знову прийняти це як відповідь - я б справді хотів!
Прасанна

1
Мені подобається використання цього рішення emacsclient, але є деякі кадри, які запускаючи їх максимально, заважають використовувати їх правильно, як- от панель керування едіффа , чи існує рішення для цього?
marcanuy

@marcanuy: Я не знаю про рішення у верхній частині голови, але, можливо, варто поставити нове запитання для цього.
Скотт Велдон

30

Відрегулюйте ...-frame-alistу своєму файлі init, щоб сказати Emacs, як максимізувати кадр. Ви також маєте кілька варіантів, як саме його максимально збільшити.

alist варіанти

У вас є два ...-frame-alistваріанти:

  1. default-frame-alist (як у відповіді @Scott Weldon)
  2. initial-frame-alist

Якщо ви використовуєте default-frame-alist, це дозволить максимально збільшити всі кадри: і перший, і будь-який інший, який ви створюєте. Це може бути не те, чого ти хочеш (а може це: хто я, щоб судити?).

Якщо ви користуєтесь initial-frame-alist, він максимізує лише кадр, який створює Emacs під час запуску, але не торкається жодних наступних кадрів, які ви створюєте.

параметри максимізації

Детальніше про параметри максимізації див. У цьому вузлі посібника . Коротка версія полягає в тому, що ви можете встановити fullscreenпараметр:

  • fullwidth (зробіть рамку якомога ширшою, не торкайтеся вертикалі)
  • fullheight (зробіть рамку якомога вище, не торкайтеся горизонталі)
  • fullboth (встановити висоту та ширину на розмір екрана)
  • maximized (зробити це, ну, максимально)

Різниця між fullbothі maximizedполягає в тому, що ви можете змінити розмір першої за допомогою миші, тоді як другої ви не можете.

приклад

Так, наприклад, ці рядки будуть 1) створювати максимальний початковий кадр та 2) створювати кадри на повну висоту (але не повну ширину) для кожного наступного кадру:

(add-to-list 'initial-frame-alist '(fullscreen . maximized))
(add-to-list 'default-frame-alist '(fullscreen . fullheight))

3
Дійсно, initial-frame-alistце набагато корисніше, ніж default-frame-alistколи використовується такі інструменти, як ediff.
giordano


9

@ Відповідь Костянтина вже стосується того, як цього можна досягти, змінивши свій init-файл (якщо ви використовуєте Emacs 24.4).

Якщо ви запускаєте Emacs з командного рядка, з тире або з пускового пристрою типу Synapse або krunner , ви можете вказати -mmваріант (короткий для --maximized) для досягнення того ж результату:

emacs -mm

Ця -mmопція була вперше представлена ​​в Emacs 23.2 , тому це рішення не обмежується останньою стабільною версією.


Що відрізняє це рішення від інших пропозицій, розміщених тут (всі вони чудові), це те, що воно дозволяє вам залежно від конкретного випадку вирішити, хочете ви, щоб кадр Emacs максимізувався при запуску чи ні.

Якщо ви хочете більш постійне рішення, ви можете встановити aliasкоманду, показану вище, додавши наступне до свого .bashrc:

alias emacs='emacs -mm'

2
Ще одна перевага цього рішення полягає в тому, що emacs починає вже максимізуватися. Обхідні способи вирішення файлів Init змушують його переходити на максимізацію під час запуску, що начебто дратує.
і

1
Щоб додати до цієї відповіді: emacs -fsзапускається Emacs максимізовано на весь екран або максимально збільшено до максимуму.
Teemu Leisti

6

Щоб максимально запустити Emacs, додайте у свій файл init:

;; Start maximised (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-maximized t)

У випадку, якщо ви хочете перейти на повний екран або, як зараз кажуть, режим без відволікання :

;; Start fullscreen (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-fullscreen t)

ПРИМІТКА . Це працює і в Windows.


1

Я використовую наступне:

(when (eq system-type 'gnu/linux)
  (defun x11-maximize-frame ()
    "Maximize the current frame (to full screen)"
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
  (run-with-idle-timer 0.01 nil 'x11-maximize-frame)
  )

(when (eq system-type 'windows-nt)
  (w32-send-sys-command 61488)
)
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.