Pełny ekran Emacsa w OSX

12

Czy jest jakiś sposób używania Emacsa w trybie pełnoekranowym w OSX.

Obecnie używam Emacsa z http://emacsforosx.com/

Edycja : To pytanie nie jest już istotne od czasu wydania Emacsa w wersji 24.4. Proszę zobaczyć zaakceptowaną odpowiedź.

licorna
źródło
1
Cóż, jeśli po prostu uzyskasz dostęp do emacsa w terminalu, możesz sprawić, że okno terminalu wyświetli pełny ekran.
Billjk

Odpowiedzi:

9

Ta funkcja jest obecna w Emacsie 24.4. Z pliku NEWS:

Zmiany w Emacsie 24.4 w niewolnych systemach operacyjnych

...

Ulepszona obsługa pełnego ekranu w Mac OS X.

Obsługiwane są zarówno natywne (> = OSX 10.7), jak i pełny ekran w „starym stylu”. Dostosuj `ns-use-native-fullscreen ', aby zmienić styl. Dla> = 10.7 domyślna jest natywna.

I:

Nowe polecenia toggle-frame-fullscreenoraz odpowiednio toggle-frame-maximizedpowiązane <f11>i M-<f10>.

legoscia
źródło
1
Jako oryginalny autor pliku maxframe.el w pełni popieram tę odpowiedź.
Ryan McGeary
1
Dzięki. toggle-frame-fullscreenpomógł wyjść ze stanu pełnoekranowego na osobnym pulpicie, na którym nic innego nie byłoby oczywiste - na przykład brak ikony zamknięcia okna na utworzonym pulpicie.
kjhughes
10

Kompilacja Emacsa dystrybuowana za pośrednictwem http://emacsforosx.com nie obejmuje opcji pełnego ekranu.

Jeśli używasz menedżera pakietów Homebrew , możesz zainstalować Emacsa z obsługą pełnego ekranu za pośrednictwem

brew install emacs --cocoa

Będziesz wtedy chciał połączyć Homebrew z Emacs.appjednym w swoim /Applicationskatalogu:

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

Teraz będziesz mógł korzystać z trybu pełnoekranowego przez ns-toggle-fullscreen.

andrewsardone
źródło
2
fwiw, ta odpowiedź nie ma już zastosowania do emacsa 24+, patrz superuser.com/a/599029/78325, aby uzyskać najnowszą odpowiedź.
Aaron Jensen
4

Jeśli chcesz zachować swoją wersję GNU Emacs, oto dwa możliwe przetestowane podejścia.

Z Amit's Thoughts: Emacs: pełny ekran w systemie Mac OS X dla GNU (Cocoa / Nextstep) Emacs 23:

Korzystam z poprawionej wersji pliku maxframe.el i tej funkcji ze strony 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)

Niestety nie ukrywa to paska menu ani paska tytułu.

Inny artykuł zaleca:

Jeśli chcesz, aby GNU Emacs był pełnoekranowy, powinieneś zrobić trzy rzeczy:

  1. Wyłącz pasek narzędzi
    Można to wykonać wykonując (wewnątrz Emacsa)(tool-bar-mode -1)
  2. Wyłącz pasek menu
    Można to wykonać wykonując(menu-bar-mode -1)
  3. Przejdź do trybu pełnoekranowego
    Musisz wykonać(set-frame-parameter nil 'fullscreen 'fullboth)

Jeśli chcesz wyłączyć zawsze pasek narzędzi i pasek menu, jak ja, i chcesz przejść do pełnego ekranu za pomocą naciśnięcia klawisza (na przykład F11), dodaj to do .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
źródło
3
To wydaje się dawać zmaksymalizowany ekran, a nie pełny ekran, jeśli wiesz, co mam na myśli.
qazwsx
Twój drugi artykuł nie jest specyficzny dla Mac OS X i został napisany przez dewelopera Debiana, zawiera błąd skupienia.
Tamara Wijsman
@harrymc: Na szczęście tu trafiłem, bo napisałeś literówkę za moim imieniem. Błąd skupienia występuje w funkcji wywoływanej przez skrypt i dlatego nie można go naprawić w samym skrypcie.
Tamara Wijsman
2

Z powodzeniem robiłem to w przeszłości, używając następującego zestawu poleceń:

Prawdziwy pełny ekran dla kompilacji Cocoa w Emacs 23

Ten widelec ma łatki dla prawdziwego pełnego ekranu i działa wspaniale.

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

Następnie możesz po prostu ustawić klucz globalny i użyć go:

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

M-RET przekłada się na Alt+ Return. Może być konieczne wcześniejsze zainstalowanie git ...

Alternatywnie możesz znaleźć tutaj kilka starych plików binarnych , w tym łatkę, dzięki czemu musisz tylko ustawić klucz globalny; chociaż odradzam pobieranie plików binarnych innych osób, są one stare i nie można im ufać ...


Jeśli masz / instalujesz homebrew , możesz skompilować wersję z marca 2012 r., Która umożliwia obsługę pełnego ekranu:

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

Znalazłem to w EmacsWiki: Pełny ekran - Mac OS X - Patchowanie pliku binarnego .

Tamara Wijsman
źródło
1

Kliknij dwa razy zielony przycisk maksymalizacji / powiększenia. Za pierwszym razem maksymalizuje wysokość, drugie kliknięcie maksymalizuje szerokość.

Doug Harris
źródło
1

Jeśli uruchamiasz emacsa w terminalu, pobierz nową wersję iTerm , ma on tryb „Pełny ekran”.

Steve Lianoglou
źródło
0

Chociaż obsługa pełnego ekranu została kilkakrotnie dodana do wersji Emacsa NextStep (kakao), nie jest ona akceptowana wcześniej, więc kompilacje waniliowe Emacsa tego nie mają. Możesz znaleźć łatkę online i zastosować ją samodzielnie.

Moim zdaniem najbardziej opłacalną opcją jest użycie iTerm (lub Apple Terminal w OS X 10.7) w trybie pełnoekranowym z konsolową wersją emacsa. Możesz utworzyć alias dla /Applications/Emacs-23.3.app/Contents/MacOS/Emacs -nw

marsz
źródło