Come massimizzare il mio telaio Emacs all'avvio?


66

C'è un modo per ingrandire la mia finestra all'avvio?

Attualmente, premo Control+ Windows Key+ Upsulla tastiera, ma è molto seccante farlo ogni volta.

Sto usando Emacs 24.4 su Ubuntu 12.04.


1
Non conoscevo la combinazione di tasti per massimizzare gli emacs. Grazie per quello e anche la risposta qui sotto ha funzionato!
Prasanna,

Da dove hai scoperto la combinazione <kbd>![Windows Key][oldwinlogo]</kbd>Questo non funziona per me :-(
Prasanna,

Risposte:


71

Ho un altro metodo, che ho testato con Emacs 24.3 e 24.4, nonché su Windows e GNU / Linux. Ho inserito quanto segue nel mio file init :

(add-to-list 'default-frame-alist '(fullscreen . maximized))

Credo che questo sia stato leggermente modificato da una risposta StackOverflow che ho trovato qualche tempo fa, ma non riesco a trovarlo di nuovo ora.

Modifica: un altro vantaggio di questo metodo è che si applica anche ai nuovi client che si connettono al server Emacs (ad es emacsclient -c.).


3
+1 per la risposta precisa. Se potessi accettare di nuovo questa risposta - lo farei davvero!
Prasanna,

1
Mi piace usare questa soluzione emacsclient, ma ci sono alcuni frame che avviarli al massimo impedirebbe di usarli correttamente, come il pannello di controllo ediff , c'è una soluzione per questo?
marcanuy,

@marcanuy: Non conosco una soluzione al di sopra della mia testa, ma potrebbe valere la pena di postare una nuova domanda.
Scott Weldon,

31

Modifica il ...-frame-alistfile nel tuo init per dire a Emacs come massimizzare il frame. Hai anche più opzioni su come, esattamente, massimizzarlo.

alist opzioni

Hai due ...-frame-alistopzioni:

  1. default-frame-alist (come nella risposta di @Scott Weldon)
  2. initial-frame-alist

Se lo usi default-frame-alist, massimizzerà tutti i frame: sia il primo che tutti gli altri che crei. Potrebbe non essere quello che vuoi (o forse lo è: chi sono io per giudicare?).

Se lo usi initial-frame-alist, massimizzerà solo il frame creato da Emacs all'avvio, ma non toccherà i frame successivi che crei.

opzioni di massimizzazione

Per le opzioni di massimizzazione, vedere questo nodo del manuale per i dettagli. La versione breve è che è possibile impostare il fullscreenparametro su:

  • fullwidth (allarga il più possibile la cornice, non toccare la verticale)
  • fullheight (rendere la cornice più alta possibile, non toccare l'orizzontale)
  • fullboth (imposta l'altezza e la larghezza in base alle dimensioni dello schermo)
  • maximized (rendilo, beh, massimizzato)

La differenza tra fullbothe maximizedè che puoi ridimensionare il primo con il mouse, mentre con il secondo non puoi.

esempio

Ad esempio, queste linee 1) creeranno un frame iniziale massimizzato e 2) creeranno frame fullheight (ma non fullwidth) su ogni frame successivo:

(add-to-list 'initial-frame-alist '(fullscreen . maximized))
(add-to-list 'default-frame-alist '(fullscreen . fullheight))

3
In effetti initial-frame-alistè molto più utile di default-frame-alistquando si usano strumenti come ediff.
giordano,


9

La risposta di @ Constantine copre già come questo può essere ottenuto modificando il file init (se si utilizza Emacs 24.4).

Se avvii Emacs dalla riga di comando, dal trattino o da un launcher come Synapse o krunner , puoi specificare l' -mmopzione (abbreviazione di --maximized) per ottenere lo stesso risultato:

emacs -mm

L' -mmopzione è stata introdotta per la prima volta in Emacs 23.2 , quindi questa soluzione non si limita all'ultima versione stabile.


Ciò che distingue questa soluzione dagli altri suggerimenti pubblicati qui (tutti fantastici) è che ti consente di decidere caso per caso se vuoi che il frame Emacs sia massimizzato all'avvio o meno.

Se si desidera una soluzione più permanente, è possibile impostare un aliasper il comando mostrato sopra aggiungendo quanto segue a .bashrc:

alias emacs='emacs -mm'

2
Un altro vantaggio di questa soluzione è che emacs inizia già massimizzato. Le soluzioni alternative per i file Init lo rendono ingrandito durante l'avvio, il che è piuttosto fastidioso.
e il

1
Per aggiungere a questa risposta: emacs -fsavvia Emacs ingrandito a schermo intero o massimizzato al massimo.
Teemu Leisti,

6

Per avviare Emacs ingrandito, aggiungi al tuo file init:

;; Start maximised (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-maximized t)

Nel caso in cui desideri passare a schermo intero o, come si dice ora, modalità senza distrazioni :

;; Start fullscreen (cross-platf)
(add-hook 'window-setup-hook 'toggle-frame-fullscreen t)

NOTA : funziona anche in Windows.


1

Sto usando il seguente:

(when (eq system-type 'gnu/linux)
  (defun x11-maximize-frame ()
    "Maximize the current frame (to full screen)"
    (interactive)
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_HORZ" 0))
    (x-send-client-message nil 0 nil "_NET_WM_STATE" 32 '(2 "_NET_WM_STATE_MAXIMIZED_VERT" 0)))
  (run-with-idle-timer 0.01 nil 'x11-maximize-frame)
  )

(when (eq system-type 'windows-nt)
  (w32-send-sys-command 61488)
)
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.