Como definir tamanhos de fonte diferentes para buffers e para a linha de modo?

14

Eu tenho essa linha no meu arquivo init.el para definir o tamanho da fonte em todos os quadros:

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

Funciona, mas eu gostaria de ter uma fonte maior em todos os buffers, mantendo uma fonte menor para a linha de modo (para que pudesse caber mais informações e ser menos perturbadora). A idéia é ter esse conjunto automaticamente sem precisar alterar o tamanho da fonte com Cx C- + para cada buffer aberto.

Estou usando o Emacs 25.0.50.1 compilado a partir do tronco em um sistema GNU / Linux.

Editar: acabou de adicionar uma resposta mostrando como isso pode ser feito.

undostres
fonte

Respostas:

14

Tente substituir o código para definir o tamanho da fonte por:

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

Obviamente, você desejará alterar os tamanhos ( 14e 10) para os valores que desejar .


Se você deseja personalizar um rosto específico e não sabe o nome dele, tente fazer

M-x list-faces-display RET

Isso fornecerá uma lista de todos os rostos (com visualizações) que você pode pesquisar por palavras-chave específicas.

itsjeyd
fonte
1
Obrigado, foi isso. A função list-faces-display mostra-se muito útil, pois existem 5 faces relacionadas à linha de modo que podem ser modificadas.
undostres 10/10
@undostres De nada :)
itsjeyd 10/10
Existe uma maneira de especificar a fonte em relação ao tema padrão? Especificando um tamanho de fonte específica pára a fonte de escala ao usar texto-scale-aumento / diminuição
jr0cket
7

Graças à resposta fornecida por itsjeyd, consegui escrever uma expressão curta para alterar o tamanho de todas as faces relacionadas à linha de modo para todos os quadros atuais e futuros.

Se você estiver usando outros temas além do padrão (como zenburn, etc.), o código deverá ser colocado após a declaração do tema; ou seja, após esta linha:

(load-theme 'solarized-light t)

Supondo que o tamanho da fonte padrão seja diferente de 10, o código seria:

(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 uma fonte menor, defina um valor menor ("DejaVu Sans Mono-9"). Outras fontes podem ser usadas: inconsolata, etc.

Editar: adicionada uma captura de tela mostrando os resultados. O tamanho da fonte na linha de modo é 10, enquanto o restante (buffers, etc.) é 12.

Fonte menor da linha de modo

undostres
fonte