Як зробити emacs по-справжньому повноекранним при запуску?


9

Я хочу, щоб Emacs був справді максимізований при запуску.

Існують рішення проблеми, які просто роблять ширину вікна екрану emacs. Цього мені недостатньо. Я хочу, щоб вікно emacs було приєднано до правого верхнього кута екрана, так що коли я натискаю на нього мишкою, я закрию emacs, а не Firefox чи Krusader або все, що максимізується у фоновому режимі.

Я намагався це зробити з Квін - але не пощастило.

PS Я використовую Kubuntu, а emacs є доволі свіжим 23.2 або щось подібне.


@user максимізований або повний екран - чого ви хочете? Ваш другий абзац трохи розпливчастий.
David LeBauer

Є деякі рішення, залежні від менеджера вікон. Яку WM ви використовуєте? У Fluxbox я використовую ~/.fluxbox/appsфайл для встановлення максимальних переваг для конкретних програм.
Даніель Андерссон

Я використовую KWM (це за замовчуванням KDE). Він має опцію "максимізовано" - але вікно emacs не є справді максимальним: якщо ви натиснете "x" у верхньому правому куті мишкою - ви закриєте щось інше - не emacs.
Adobe

Відповіді:


7

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

(defun fullscreen ()
       (interactive)
       (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_FULLSCREEN" 0)))

Якщо ви хочете, щоб він запускався під час запуску, ви повинні мати можливість додати

(fullscreen)

твоєму .emacs

EDIT: Читаючи своє запитання, я думаю, що це не те, чого ви хочете. Це буде дійсно повноекранним, не максимальним: у вас не буде жодної кнопки закриття.

Це слід зробити:

(defun fullscreen (&optional f)
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))

Тепер це безпосередньо з http://www.emacswiki.org/emacs/FullScreen


3

Ось два способи досягти того самого:

  1. Псевдонім ваша emacsкоманда emacs -fs. Додайте цей рядок коду до свого .bashrcфайлу у домашній каталог:

    alias emacs='emacs -fs'
    

    Особисто мені не подобається такий підхід, тому що я не хотів би, щоб Emacs весь час запускався на повноекранному режимі і хотів би мати деякий контроль.

  2. Моє рішення: В Ubuntu ви можете призначити комбінацію клавіш на "повноекранному" будь-якому вікні. Це здається найбільш зручним і простим варіантом. Крім того, перевага є тим, що однаковий ярлик також стосується всіх ваших програм.


+1 Також є -mm(короткий для --maximized), який "максимізує перший кадр". Ефекти використання цієї опції трохи менш "драстичні", ніж -fsпараметри (панель заголовків Emacs та панелі ОС залишаються видимими).
itsjeyd

3

Покладіть (w32-send-sys-command ?\xf030) на свій .emacsфайл. Я думаю, це вирішує вашу проблему.

(працює лише в Windows)


Це здорово, тільки я працюю в Linux. Але все ж - іноді мені доводиться працювати і у вікнах. Дякую.
Adobe

Я забув згадати. Це рішення призначене лише для Windows.
Паулу Томе

Так, я бачу w32річ.
Adobe

1

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

;; the following should give fullscreen mode when F11 is depressed
(defun fullscreen ()
 (interactive)
 (set-frame-parameter nil 'fullscreen
              (if (frame-parameter nil 'fullscreen) nil 'fullboth))

Якщо ви хочете, щоб емаки на повноекранному екрані були дуже мінімальними (немає панелі інструментів, панелі прокрутки чи панелі меню, також додайте:

(progn
  (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))  ;; no toolbar
  (menu-bar-mode -1) ;;no menubar
  (scroll-bar-mode -1) ;; no scroll bar
  )
)

0

Я думаю, що emacs поважатиме налаштування gconf, тому ви можете встановити / apps / emacs / maximize, але не знаю, чи допоможе це на Kubuntu - варто спробувати.


0

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

(defun my-frame-toggle ()
    "Maximize/Restore Emacs frame using 'wmctrl'."
    (interactive)
    (shell-command "wmctrl -r :ACTIVE: -btoggle,maximized_vert,maximized_horz"))

а потім прив’яжіть його до ключа:

(global-set-key [(control f4)] 'my-frame-toggle)

Якщо ви хочете почати максимально, ви можете просто додати дзвінок до my-frame-toggleкінця файлу .emacs.


Коли я пишу ваш код, у мій файл .emacs. Він показує помилку аналізатора.
Пратік Сінгал

0

Я знайшов кумедне рішення:

emacs -nw

запускає emacs в консолі - і ви можете максимально збільшити саму консоль!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.