Construire d’abord, figer ensuite 🧊

Construire d’abord, figer ensuite 🧊

En pratique, une session tmux se rĂšgle rarement du premier coup : des volets (panes) changent de rĂŽle, des fenĂȘtres sont rĂ©organisĂ©es, et les commandes Ă©voluent aussi.

tmuxp peut ĂȘtre utile quand la session commence Ă  se stabiliser. Au lieu de tout dĂ©finir trop tĂŽt dans le YAML, construisez d’abord la session dans tmux, fenĂȘtre par fenĂȘtre et volet par volet. Figez-la ensuite quand elle est stable.

Projet tmuxp

Projet officiel : tmuxp/tmuxp

Configuration YAML exploratoire au dĂ©but, avant que les rĂŽles des volets et des fenĂȘtres ne se stabilisent Ă  l’usage

Méthode pratique

1. Démarrer une session tmux

CrĂ©ez une session tmux, ou rattachez-vous Ă  une session existante. Vous pourrez ensuite vous y reconnecter, l’exporter et la recharger.

Terminal zsh
$ tmux new-session -As sensors

sensors sert ici d’exemple pour une session de monitoring, mais la mĂȘme approche fonctionne avec d’autres sessions tmux.

2. Ajuster la session à l’usage

Servez-vous-en et ajustez-la au fur et Ă  mesure : gardez les volets vraiment utiles, redimensionnez pour y voir clair, renommez les fenĂȘtres quand ça aide, puis rĂ©affectez les volets selon le besoin.

Session tmux en cours d’usage aprĂšs plusieurs ajustements de volets et de fenĂȘtres, au moment oĂč la disposition est prĂȘte Ă  ĂȘtre enregistrĂ©e

3. Exporter la session quand elle est stable

Quand les volets et leurs rÎles sont à peu prÚs fixés, exportez la session en cours dans un fichier de configuration tmuxp.

Terminal zsh
$ tmuxp freeze sensors -o sensors.yaml

Configuration tmuxp exportée depuis la session en cours

Important

tmuxp freeze exporte la session en cours dans un fichier de configuration tmuxp. C’est une bonne base pour la recharger ensuite. En revanche, ce n’est pas un instantanĂ© complet du shell ni des processus en cours, et l’export peut reprendre des commandes temporaires Ă  nettoyer.

4. Nettoyer le YAML si besoin

Gardez les volets et les fenĂȘtres, puis retouchez seulement les commandes Ă  rejouer.

YAML de l’espace de travail aprĂšs nettoyage du comportement au rechargement, avec volets d’action prĂ©parĂ©s et volets d’observation lancĂ©s automatiquement

Dans ce sensors.yaml retouché :

  • enter: false est appliquĂ© aux volets d’action pour prĂ©charger les commandes sans exĂ©cution automatique.
  • Les deux volets de surveillance, qui exĂ©cutent watch, se lancent automatiquement, car ce sont des volets d’observation.
  • start_directory: /workspace ouvre le volet dans /workspace, pour retrouver le bon rĂ©pertoire dĂšs le chargement.
  • focus: true place le focus sur ce volet.

5. Charger le YAML

Terminal zsh
$ tmux has-session -t sensors 2>/dev/null && tmux kill-session -t sensors; tmuxp load ./sensors.yaml

Vérifiez que les volets reviennent comme prévu et que les commandes font bien ce que vous attendez. Sinon, ajustez le YAML puis chargez-le de nouveau.

Session rechargĂ©e depuis l’espace de travail tmuxp et prĂȘte Ă  ĂȘtre rĂ©utilisĂ©e

Travaillez d’abord dans tmux, exportez la session avec tmuxp freeze 🧊, puis ne retouchez le YAML que si besoin.