2010-11-30 2 views
3

Ich habe vor kurzem zu Emacsclient für die meisten Textbearbeitung gewechselt. Ich versuche, einige meiner Einstellungen in die neue (und etwas andere) Umgebung zu migrieren.Wie kann ich das Styling und die Positionierung eines neu erstellten Emacsclients einstellen?

Insbesondere in meiner .emacs Datei habe ich eine Funktion, die die Fenstergröße einstellt und einige Themen vorbereitet. Der Code in der .emacs-Datei wird jedoch nicht bei jedem Aufruf von emacsclient ausgeführt, daher gelten die Einstellungen für diese Fenster nicht. Basierend auf der Frage here, fügte ich einen Haken zu 'server-visit-hook, die eine Funktion aufgerufen, die meine Einstellungen ausgeführt. Die Einstellungen werden jedoch nicht angewendet, wenn ich den Server neu starte und Emacsclient aufruft.

Wie kann das Styling und die Positionierung neuer Emacsclient-Fenster eingestellt werden? Relevante Teile meiner .emacs sind nachfolgend aufgeführt:

(defun gui-mode() 
    (set-face-attribute 'default nil :font "Monospace-8") 
    (require 'theme-wombat) 
    (set-frame-size-according-to-resolution)) 

(add-hook 'server-visit-hook 'gui-mode) 

(when window-system 
    (gui-mode)) 

Antwort

5

starten emacsclient mit der Option -e, und verwenden Sie, dass es zu sagen, Ihre configs zu laden:

emacsclient -c -e '(load "~/.emacsclient")' 

wo ~/.emacsclient enthält Ihre Konfigurationscode. Wahrscheinlich möchten Sie einen Alias ​​oder eine Menüoption definieren, so dass Sie diese nicht bei jedem Aufruf von emacsclient eingeben.

+0

Danke für die Antwort. Funktioniert beim ersten Aufruf von emacsclient, aber nachfolgende Aufrufe an den Client rufen den Konfigurationscode nicht auf. Kennen Sie einen Haken, der jedes Mal aufgerufen wird, wenn ein Frame angezeigt wird? –

+0

Ich bin mir nicht sicher. Wie schließt du den Kunden? Ist es wichtig, wenn Sie schließen, indem Sie das Fenster gegen das Aufrufen von Server-Edit beenden, zB: C-x # – Tyler

+0

Ich nehme meinen ersten Kommentar zurück ... Ich war auf der Suche nach dem Falschen, um zu bestimmen, ob die 'Last' funktionierte. Ihr Vorschlag funktioniert so gut wie es ist! –

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

in .emacs erledigt den Job.

Verwandte Themen