Come evitare che emacsclient avvii ogni volta un nuovo frame?


8

Ho Ubuntu 12.04 in esecuzione con Emacs 24.3. All'avvio del computer, emacs --daemonviene eseguito e ho modificato il parametro emacs24.desktoptake to emacsclient -c -a ""exec. Tuttavia, ogni volta che provo ad aprire un file, ogni volta si apre un nuovo frame.
C'è un modo per far apparire il file in una cornice preesistente come nuovo buffer?

Con "aprire un file" intendo usare il file manager della GUI o usare il terminale con emacsclient -nc [filename]o emacsclient -nc -a "" [file].

EDIT : Quello che sembra accadere è che emacs sta aprendo una nuova "finestra del sistema operativo" (come nel frame di Emacs) con ogni file; tuttavia, sono in grado di accedere a tutti i buffer nello stesso frame di emacs. Tuttavia, avere più frame emacs è irritante anche se non devo passare da uno all'altro. La chiusura manuale del frame rimuove anche il buffer.

C'è un modo per sopprimere il comportamento di apertura del nuovo frame ogni volta?


Qual è l'opzione "-nc" che hai nella tua riga di comando. Vedo "-nw", "-c", "-n" ma nessuna opzione "-nc" quando lo faccio emacsclient -help.
Kaushal Modi,

-nè per un no-waitpo 'che -cera creare un nuovo frame (non mi ero reso conto che creava un nuovo frame ogni volta ). Senza -c, emacsclientavvia emacs nella -nwmodalità per qualche motivo.
strNOcat,

1
Sì, ma non sono sicuro che -n e -c possano essere uniti in -nc.
Kaushal Modi,

Dà lo stesso comportamento. Ma sì, questo è stato negligente da parte mia; Grazie.
strNOcat,

Risposte:


7

L'opzione inclusa di -csta causando questo. Per la pagina man,

-c, --create-frame crea un nuovo frame invece di provare a usare l'attuale frame Emacs.

Rimuovi questa opzione dal tuo comando ed Emacs dovrebbe astenersi dalla creazione di un nuovo frame (AKA Window).


Se non lo uso -c, emacsclientapre emacs nel terminale per qualche motivo
strNOcat,

Questo è vero solo con l'opzione '-nw, -t, --tty'. Quale comando stanno usando senza '-c' che sta aprendo Emacs nel terminale?
Andy,

emacsclient path_to_file
strNOcat,

2
Sul mio pc emacsclient filenamesi apre emacs nel terminale solo se non è già presente alcun frame. Se è presente un frame, il buffer viene aperto nel frame.
Vamsi,

@Vamsi Ah, hai ragione, grazie. Cose semplici!
strNOcat,
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.