5

Я хочу, чтобы сочетание клавиш открывало emacs в развернутом окне. Я пробовал emacs --fullscreen , но это полный экран, а не развернутое окно ... То есть окно emacs покрывает строки меню Ubuntu. emacs -fw получает окно полной ширины, а emacs -fh - окно полной высоты, но если вы добавите оба параметра, он будет читать только второй. На данный момент у меня просто есть другое сочетание клавиш для максимизации окна. Есть ли способ заставить emacs начать работать максимально?

Ubuntu 9.10, emacs 22, если это имеет значение.

4 ответа4

3

У меня есть это в моем .emacs, который я затем связываю с ключом:

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

Затем вы можете нажать Ctrl F4 и переключаться между обычным и полноэкранным режимом (но не прикрывая панель меню Ubuntu и панель в нижней части экрана, имя которой я сейчас отключаю). Чтобы начать таким образом, просто вызовите его:

$ emacs -e "my-frame-toggle"
2

У меня такая же проблема. Нашел ответ в этой теме:http://ubuntuforums.org/showthread.php?t=1619533

В основном из командной строки запускаем emacs с такими параметрами:

  • emacs -fs // если вы хотите, чтобы emacs покрывал весь ваш экран (панель ubuntu)
  • emacs -mm // если вы хотите, чтобы emacs запускался так же, как вы нажали кнопку максимизации (показывает панель ubuntu)

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

1

У меня есть следующие функции в моем .emacs, который сначала определяет коды для отправки оконного менеджера, чтобы максимизировать фрейм на X.org и Win32 соответственно, а затем добавляет это в качестве установочного хука, если применимо:

(defun x-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)))

(defun w32-maximize-frame ()
  "Maximize the current frame (to full screen)"
  (interactive)
  (w32-send-sys-command 61488))

(defun maximize-frame ()
    (if (eq window-system 'w32)
            (w32-maximize-frame)
        (x-maximize-frame)))

(if window-system
    (add-hook 'window-setup-hook 'maximize-frame t))
0

Это может быть то, что вы ищете. Вы также можете жестко закодировать ширину / высоту пикселя для своего экрана и установить это в своем файле .emacs (автор описывает это здесь).

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