Emacs plein écran dans OSX


12

Existe-t-il un moyen d'utiliser Emacs en mode plein écran dans OSX.

J'utilise actuellement Emacs depuis http://emacsforosx.com/

Edit : Cette question n'est plus d'actualité depuis la sortie de la version 24.4 d'Emacs. Veuillez voir la réponse acceptée.


1
Eh bien, si vous accédez simplement à emacs dans le terminal, vous pouvez faire la fenêtre du terminal en plein écran.
Billjk

Réponses:


9

Cette fonctionnalité est présente dans Emacs 24.4. Depuis le fichier NEWS:

Changements dans Emacs 24.4 sur les systèmes d'exploitation non libres

...

Amélioration du support plein écran sur Mac OS X.

Les modes plein écran natif (> = OSX 10.7) et "ancien style" sont pris en charge. Personnalisez `ns-use-native-fullscreen 'pour changer de style. Pour> = 10,7 natif est la valeur par défaut.

Et:

Nouvelles commandes toggle-frame-fullscreenet toggle-frame-maximized, liées à <f11>et M-<f10>, respectivement.


1
En tant qu'auteur original de maxframe.el, je soutiens entièrement cette réponse.
Ryan McGeary

1
Merci. toggle-frame-fullscreena aidé à quitter l'état plein écran sur un bureau séparé où rien d'autre n'était évident - pas d'icône de fermeture de fenêtre sur le bureau créé, par exemple.
kjhughes

10

La version d'Emacs distribuée via http://emacsforosx.com n'inclut pas l'option plein écran.

Si vous utilisez le gestionnaire de packages Homebrew , vous pouvez installer Emacs avec une prise en charge plein écran via

brew install emacs --cocoa

Vous voudrez alors lier Homebrew Emacs.appà celui de votre /Applicationsrépertoire:

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

Vous pourrez maintenant utiliser le mode plein écran via ns-toggle-fullscreen.


2
fwiw, cette réponse ne s'applique plus aux emacs 24+, voir superuser.com/a/599029/78325 pour une réponse plus récente.
Aaron Jensen

4

Si vous souhaitez conserver votre version de GNU Emacs, voici deux approches testées possibles.

D'après Amit's Thoughts: Emacs: plein écran sur Mac OS X pour GNU (Cocoa / Nextstep) Emacs 23:

J'utilise une version corrigée de maxframe.el , et cette fonction de la page 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)

Malheureusement, cela ne cache pas la barre de menu ou la barre de titre.

Un autre article recommande:

Si vous voulez faire GNU Emacs en plein écran, vous devez faire trois choses:

  1. Désactiver la barre d'outils
    Cela peut être accompli lors de l'exécution (dans Emacs)(tool-bar-mode -1)
  2. Désactiver la barre de menus
    Cela peut être fait en exécutant(menu-bar-mode -1)
  3. Passez en mode plein écran
    Vous devez exécuter(set-frame-parameter nil 'fullscreen 'fullboth)

Si vous voulez désactiver toujours la barre d'outils et la barre de menus, comme moi, et que vous voulez pouvoir aller en plein écran avec une frappe (F11, par exemple), ajoutez ceci à votre .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
Cela semble donner un écran maximisé, pas plein écran, si vous voyez ce que je veux dire.
qazwsx

Votre 2ème article n'est pas spécifique à Mac OS X et a été écrit par un développeur Debian, il inclut un bug de focus.
Tamara Wijsman

@harrymc: Heureusement, je suis tombé ici, parce que vous avez fait une faute de frappe derrière mon nom. Le bug de focus se trouve dans une fonction appelée par votre script et ne peut donc pas être corrigé dans le script lui-même.
Tamara Wijsman

2

J'ai réussi cela dans le passé en utilisant ces commandes:

Véritable plein écran pour la version Cocoa dans Emacs 23

Cette fourche a des correctifs pour le vrai plein écran et cela fonctionne à merveille.

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

Ensuite, vous pouvez simplement définir une clé globale et l'utiliser:

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

M-RET se traduit par Alt+ Return. Vous devrez peut-être installer git à l'avance ...

Alternativement, vous pouvez trouver quelques anciens binaires ici, y compris le correctif, de sorte que vous n'avez qu'à définir la clé globale; bien que je déconseille vraiment de télécharger les fichiers binaires de quelqu'un d'autre, ils sont vieux et on ne peut pas leur faire confiance ...


Si vous avez / installez homebrew , vous pouvez compiler une version de mars 2012 qui permet la prise en charge plein écran:

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

J'ai trouvé cela dans EmacsWiki: Plein écran - Mac OS X - Patcher le binaire .


1

Cliquez deux fois sur le vert agrandir / zoomer. La première fois maximise la hauteur, le deuxième clic maximise la largeur.


1

Si vous exécutez emacs dans un terminal, obtenez la nouvelle version d' iTerm , il a un mode "plein écran".


0

Bien que la prise en charge plein écran ait été ajoutée à la version NextStep (Cocoa) d'Emacs à plusieurs reprises, elle n'est pas acceptée en amont, donc les builds Emacs vanille ne l'ont pas. Vous pouvez trouver le patch en ligne et l'appliquer vous-même.

À mon avis, l'option la plus viable est d'utiliser iTerm (ou Apple Terminal sur OS X 10.7) en mode plein écran avec la version console d'emacs. Vous pouvez créer un alias pour /Applications/Emacs-23.3.app/Contents/MacOS/Emacs -nw

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.