Tout d’abord je ne sais pas si le terme font
se traduit par police en français mais le but de cet article est de montrer comment on peut changer la taille de l’affichage dans Emacs.
Je n’expliquerai pas toutes les subtilités de l’affichage dans Emacs car je suis loin d’avoir tout compris. Malgré tout j’arrive à changer la taille de l’affichage du texte comme je le souhaite.
Tout à commencé par un petit truc agaçant (tout commence par un petit problème), je trouvais que l’affichage sur l’écran de mon portable était plus petit que quand j’étais plus jeune. La configuration était correcte sur un grand écran au bureau mais difficile à lire sur l’écran du portable.
Changement rapide
On peut donc rapidement changer la taille de l’affichage avec un raccourci clavier pour le buffer actuel. Ces raccourcis sont :
- C-x C-+ ou C-x C-= pour augmenter la taille
- C-x C-- pour diminuer la taille
- C-x C-0 pour revenir à la taille par défaut
C’est très pratique mais cela ne s’applique qu’au buffer courant.
Pour avoir un changement global à Emacs on peut utiliser :
(set-face-attribute 'default nil :height 120)
La taille est exprimée en 1/10pt donc on se retrouve ici avec une taille 12.
Le changement va s’apppliquer à tous les buffers.
On peut évaluer cette fonciton avec M-:
ou la placer dans son ~/.emacs
.
Fonction pour choisir une taille prédéfinie
Pour avoir un réglage facile à choisir j’ai fait une fonction.
(defun tm-change-font-size ()
"Change la taille de police par défaut."
(interactive)
(let* ((choix '(("Bureau" . tm-font-size-desktop)
("Portable" . tm-font-size-laptop)))
(selection (completing-read "Choisissez une option : " choix nil t)))
(funcall (alist-get selection choix nil nil 'equal))))
(defun tm-font-size-desktop ()
"Commande à exécuter pour régler la taille de police pour le bureau."
(message "Vous avez choisi destkop.")
(set-face-attribute 'default nil :height 100)
)
(defun tm-font-size-laptop ()
"Commande à exécuter pour régler la taille de police pour le portable."
(message "Vous avez choisi laptop.")
(set-face-attribute 'default nil :height 120)
)
Je peux maintenant appeler la fonction tm-change-font-size
pour avoir l’affichage d’Emacs comme je le souhaite.
Fonction pour basculer entre deux configurations
(defun tm-toggle-font-size ()
"Bascule entre la taille de police desktop et la taille laptop."
(interactive)
(let* ((size (face-attribute 'default :height)))
(print size)
(if (<= size '100)
(tm-font-size-laptop)
(tm-font-size-desktop)
)))
Il ne reste plus qu’à choisir si besoin un raccourci clavier.