9

Я хочу, чтобы при запуске emacs был максимально развернут.

Существуют решения этой проблемы, которые просто увеличивают ширину окна emacs. Это не достаточно для меня. Я хочу, чтобы окно emacs было пристыковано к правому верхнему углу экрана, чтобы, когда я нажимал там мышью, я закрывал emacs, а не Firefox, Krusader или что-либо еще, развернутое в фоновом режиме.

Я пытался сделать это с Kwin - но не повезло.

PS Я использую Kubuntu, и emacs довольно свежий 23.2 или что-то в этом роде.

7 ответов7

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

РЕДАКТИРОВАТЬ: Перечитывая ваш вопрос, я думаю, что это не то, что вы хотите. Это будет действительно полноэкранный, а не развернутый: у вас не будет кнопки закрытия.

Это следует сделать:

(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

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

(работает только на Windows)

2

Вот два не-Лиспских способа добиться того же:

  1. Псевдоним ваши emacs команды для emacs -fs Добавьте эту строку кода в ваш файл .bashrc в вашем домашнем каталоге:

    alias emacs='emacs -fs'
    

    Лично мне не нравится этот подход, потому что я не хотел бы, чтобы Emacs запускался в полноэкранном режиме все время и хотел бы некоторого контроля.

  2. Мое решение: в Ubuntu вы можете назначить сочетание клавиш для «полноэкранного» любого окна. Это кажется наиболее удобным и простым вариантом. Кроме того, он имеет то преимущество, что тот же ярлык также применяется ко всем вашим приложениям.

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))

Если вы хотите, чтобы полноэкранные emacs были минимальными (без панели инструментов, полосы прокрутки или строки меню, также добавьте:

(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 -nw

запускает emacs в консоли - и вы можете развернуть консоль сама!

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.

0

Я думаю, что emacs будет уважать настройки gconf, поэтому вы можете установить /apps /emacs /maximize, но не знаете, поможет ли это в Kubuntu - стоит попробовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .