indication visuelle tmux si les volets sont synchronisés

13

Est-il possible pour tmux d'avoir un indicateur visuel si les volets synchronisés sont activés pour la fenêtre?

Peut-être que la barre d'état devient bleue ou qu'une étoile apparaît quelque part?

Je règle souvent des volets synchronisés, je pars quelques heures et je reviens pour oublier s'il est activé ou non.

cvondrick
la source

Réponses:

12

La pane_synchronizedvariable de format peut être utilisée avec un formatage conditionnel pour ajuster les bits des différentes options de statut utilisant le format.

Vous pouvez ajouter  SYNC!!!un fond bleu à la fin de status-right:

set-option -ag status-right '#{?pane_synchronized, #[bg=blue]SYNC!!!#[default],}'

Ou vous pouvez ajouter des astérisques bleus autour de l'entrée dans la liste des fenêtres:

set-option -gw window-status-current-format '#{?pane_synchronized,#[fg=blue]***#[default],}#I:#W#F#{?pane_synchronized,#[fg=blue]***#[default],}'

(le #I:#W#Fmilieu est le format par défaut)

Vous pouvez également souhaiter ajuster window-status-formatsi vous voulez savoir quand les volets d'une fenêtre inactive sont synchronisés.

Chris Johnsen
la source
3
Merci pour les conseils! J'ai combiné avec des caractères unicode pour produire les étiquettes de fenêtre suivantes: " #{?pane_synchronized,⛓ , }#W ".
kstep
est allé avec une solution un peu plus gonflée, et FWR mon 🧠 pense 🏊‍♀️ en pensant au mot synchroniser 🤷‍♂️ # styles pour windows ## styles pour la fenêtre active actuelle setw -g window-status-current-format "#[fg=#000000]#[bg=colour208] #I:#W#{?window_zoomed_flag,🔍,}#{?pane_synchronized,🏊‍♀️🏊‍♀️,}" ## styles pour les fenêtres inactives, ie. fenêtres d'arrière-plan setw -g window-status-format "#I:#W#{?window_zoomed_flag,🔍,},#{?pane_synchronized,🏊‍♀️🏊‍♀️,}" Et oui, l'objectif du mag ressemble à une raquette de ping-pong ... je dois y travailler.
ipatch
1

Ce sont les lignes de mon tmux.conf qui activent et désactivent la synchronisation des volets. Dans les commandes, j'ai également défini la couleur de la barre d'état.

bind C-y set-window-option synchronize-panes on \; set-window-option status-bg red \; display-message "Panes synchronized."
bind C-u set-window-option synchronize-panes off \; set-window-option status-bg green \; display-message "Panes un-synchronized."

C'est une solution incomplète pour moi, car lorsque je passe à une autre fenêtre où les volets ne sont pas synchronisés, la barre d'état reste rouge.

Mnebuerquo
la source
0

voici ce que j'utilise dans ma config:

set -g status-left " #[fg=white,bold][#h] #{?pane_synchronized,#[fg=green]SYNC ,#[fg=yellow]SYNC }"

Il affichera le nom d'hôte sur le côté gauche de la barre d'état, puis le mot "SYNC" en vert s'il est synchronisé et en jaune sinon.

John C
la source