Ghostty : mon nouveau terminal sous Fedora 44

Ghostty : mon nouveau terminal sous Fedora 44

Récemment, j’ai profité de ma migration de Fedora 43 vers Fedora 44 pour faire quelques ajustements sur mon environnement de travail.

Pendant longtemps, j’ai utilisé GNOME Terminal sans vraiment me poser de questions. Puis j’ai découvert Tilix, que j’ai apprécié pour sa gestion des splits et son approche plus orientée « power user ». Le problème, c’est que le projet évolue très peu aujourd’hui et reste basé sur GTK3.

Il y a quelque temps, j’avais donc décidé de migrer vers Ptyxis, le nouveau terminal moderne de l’écosystème GNOME basé sur GTK4. L’intégration est excellente, mais il lui manque encore quelques fonctionnalités et possibilités de personnalisation qui me gênaient au quotidien.

Plus récemment, j’ai découvert Ghostty suite à l’annonce de son créateur concernant la migration du projet de GitHub vers Codeberg. Le terminal est volontairement minimaliste, très rapide et moderne. Toute la configuration passe par un simple fichier texte : ce n’est pas forcément l’approche la plus user-friendly, mais elle est finalement très efficace dès qu’on prend le temps de lire la documentation.

Pour l’installer, sous Fedora, pour le moment, il faut passer par Copr :

$ sudo dnf copr enable scottames/ghostty
$ sudo dnf install ghostty
Ghostty
Ghostty

Voici ma configuration actuelle :

language = fr

# Theme
theme = light:Nord Light,dark:Nord
background-opacity = 0.9
background-blur = true
unfocused-split-opacity = 0.2
mouse-hide-while-typing = true
 
# Font
font-family = "SauceCodePro Nerd Font Mono"
font-size = 11
font-feature = +liga

# SSH VS xterm-ghostty
shell-integration = zsh
shell-integration-features = ssh-env

Quelques explications sur les options utilisées :

language = fr

Force l’interface de Ghostty en français.

theme = light:Nord Light,dark:Nord

Utilise automatiquement le thème Nord clair ou sombre en fonction du thème GNOME actif.

background-opacity = 0.9

Ajoute une légère transparence au terminal.

background-blur = true

Active un flou sur l’arrière-plan lorsqu’une transparence est utilisée. L’effet dépend du compositeur Wayland utilisé.

unfocused-split-opacity = 0.2

Réduit l’opacité des splits inactifs afin de mieux distinguer le terminal actif.

mouse-hide-while-typing = true

Cache automatiquement le curseur de la souris pendant la frappe.

font-family = "SauceCodePro Nerd Font Mono"

Utilise SauceCodePro Nerd Font Mono, pratique pour les icônes et symboles utilisés par certains outils CLI modernes.

font-size = 11

Définit la taille de la police.

font-feature = +liga

Active les ligatures typographiques pour certains symboles (!=, =>, ==, etc.).

shell-integration = zsh

Active l’intégration native avec Zsh.

shell-integration-features = ssh-env

Transmet certaines variables d’environnement utiles lors des connexions SSH.

Le split sur Ghostty
Le split sur Ghostty

Cette configuration me permet d’obtenir un terminal sobre, moderne et bien intégré à GNOME, tout en gardant une apparence cohérente avec le thème Nord que j’utilise partout ailleurs.

Petite subtilité toutefois : au départ, j’avais configuré ceci :

shell-integration-features = ssh-env,ssh-terminfo

Le problème, c’est que Ghostty exportait alors une valeur TERM=xterm-ghostty. Certains serveurs distants ne connaissaient pas ce terminal et cela provoquait divers problèmes d’affichage ou de compatibilité avec certaines applications en console.

En retirant ssh-terminfo, Ghostty cesse de propager cette valeur distante et tout fonctionne beaucoup plus proprement sur les serveurs qui ne disposent pas des entrées terminfo adaptées.

Avatar de Guillaume Kulakowski

À propos de l’auteur

Commentaires

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.

Derniers articles sur le journal

Articles à la une