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.