2010-10-21 15 views
19

Configuré un emacs --daemon para iniciar emacs más rápido. Me gusta especialmente la versión GUI de emacs, así que hago emacsclient -c para abrir un nuevo marco de emacs.Emacs: GUI con emacs --daemon no carga correctamente las fuentes

El problema es que he cambiado mis fuentes, pero estas fuentes no se cargan si comienzo emacsclient -c. Sin embargo, se aplican si comienzo solo emacs (pero esto hace que se evalúe el .emacs completo).

Entonces: ¿Hay alguna forma de aplicar la configuración de mi fuente también si inicio emacs con emacsclient -c?

Respuesta

22

En resumen, debe usar default-frame-alist para eso. De esta manera:

(setq default-frame-alist '((font . "Inconsolata-dz-15"))) 

Esto se evaluará cada vez que inicie un nuevo marco gráfico en Emacs. Aquí también guarda otras configuraciones relacionadas con el marco, como configuraciones para su fringe y tal.

+0

Gracias. Eso apuntó en la dirección correcta y me permitió solucionar el problema. – phimuemue

+0

Esto funciona bien pero tengo un efecto secundario, el resto de mi configuración incluida (tool-bar-mode -1) no está cargada con emacsclient -c entonces soluciono el problema de fuente pero cargo un marco con opciones predeterminadas, ¿alguna idea? – jrbalderrama

+0

Extraño. Pruebe a configurar '(tool-bar-mode 0)' en lugar de -1. Eso es lo que hago, y funciona para * NIX y OS X. Pero he incluido esto para Windows (en 'default-frame-alist'), no estoy seguro de si funciona (no uso Windows más de lo necesario) : '(tool-bar-lines. 0)' – monotux

4

Si está utilizando Emacs 23.2, cambiar la fuente de monoespaciado en GNOME también cambiará la fuente de Emacs. En la edición anterior que tendrá que hacer esto:

echo "Emacs.font: Monospace-10" >> ~/.Xresources 
xrdb 

Reemplazar Monoespaciado-10 con la fuente real que desea utilizar.

10

Lo siguiente probablemente haga lo que está buscando.

(add-to-list 'default-frame-alist '(font . "Inconsolata-12")) 
2

emacslient tiene una opción -F (--frame-parameters) que le permite especificar el tipo de letra de un marco de nueva creación

Ejemplo:

emacsclient -c -F '((font . "8x16"))' some_file