indicação visual do tmux se os painéis estiverem sincronizados

13

É possível que o tmux tenha algum indicador visual se os painéis sincronizados estiverem ativados para a janela?

Talvez a barra de status mude para azul ou apenas uma estrela apareça em algum lugar?

Costumo definir painéis sincronizados, sair por algumas horas e voltar para esquecer se está ativado ou não.

cvondrick
fonte

Respostas:

12

A pane_synchronizedvariável format pode ser usada com formatação condicional para ajustar bits das várias opções de status de uso do formato.

Você pode adicionar  SYNC!!!um plano de fundo azul ao final de status-right:

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

Ou você pode adicionar asteriscos azuis em torno da entrada na lista de janelas:

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

(o #I:#W#Fmeio é o formato padrão)

Você também pode querer ajustar window-status-formatse quiser saber quando os painéis de uma janela inativa são sincronizados.

Chris Johnsen
fonte
3
Obrigado pelas dicas! Eu combinei com caracteres Unicode para produzir os seguintes rótulos de janela: " #{?pane_synchronized,⛓ , }#W ".
KPasso
foi com uma solução um pouco mais inchada e FWR meu 🧠 pensa 🏊‍♀️ ao pensar na palavra sincronizar 🤷‍♂️ # estilos para janelas ## estilos para a janela ativa atual setw -g window-status-current-format "#[fg=#000000]#[bg=colour208] #I:#W#{?window_zoomed_flag,🔍,}#{?pane_synchronized,🏊‍♀️🏊‍♀️,}" ## estilos para janelas inativas, ie. janelas de fundo setw -g window-status-format "#I:#W#{?window_zoomed_flag,🔍,},#{?pane_synchronized,🏊‍♀️🏊‍♀️,}" E sim, a lente mag parece uma raquete de pingue-pongue ... tenho que trabalhar nessa.
Ipatch 16/03/19
1

Estas são as linhas do meu tmux.conf que ativam e desativam a sincronização do painel. Nos comandos, também defino a cor da barra de status.

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

Essa é uma solução incompleta para mim, porque quando alterno para outra janela onde os painéis não estão sincronizados, a barra de status permanece vermelha.

Mnebuerquo
fonte
0

aqui está o que eu uso na minha configuração:

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

Ele exibirá o nome do host no lado esquerdo da barra de status e a palavra "SINCRONIZAR" em verde, se estiver sincronizada, e amarela, se não.

John C
fonte