Emacs a schermo intero in OSX


12

Esiste un modo per utilizzare Emacs in modalità schermo intero in OSX.

Attualmente sto usando Emacs da http://emacsforosx.com/

Modifica : questa domanda non è più rilevante dal rilascio di Emacs versione 24.4. Si prega di vedere la risposta accettata.


1
Bene, se accedete a emacs nel terminale, potete rendere la finestra del terminale a schermo intero.
Billjk,

Risposte:


9

Questa funzione è presente in Emacs 24.4. Dal file NEWS:

Modifiche in Emacs 24.4 su sistemi operativi non liberi

...

Supporto a schermo intero migliorato su Mac OS X.

Sono supportati sia lo schermo intero nativo (> = OSX 10.7) che "vecchio stile". Personalizza `ns-use-native-fullscreen 'per cambiare stile. Per> = 10.7 nativo è l'impostazione predefinita.

E:

Nuovi comandi toggle-frame-fullscreene toggle-frame-maximized, legati a <f11>e M-<f10>, rispettivamente.


1
Come autore originale di maxframe.el, sostengo pienamente questa risposta.
Ryan McGeary,

1
Grazie. toggle-frame-fullscreenaiutato a uscire dallo stato a schermo intero in un desktop separato dove nient'altro sarebbe ovvio, ad esempio nessuna icona di finestra chiusa sul desktop creato.
kjhughes,

10

La build di Emacs distribuita tramite http://emacsforosx.com non include l'opzione a schermo intero.

Se usi il gestore di pacchetti Homebrew , puoi installare Emacs con supporto a schermo intero tramite

brew install emacs --cocoa

Ti consigliamo quindi di collegare Homebrew Emacs.appa uno nella tua /Applicationsdirectory:

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

Ora sarai in grado di utilizzare la modalità a schermo intero tramite ns-toggle-fullscreen.


2
prima di tutto, questa risposta non è più applicabile a emacs 24+, vedi superuser.com/a/599029/78325 per una risposta più recente.
Aaron Jensen,

4

Se vuoi conservare la tua versione di GNU Emacs, ecco due possibili approcci testati.

Da Amit's Thoughts: Emacs: schermo intero su Mac OS X per GNU (Cocoa / Nextstep) Emacs 23:

Sto usando una versione patchata di maxframe.el e questa funzione dalla pagina 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)

Purtroppo questo non nasconde la barra dei menu o la barra del titolo.

Un altro articolo raccomanda:

Se vuoi rendere GNU Emacs a schermo intero, ci sono tre cose che dovresti fare:

  1. Disabilita barra degli strumenti
    Questo può essere realizzato eseguendo (all'interno di Emacs)(tool-bar-mode -1)
  2. Disabilita barra dei menu
    Questa operazione può essere eseguita(menu-bar-mode -1)
  3. Passa alla modalità a schermo intero
    Devi eseguire(set-frame-parameter nil 'fullscreen 'fullboth)

Se vuoi disabilitare sempre la barra degli strumenti e la barra dei menu, come me, e vuoi essere in grado di andare a schermo intero con un tasto (F11, ad esempio), aggiungi questo al tuo .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)

3
Questo sembra dare uno schermo massimizzato, non uno schermo intero, se sai cosa intendo.
qazwsx,

Il tuo secondo articolo non è specifico per Mac OS X ed è stato scritto da uno sviluppatore Debian, include un focus focus.
Tamara Wijsman,

@harrymc: Fortunatamente mi sono imbattuto qui, perché hai fatto un refuso dietro il mio nome. Il bug focus è in una funzione chiamata dal tuo script e quindi non può essere corretto nello script stesso.
Tamara Wijsman,

2

L'ho fatto con successo in passato usando questo set di comandi:

Vero schermo intero per la build Cocoa in Emacs 23

Questo fork ha patch per il vero schermo intero e funziona meravigliosamente.

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

Quindi, puoi semplicemente impostare una chiave globale e usarla:

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

M-RET si traduce in Alt+ Return. Potrebbe essere necessario installare git in anticipo ...

In alternativa, puoi trovare alcuni vecchi binari qui inclusa la patch in modo che devi solo impostare la chiave globale; anche se consiglierei davvero di non scaricare i file binari di qualcun altro, sono vecchi e non ci si può fidare ...


Se hai / installa homebrew , puoi compilare una versione di marzo 2012 che abilita il supporto a schermo intero:

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

L'ho trovato in EmacsWiki: Schermo intero - Mac OS X - Patch del binario .


1

Fai clic due volte sul ingrandimento / zoom verde. La prima volta massimizza l'altezza, il secondo clic massimizza la larghezza.



0

Sebbene il supporto a schermo intero sia stato aggiunto più volte alla versione NextStep (Cocoa) di Emacs, non è accettato a monte, quindi le build di Emacs vaniglia non ce l'hanno. È possibile trovare la patch online e applicarla da soli.

Secondo me, l'opzione più praticabile è utilizzare iTerm (o Apple Terminal su OS X 10.7) in modalità a schermo intero con la versione console di emacs. Potresti voler creare un alias per /Applications/Emacs-23.3.app/Contents/MacOS/Emacs -nw

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.