¿Cómo puedo configurar diferentes tamaños de fuente para buffers y para la línea de modo?

14

Tengo esta línea en mi archivo init.el para establecer el tamaño de la fuente en todos los marcos:

(push '(font . "DejaVu Sans Mono-10") default-frame-alist)

Funciona, pero me gustaría tener una fuente más grande en todos los búferes mientras mantengo una más pequeña para la línea de modo (para que pueda caber más información y distraer menos). La idea es tener este conjunto automáticamente sin tener que cambiar el tamaño de fuente con Cx C- + para cada búfer abierto.

Estoy usando Emacs 25.0.50.1 compilado desde troncal en un sistema GNU / Linux.

Editar: acabo de agregar una respuesta que muestra cómo se puede hacer.

undostres
fuente

Respuestas:

14

Intente reemplazar el código para configurar el tamaño de fuente con esto:

(set-face-attribute 'default nil :font "DejaVu Sans Mono-14")
(set-face-attribute 'mode-line nil :font "DejaVu Sans Mono-10")

Por supuesto, querrá cambiar los tamaños ( 14y 10) a los valores de su agrado.


Si desea personalizar una cara específica y no sabe su nombre, intente hacerlo

M-x list-faces-display RET

Esto le dará una lista de todas las caras (con vistas previas) en las que puede buscar palabras clave específicas.

itsjeyd
fuente
1
Gracias, eso fue todo. La función de visualización de lista de caras demuestra ser muy útil ya que hay 5 caras relacionadas con la línea de modo que se pueden modificar.
Desnuda el
@undostres De nada :)
itsjeyd
¿Hay alguna manera de especificar la fuente en relación con el tema predeterminado? La especificación de un tamaño de fuente específico detiene el escalado de la fuente cuando se usa el aumento / disminución de escala de texto
jr0cket
7

Gracias a la respuesta proporcionada por itsjeyd, logré escribir una expresión corta para cambiar el tamaño de todas las caras relacionadas con la línea de modo para todos los cuadros actuales y futuros.

Si está utilizando otros temas además del predeterminado (como zenburn, etc.), el código debe colocarse después de haber declarado el tema; es decir, después de esta línea:

(load-theme 'solarized-light t)

Suponiendo que su tamaño de fuente predeterminado sea distinto de 10, el código sería:

(let ((faces '(mode-line
               mode-line-buffer-id
               mode-line-emphasis
               mode-line-highlight
               mode-line-inactive)))
     (mapc
      (lambda (face) (set-face-attribute face nil :font "DejaVu Sans Mono-10"))
      faces))

Para una fuente más pequeña, establezca un valor más pequeño ("DejaVu Sans Mono-9"). Se pueden utilizar otras fuentes: inconsolata, etc.

Editar: se agregó una captura de pantalla que muestra los resultados. El tamaño de fuente en la línea de modo es 10 mientras que el resto (buffers, etc.) es 12.

Fuente de línea de modo más pequeña

undostres
fuente