Полноэкранный Emacs в OSX

12

Есть ли способ использовать Emacs в полноэкранном режиме в OSX.

В настоящее время я использую Emacs с http://emacsforosx.com/

Редактировать : Этот вопрос больше не актуален с момента выпуска Emacs версии 24.4. Пожалуйста, смотрите принятый ответ.

licorna
источник
1
Что ж, если вы просто используете emacs в терминале, вы можете сделать окно терминала полноэкранным.
Billjk

Ответы:

9

Эта функция присутствует в Emacs 24.4. Из файла NEWS:

Изменения в Emacs 24.4 в несвободных операционных системах

...

Улучшена полноэкранная поддержка в Mac OS X.

Поддерживаются как родной (> = OSX 10.7), так и полноэкранный «старый стиль». Настройте `ns-use-native-fullscreen ', чтобы изменить стиль. Для> = 10,7 по умолчанию используется native.

И:

Новые команды toggle-frame-fullscreenи toggle-frame-maximized, привязанные к <f11>и M-<f10>, соответственно.

legoscia
источник
1
Как оригинальный автор maxframe.el, я полностью поддерживаю этот ответ.
Райан МакГири
1
Благодарю. toggle-frame-fullscreenпомог выйти из полноэкранного состояния на отдельном рабочем столе, где не было бы ничего более очевидного - например, нет значка закрытия окна на созданном рабочем столе.
khhughes
10

Сборка Emacs, распространяемая через http://emacsforosx.com , не включает полноэкранный вариант.

Если вы используете менеджер пакетов Homebrew , вы можете установить Emacs с полноэкранной поддержкой через

brew install emacs --cocoa

Затем вы захотите связать Homebrew Emacs.appс одним в вашем /Applicationsкаталоге:

ln -s `brew --prefix`/Cellar/emacs/23.2/Emacs.app /Applications/Emacs.app

Теперь вы сможете использовать полноэкранный режим через ns-toggle-fullscreen.

andrewsardone
источник
2
Между прочим, этот ответ больше не применим к emacs 24+, более новый ответ см. на сайте superuser.com/a/599029/78325 .
Аарон Дженсен
4

Если вы хотите сохранить свою версию GNU Emacs, вот два возможных проверенных подхода.

Из мыслей Амита: Emacs: полноэкранный режим в Mac OS X для GNU (Cocoa / Nextstep) Emacs 23:

Я использую исправленную версию maxframe.el и эту функцию со страницы EmacsWiki:

(defvar maxframe-maximized-p nil "maxframe is in fullscreen mode")
(defun toggle-maxframe ()
  "Toggle maximized frame"
  (interactive)
  (setq maxframe-maximized-p (not maxframe-maximized-p))
  (cond (maxframe-maximized-p (maximize-frame))
        (t (restore-frame))))
(define-key global-map [(alt return)] 'toggle-maxframe)

К сожалению, это не скрывает строку меню или заголовок.

Другая статья рекомендует:

Если вы хотите сделать GNU Emacs полноэкранным, вам нужно сделать три вещи:

  1. Отключить панель инструментов.
    Это можно выполнить, выполнив (внутри Emacs)(tool-bar-mode -1)
  2. Отключить строку меню.
    Это можно сделать, выполнив(menu-bar-mode -1)
  3. Перейти в полноэкранный режим
    Вы должны выполнить(set-frame-parameter nil 'fullscreen 'fullboth)

Если вы хотите всегда отключать панель инструментов и строку меню, как я, и хотите, чтобы вы могли переходить на полный экран нажатием клавиши (например, F11), добавьте это в ваш .emacs:

;; F11 = Full Screen
(defun toggle-fullscreen (&optional f)
  (interactive)
  (let ((current-value (frame-parameter nil 'fullscreen)))
    (set-frame-parameter nil 'fullscreen
      (if (equal 'fullboth current-value)
        (if (boundp 'old-fullscreen) old-fullscreen nil)
        (progn (setq old-fullscreen current-value)
          'fullboth)))))
(global-set-key [f11] 'toggle-fullscreen)

;; Disable tool-bar
(tool-bar-mode -1)

;; Disable Menu Bar
(menu-bar-mode -1)
harrymc
источник
3
Это, кажется, дает развернутый экран, а не полный экран, если вы понимаете, о чем я.
qazwsx
Ваша вторая статья не относится к Mac OS X и была написана разработчиком Debian, она включает в себя фокусную ошибку.
Тамара Вийсман
@harrymc: К счастью, я наткнулся здесь, потому что ты сделал опечатку под моим именем. Ошибка фокуса находится в функции, вызываемой вашим скриптом, и поэтому не может быть исправлена ​​в самом скрипте.
Тамара Вийсман
2

Я успешно делал это в прошлом с помощью этого набора команд:

Полноэкранный режим для сборки какао в Emacs 23

Этот форк имеет патчи для настоящего полноэкранного режима, и он прекрасно работает.

git clone git://github.com/typester/emacs.git
cd emacs
./configure --with-ns
make bootstrap
make install
mv nextstep/Emacs.app /Applications

Затем вы можете просто установить глобальный ключ и использовать его:

(global-set-key (kbd "M-RET") 'ns-toggle-fullscreen)

M-RET переводится как Alt+ Return. Возможно, вам придется установить git заранее ...

Кроме того , вы можете найти некоторые старые бинарники здесь , включая патч , так что вы должны установить только глобальный ключ; хотя я бы действительно советовал не загружать чужие двоичные файлы, они старые и им нельзя доверять ...


Если у вас есть / установите homebrew , вы можете скомпилировать версию за март 2012 года, которая включает полноэкранную поддержку:

brew install https://gist.github.com/raw/1946398/e7bbb52a4fe3ae0060e65df3d4a7462730ddc822/emacs.rb --force --HEAD --cocoa --use-git-head

Я нашел это в EmacsWiki: Full Screen - Mac OS X - Исправление двоичного файла .

Тамара Вийсман
источник
1

Нажмите на зеленый максимизировать / увеличить дважды. Первый раз максимизирует высоту, второй щелчок максимизирует ширину.

Даг Харрис
источник
1

Если вы запускаете emacs в терминале, получаете новую версию iTerm , у нее есть режим «Полный экран».

Стив Лианоглу
источник
0

Хотя полноэкранная поддержка была добавлена ​​в версию Emacs NextStep (Cocoa) несколько раз, она не принята в апстриме, поэтому в обычных сборках Emacs ее нет. Вы можете найти патч онлайн и применить его самостоятельно.

На мой взгляд, наиболее жизнеспособным вариантом является использование iTerm (или Apple Terminal на OS X 10.7) в полноэкранном режиме с консольной версией emacs. Вы можете создать псевдоним для /Applications/Emacs-23.3.app/Contents/MacOS/Emacs -nw

marchdown
источник