Come rendere emacs davvero a schermo intero all'avvio?


9

Voglio che Emacs sia veramente massimizzato all'avvio.

Ci sono soluzioni al problema che rendono la larghezza della finestra di emacs dello schermo. Non è abbastanza per me. Voglio che la finestra di emacs sia ancorata nell'angolo in alto a destra dello schermo, in modo che quando premo lì con il mouse, chiuderò emacs, non Firefox o Krusader o qualunque cosa sia ingrandita in background.

Ho provato a farlo con Kwin - ma senza fortuna.

PS Sto usando Kubuntu, ed emacs è abbastanza nuovo uno 23.2 o qualcosa del genere.


@utente ingrandito o schermo intero - quale vuoi? Il tuo secondo paragrafo è un po 'vago.
David LeBauer,

Esistono alcune soluzioni dipendenti da Window Manager. Quale WM stai usando? In Fluxbox, utilizzo il ~/.fluxbox/appsfile per impostare le preferenze massimizzate per applicazioni specifiche.
Daniel Andersson,

Sto usando KWM (è quello predefinito di KDE). Ha l'opzione "ingrandita" - ma la finestra di emacs non è veramente ingrandita: se premi "x" nell'angolo in alto a destra con il mouse - Chiuderai qualcos'altro - non emacs.
Adobe

Risposte:


7

L'ho preso da qualche parte su emacswiki, qualche tempo fa. Nota che non lo uso più, poiché sono passato a DWM per avere tutto a schermo intero, ma funzionava.

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

Se vuoi che venga eseguito all'avvio, dovresti essere in grado di aggiungere

(fullscreen)

alla tua .emacs

EDIT: rileggere la tua domanda, penso che questo non è quello che vuoi. Questo sarà veramente a schermo intero, non ingrandito: non avrai alcun pulsante di chiusura.

Questo dovrebbe fare:

(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)))

Ora è direttamente da http://www.emacswiki.org/emacs/FullScreen


3

Ecco due modi non Lisp per ottenere lo stesso:

  1. Alias ​​il tuo emacscomando per emacs -fs. Aggiungi questa riga di codice al tuo .bashrcfile nella tua home directory:

    alias emacs='emacs -fs'
    

    Personalmente, questo approccio non mi piace perché non vorrei che Emacs si avviasse a tutto schermo per tutto il tempo e vorrei un po 'di controllo.

  2. La mia soluzione: in Ubuntu, puoi assegnare una scorciatoia da tastiera a "schermo intero" su qualsiasi finestra. Questa sembra essere l'opzione più comoda e semplice. Inoltre, ha il vantaggio che lo stesso collegamento si applica anche a tutte le tue applicazioni.


+1 C'è anche -mm(abbreviazione di --maximized) che "massimizzerà il primo fotogramma". Gli effetti dell'uso di questa opzione sono un po 'meno "drastici" -fsdell'opzione (la barra del titolo di Emacs e i pannelli del sistema operativo rimangono visibili).
itsjeyd

3

Metti (w32-send-sys-command ?\xf030) il tuo .emacsfile. Penso che risolva il tuo problema.

(funziona solo su Windows)


È fantastico, anche se sto lavorando in Linux. Ma comunque - a volte devo lavorare anche su Windows. Grazie.
Adobe,

Ho dimenticato di menzionare. Questa soluzione è solo per Windows.
Paulo Tomé

Sì, vedo la w32cosa.
Adobe,

1

Se desideri attivare la modalità a schermo intero in emacs con il tasto F11, aggiungi quanto segue 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))

Se vuoi che gli emacs a schermo intero siano molto minimi (nessuna barra degli strumenti, barra di scorrimento o barra dei menu, aggiungi anche:

(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
  )
)

0

Penso che emacs rispetterà le impostazioni di gconf, quindi potresti impostare / apps / emacs / maxim, ma non so se questo aiuterà su Kubuntu - vale la pena provare.


0

Uso quanto segue su Linux:

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

e quindi associarlo a una chiave:

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

Se vuoi iniziare al massimo, puoi semplicemente aggiungere una chiamata alla my-frame-togglefine del tuo file .emacs.


Quando scrivo il tuo codice, sul mio file .emacs. Mostra errore del parser.
Pratik Singhal,

0

Ho trovato una soluzione divertente:

emacs -nw

avvia emacs in una console e puoi massimizzare la console stessa!

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.