¿Cómo hacer que emacs sea realmente de pantalla completa al inicio?

9

Quiero que emacs se maximice realmente al inicio.

Hay soluciones al problema que solo hacen que el ancho de la ventana de emacs de la pantalla. Eso no es suficiente para mí. Quiero que la ventana de emacs se acople a la esquina superior derecha de la pantalla, de modo que cuando presione allí con el mouse, cierre emacs, no Firefox o Krusader o lo que esté maximizado en segundo plano.

Traté de hacerlo con Kwin, pero no tuve suerte.

PD: Estoy usando Kubuntu, y emacs es bastante nuevo 23.2 o algo así.

Adobe
fuente
@usuario maximizado o pantalla completa: ¿cuál quieres? Tu segundo párrafo es un poco vago.
David LeBauer
Hay algunas soluciones dependientes del administrador de ventanas. ¿Qué WM estás usando? En Fluxbox, uso el ~/.fluxbox/appsarchivo para establecer la preferencia maximizada para aplicaciones específicas.
Daniel Andersson
Estoy usando KWM (es el predeterminado de KDE). Tiene la opción "maximizada", pero la ventana de emacs no está realmente maximizada: si presionas "x" en la esquina superior derecha con un mouse, cerrarás algo más, no emacs.
Adobe

Respuestas:

7

Tomé esto de algún lugar en emacswiki, hace algún tiempo. Tenga en cuenta que ya no lo uso, ya que cambié a dwm para tener todo a pantalla completa, pero solía funcionar.

(defun fullscreen ()
       (interactive)
       (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
                 '(2 "_NET_WM_STATE_FULLSCREEN" 0)))

Si desea que se ejecute al inicio, debería poder agregar

(fullscreen)

para usted .emacs

EDITAR: Releyendo tu pregunta, creo que esto no es lo que quieres. Esto irá realmente a pantalla completa, no maximizado: no tendrá ningún botón de cierre.

Este debería hacer:

(defun fullscreen (&optional f)
  (interactive)
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0))
  (x-send-client-message nil 0 nil "_NET_WM_STATE" 32
             '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0)))

Ahora es directamente desde http://www.emacswiki.org/emacs/FullScreen

Tiago
fuente
3

Aquí hay dos formas que no son de Lisp para lograr lo mismo:

  1. Alias el emacscomando para emacs -fs. Agregue esta línea de código a su .bashrcarchivo en su directorio de inicio:

    alias emacs='emacs -fs'
    

    Personalmente, no me gusta este enfoque porque no quisiera que Emacs se inicie en pantalla completa todo el tiempo y me gustaría tener algo de control.

  2. Mi solución: en Ubuntu, puede asignar un atajo de teclado a 'pantalla completa' en cualquier ventana. Esta parece ser la opción más conveniente y simple. Además, tiene la ventaja de que el mismo acceso directo también se aplica a todas sus aplicaciones.

GeneralBecos
fuente
+1 También hay -mm(abreviatura de --maximized) que "maximizará el primer fotograma". Los efectos del uso de esta opción son un poco menos "drásticos" que la -fsopción (la barra de título de Emacs y los paneles del sistema operativo permanecen visibles).
itsjeyd
3

Pon (w32-send-sys-command ?\xf030) tu .emacsarchivo. Creo que resuelve tu problema.

(funciona solo en Windows)

Paulo Tomé
fuente
Eso es genial, aunque estoy trabajando en Linux. Pero aún así, a veces también tengo que trabajar en Windows. Gracias.
Adobe
Olvidé mencionarlo. Esta solución es solo para Windows.
Paulo Tomé
Sí, veo la w32cosa.
Adobe
1

Si desea alternar la pantalla completa en emacs con la tecla F11, agregue lo siguiente a .emacs:

;; the following should give fullscreen mode when F11 is depressed
(defun fullscreen ()
 (interactive)
 (set-frame-parameter nil 'fullscreen
              (if (frame-parameter nil 'fullscreen) nil 'fullboth))

Si desea que los emacs de pantalla completa sean muy mínimos (sin barra de herramientas, barra de desplazamiento o barra de menú, también agregue:

(progn
  (if (fboundp 'tool-bar-mode) (tool-bar-mode -1))  ;; no toolbar
  (menu-bar-mode -1) ;;no menubar
  (scroll-bar-mode -1) ;; no scroll bar
  )
)
David LeBauer
fuente
0

Creo que emacs respetará la configuración de gconf, por lo que podría configurar / apps / emacs / maximizar, pero no sé si eso ayudará en Kubuntu, vale la pena intentarlo.

jaybee
fuente
0

Yo uso lo siguiente en Linux:

(defun my-frame-toggle ()
    "Maximize/Restore Emacs frame using 'wmctrl'."
    (interactive)
    (shell-command "wmctrl -r :ACTIVE: -btoggle,maximized_vert,maximized_horz"))

y luego vincularlo a una clave:

(global-set-key [(control f4)] 'my-frame-toggle)

Si desea comenzar maximizado, simplemente puede agregar una llamada al my-frame-togglefinal de su archivo .emacs.

Joe Casadonte
fuente
Cuando escribo tu código, en mi archivo .emacs. Muestra un error del analizador.
Pratik Singhal
0

Encontré una solución divertida:

emacs -nw

inicia emacs en una consola, ¡y puede maximizar la consola en sí!

Adobe
fuente