2010-11-30 5 views
3

Je suis récemment passé à emacsclient pour la plupart des modifications de texte. J'essaie de migrer certains de mes paramètres vers le nouvel environnement (et légèrement différent).Comment définir le style et le positionnement d'un client emacs nouvellement créé?

En particulier, dans mon fichier .emacs j'ai une fonction qui définit la taille de la fenêtre, et prépare des thèmes. Cependant, le code du fichier .emacs n'est pas exécuté à chaque invocation d'emacsclient. Les paramètres ne s'appliquent donc pas à ces fenêtres. Basé sur la question here, j'ai ajouté un crochet à 'server-visit-hook qui a appelé une fonction qui a exécuté mes paramètres. Toutefois, les paramètres ne sont pas appliqués lorsque je redémarre le serveur et appelez emacsclient.

Comment définir le style et le positionnement des nouvelles fenêtres emacsclient? Les parties pertinentes de mes emacs sont inclus ci-dessous:

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

Répondre

5

Démarrer emacsclient avec l'option -e, et l'utiliser pour lui dire de charger vos configs:

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

où ~/.emacsclient contient votre code de configuration. Vous voulez probablement définir un alias ou une option de menu afin de ne pas le taper à chaque fois que vous appelez emacsclient.

+0

Merci pour la réponse. Fonctionne la première fois que j'appelle emacsclient, mais les appels suivants au client n'invoquent pas le code de configuration. Connaissez-vous un hook invoqué chaque fois qu'une image est vue? –

+0

Je ne suis pas sûr. Comment fermez-vous le client? Est-ce important si vous fermez en supprimant la fenêtre vs invoquant serveur-edit, c.-à-d.: C-x # – Tyler

+0

Je prends mon premier commentaire en arrière ... Je cherchais la mauvaise chose pour déterminer si le 'load' fonctionnait. Votre suggestion fonctionne très bien! –

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

dans .emacs fait le travail.