Wie kann verhindert werden, dass Emacsclient jedes Mal einen neuen Frame startet?

8

Ich habe Ubuntu 12.04 mit Emacs 24.3. Beim Start des Computers, emacs --daemonausgeführt wird , und ich habe die modifizierte emacs24.desktopzu nehmen emacsclient -c -a ""als exec Parameter. Wenn ich jedoch versuche, eine Datei zu öffnen, wird jedes Mal ein neuer Frame geöffnet.
Gibt es eine Möglichkeit, die Datei in einem bereits vorhandenen Frame als neuen Puffer anzuzeigen?

Mit "Datei öffnen" meine ich entweder den GUI-Dateimanager oder das Terminal von emacsclient -nc [filename]oder emacsclient -nc -a "" [file].

BEARBEITEN : Was zu passieren scheint, ist, dass emacs mit jeder Datei ein neues "OS-Fenster" (wie im Emacs-Frame) öffnet. Ich kann jedoch auf alle Puffer im selben Emacs-Frame zugreifen. Trotzdem irritieren mehrere Emacs-Frames, obwohl ich nicht durch sie wechseln muss. Durch manuelles Schließen des Rahmens wird auch der Puffer entfernt.

Gibt es eine Möglichkeit, das Verhalten beim Öffnen des neuen Frames jedes Mal zu unterdrücken?

strNOcat
quelle
Was ist die Option "-nc", die Sie in Ihrer Befehlszeile haben? Ich sehe "-nw", "-c", "-n", aber keine "-nc" -Option, wenn ich das tue emacsclient -help.
Kaushal Modi
-nEs war für eine no-waitWeile -c, einen neuen Rahmen zu erstellen (ich habe nicht bemerkt, dass jedes Mal ein neuer Rahmen erstellt wurde ). Ohne -c, emacsclientbeginnt Emacs im -nwModus aus irgendeinem Grund.
StrNOcat
1
Ja, aber ich bin nicht sicher, ob -n und -c zu -nc zusammengeführt werden können.
Kaushal Modi
Es gibt das gleiche Verhalten. Aber ja, das war meinerseits nachlässig; Vielen Dank.
strNOcat

Antworten:

7

Ihre eingeschlossene Option -cverursacht dies. Laut Manpage,

-c, --create-frame erstellt einen neuen Frame, anstatt zu versuchen, den aktuellen Emacs-Frame zu verwenden.

Entfernen Sie diese Option aus Ihrem Befehl, und Emacs sollte keinen neuen Frame (AKA-Fenster) erstellen.

Andy
quelle
Wenn ich nicht benutze -c, emacsclientöffnet Emacs im Terminal aus irgendeinem Grund
strNOcat
Dies gilt nur für die Option '-nw, -t, --tty'. Welcher Befehl wird ohne '-c' verwendet, der Emacs im Terminal öffnet?
Andy
emacsclient path_to_file
StrNOcat
2
Auf meinem PC werden emacsclient filenameEmacs im Terminal nur geöffnet, wenn noch kein Frame vorhanden ist. Wenn ein Frame vorhanden ist, wird der Puffer im Frame geöffnet.
Vamsi
@Vamsi Ah, du hast recht, danke. Einfache Dinge!
strNOcat