tao - tmux tutorial
tmux: cómo activar las opciones "on" y "off" con la misma tecla (4)
Esto debería ser posible con una combinación de run-shell
y tmux show-option
, algo así como (probado en tmux 2.3):
bind a run-shell "if [[ `tmux show-options -w | grep ''synchronize-panes.*on''` ]]; then toggle=off; else export toggle=on; fi; tmux display-message /"sync panes tmux: /$toggle/"; tmux set-option -w synchronize-panes /$toggle &> /dev/null"
(Esta es una variación de un conmutador en modo ratón que se encuentra en la lista de correo del usuario de TMux )
Este es un poco de mi tmux.conf
cat tmux.conf
...
bind a set-window-option synchronize-panes on
bind b set-window-option synchronize-panes off
Como puede ver, las opciones de sincronización y desincronización para paneles están vinculadas a dos claves diferentes. ¿Es posible alternar sincronización / no sincronización con la misma tecla?
Si no especifica explícitamente "on" u "off", la opción se cambiará. Lo siguiente sería suficiente:
bind-key a set-window-option synchronize-panes/; display-message "synchronize-panes is now #{?pane_synchronized,on,off}
Una solución más genérica basada en la respuesta de Frank Schmitt:
!/usr/bin/bash
USAGE="USAGE: $0 OPTION_NAME ON_STATE OFF_STATE"
OPTION_NAME=$1
ON_STATE=$2
OFF_STATE=$3
if [[ "$#" != 3 ]]; then
echo $USAGE
exit 1
fi
if [[ `tmux show-option -w | grep "$OPTION_NAME $ON_STATE"` ]]; then
OPTION_VALUE=$OFF_STATE
else
OPTION_VALUE=$ON_STATE
fi
tmux display-message "monitor activity: $OPTION_NAME $OPTION_VALUE"
tmux set-option -w $OPTION_NAME $OPTION_VALUE > /dev/null
El script toma el nombre de la opción, el valor de encendido y el valor de apagado. No muy bien probado pero funciona para casos simples como:
PATH_TO_SCRIPT_ABOVE monitor-activity on off
En tu .tmux.conf:
bind-key <SOME_KEY> run-shell "tmux_toggle_option monitor-activity on off"
no lo conecte encendido o apagado es alternar bind-key a set-window-option synchronize-panes