Emacs de pantalla completa en OSX


12

¿Hay alguna forma de usar Emacs en modo de pantalla completa en OSX?

Actualmente estoy usando Emacs de http://emacsforosx.com/

Editar : Esta pregunta ya no es relevante desde el lanzamiento de Emacs versión 24.4. Por favor vea la respuesta aceptada.


1
Bueno, si solo tienes acceso a emacs en la terminal, puedes hacer que la ventana de la terminal se vea en pantalla completa.
— Billjk

Respuestas:


9

Esta característica está presente en Emacs 24.4. Del archivo de NOTICIAS:

Cambios en Emacs 24.4 en sistemas operativos no libres

...

Soporte de pantalla completa mejorado en Mac OS X.

Tanto la pantalla completa nativa (> = OSX 10.7) como la de "estilo antiguo" son compatibles. Personalice `ns-use-native-fullscreen 'para cambiar el estilo. Para> = 10.7 nativo es el valor predeterminado.

Y:

Nuevos comandos toggle-frame-fullscreeny toggle-frame-maximized, vinculados a <f11>y M-<f10>, respectivamente.


1
Como autor original de maxframe.el, apoyo totalmente esta respuesta.
— Ryan McGeary

1
Gracias. toggle-frame-fullscreenayudó a salir del estado de pantalla completa en un escritorio separado donde nada más obvio lo haría, por ejemplo, ningún icono de ventana cerrada en el escritorio creado.
— kjhughes

10

La compilación de Emacs distribuida a través de http://emacsforosx.com no incluye la opción de pantalla completa.

Si usa el administrador de paquetes Homebrew , puede instalar Emacs con soporte de pantalla completa a través de

brew install emacs --cocoa

Entonces querrás vincular Homebrew's Emacs.appa uno en tu /Applicationsdirectorio:

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

Ahora podrá usar el modo de pantalla completa a través de ns-toggle-fullscreen.


2
fwiw, esta respuesta ya no es aplicable a emacs 24+, consulte superuser.com/a/599029/78325 para obtener una respuesta más reciente.
— Aaron Jensen

4

Si desea mantener su versión de GNU Emacs, aquí hay dos posibles enfoques probados.

De los pensamientos de Amit: Emacs: pantalla completa en Mac OS X para GNU (Cocoa / Nextstep) Emacs 23:

Estoy usando una versión parcheada de maxframe.el , y esta función de la página 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)

Lamentablemente, esto no oculta la barra de menú o la barra de título.

Otro artículo recomienda:

Si desea hacer GNU Emacs a pantalla completa, hay tres cosas que debe hacer:

  1. Deshabilitar barra de herramientas
    Esto se puede lograr ejecutando (dentro de Emacs)(tool-bar-mode -1)
  2. Deshabilitar barra de menú
    Esto se puede hacer ejecutando(menu-bar-mode -1)
  3. Ir al modo de pantalla completa
    Tienes que ejecutar(set-frame-parameter nil 'fullscreen 'fullboth)

Si desea deshabilitar siempre la barra de herramientas y la barra de menú, como yo, y desea poder acceder a la pantalla completa con una pulsación de tecla (F11, por ejemplo), agregue esto a su .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
Esto parece dar pantalla maximizada, no pantalla completa, si sabes a lo que me refiero.
— qazwsx

Su segundo artículo no es específico para Mac OS X y fue escrito por un desarrollador de Debian, incluye error de enfoque.
— Tamara Wijsman

@harrymc: Por suerte me encontré aquí, porque cometiste un error tipográfico detrás de mi nombre. El error de enfoque se encuentra en una función llamada por su script, y por lo tanto no se puede corregir en el script en sí.
— Tamara Wijsman

2

He hecho esto con éxito en el pasado usando este conjunto de comandos:

Verdadera pantalla completa para la construcción Cocoa en Emacs 23

Este tenedor tiene parches para pantalla completa verdadera y funciona de maravilla.

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

Luego, simplemente puede establecer una clave global y usarla:

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

M-RET se traduce en Alt+ Return. Es posible que deba instalar git por adelantado ...

Alternativamente, puede encontrar algunos binarios antiguos aquí, incluido el parche, de modo que solo tenga que establecer la clave global; aunque realmente recomendaría no descargar los binarios de otra persona, son viejos y no se puede confiar en ellos ...


Si tiene / instala homebrew , puede compilar una versión de marzo de 2012 que permita la compatibilidad con pantalla completa:

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

Encontré esto en EmacsWiki: Pantalla completa - Mac OS X - Parcheando el binario .


1

Haga clic en el verde maximizar / hacer zoom dos veces. La primera vez maximiza la altura, el segundo clic maximiza el ancho.



0

Si bien el soporte de pantalla completa se ha agregado a la versión NextStep (Cocoa) de Emacs varias veces, no se acepta en sentido ascendente, por lo que las compilaciones de Emacs vanilla no lo tienen. Puede encontrar el parche en línea y aplicarlo usted mismo.

En mi opinión, la opción más viable es usar iTerm (o Apple Terminal en OS X 10.7) en modo de pantalla completa con la versión de consola de emacs. Es posible que desee crear un alias para /Applications/Emacs-23.3.app/Contents/MacOS/Emacs -nw

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.