Mercredi 15 mai 2024 à 21:59

Je viens de modifier ma configuration (dotfiles) tmux :

https://github.com/stephane-klein/dotfiles/commit/f370721781f6ea1b72c1954f43ce50196112e72e

La configuration suivante

set -g window-status-current-format "#[fg=colour231,bg=colour33,bold] #{?window_name,#{window_name},#{b:pane_current_path}} #[nobold]"
set -g window-status-format "#[fg=colour33,bg=colour254,bold] #{?window_name,#{window_name},#{b:pane_current_path}} #[nobold]"

permet de définir cette ligne status :

Pour chaque fenêtre est affichée soit le nom de la fenêtre, soit le nom du dossier courant du shell actif dans la fenêtre.

La syntaxe suivante est documentée ici :

#{?window_name,#{window_name},#{b:pane_current_path}}

Ce qui signife #{?condition,true_value,false_value}.

La configuration suivante

bind-key c new-window -c "#{pane_current_path}" -n ""

-n "" permet de définir par défaut le nom des nouvelles fenêtres avec un chaine vide.


Journaux liées à cette note :

Journal du mercredi 15 mai 2024 à 22:45 #tmux, #JePense, #JeMeDemande

Réflexion en travaillant sur 2024-05-15_2159 :

tmux is designed to be easy to script. Almost all commands work the same way when run using the tmux binary as when run from a key binding or the command prompt inside tmux. (from)

Voici un exemple de ce que je trouve élégant dans le design de tmux.
Les commandes tmux, comme par exemple set :

  • peut être exécuté via le shell avec l'exécutable tmux :
$ tmux set -g window-status-current-format "Foobar"
  • peut être utilisé dans le fichier de configuration tmux.conf :
set -g window-status-current-format "Foobar"
  • mais aussi en configurant un raccourcie clavier (ici cet exemple n'a pas trop de sens) :
bind-key x set -g window-status-current-format "Foobar"

C'est ce qui est expliqué ici :

Each command is named and can accept zero or more flags and arguments. They may be bound to a key with the bind-key command or run from the shell prompt, a shell script, a configuration file or the command prompt. For example, the same set-option command run from the shell prompt, from ~/.tmux.conf and bound to a key may look like:

  • $ tmux set-option -g status-style bg=cyan
  • set-option -g status-style bg=cyan
  • bind-key C set-option -g status-style bg=cyan

Le fonctionnement de tmux me fait aussi penser à i3 et sway…, plus précisément, les commandes utilisés dans leurs fichiers de configuration sont aussi exécutables via i3-msg commandname ou swaymsg commandename.

#JePense que c'est "çà" l'esprit Unix, des logiciels pour les utilisateurs qui ont un hacker mindset 🤔.

#JeMeDemande quels sont les autres logiciels qui suivent cet adn de tmux 🤔.