Indicación visual tmux si los paneles están sincronizados

13

¿Es posible que tmux tenga algún indicador visual si los paneles sincronizados están habilitados para la ventana?

¿Quizás la barra de estado cambia a azul, o solo aparece una estrella en alguna parte?

A menudo configuro paneles sincronizados, me voy unas horas y vuelvo para olvidar si está habilitado o no.

cvondrick
fuente

Respuestas:

12

La pane_synchronizedvariable de formato se puede usar con el formato condicional para ajustar los bits de las diversas opciones de estado que utilizan el formato.

Puede agregar  SYNC!!!un fondo azul al final de status-right:

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

O puede agregar asteriscos azules alrededor de la entrada en la lista de ventanas:

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

(el #I:#W#Fen el medio es el formato predeterminado)

También es posible que desee ajustar window-status-formatsi desea saber cuándo se sincronizan los paneles de una ventana inactiva.

Chris Johnsen
fuente
3
¡Gracias por los consejos! He combinado con caracteres Unicode para producir las siguientes etiquetas de ventana: " #{?pane_synchronized,⛓ , }#W ".
kstep
fue con una solución un poco más hinchada, y FWR mi 🧠 piensa 🏊‍♀️ cuando piensa en la palabra sincronizar 🤷‍♂️ # estilos para Windows ## estilos para la ventana activa actual setw -g window-status-current-format "#[fg=#000000]#[bg=colour208] #I:#W#{?window_zoomed_flag,🔍,}#{?pane_synchronized,🏊‍♀️🏊‍♀️,}" ## estilos para ventanas inactivas, es decir. ventanas de fondo setw -g window-status-format "#I:#W#{?window_zoomed_flag,🔍,},#{?pane_synchronized,🏊‍♀️🏊‍♀️,}" Y sí, la lente magnética parece una paleta de ping pong ... tengo que trabajar en eso.
ipatch
1

Estas son las líneas de mi tmux.conf que activan y desactivan la sincronización de paneles. En los comandos también configuro el color de la barra de estado.

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."

Esta es una solución incompleta para mí, porque cuando cambio a otra ventana donde los paneles no están sincronizados, la barra de estado permanece en rojo.

Mnebuerquo
fuente
0

Esto es lo que uso en mi configuración:

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

Mostrará el nombre de host en el lado izquierdo de la barra de estado, luego la palabra "SINCRONIZAR" en verde si está sincronizada y amarilla si no.

John C
fuente