Estoy usando iTerm2 y Tmux.
Me gustaría cambiar el color de fondo de un panel Tmux, pero solo cuando se hace zoom. Sé que hay un indicador window_is_zoomed y me pregunto si puedo usar esto en una declaración if-Shell o en otro lugar para obtener el efecto deseado.
Respuesta1
Tome este resumen (dividido en varias líneas para facilitar la lectura) como ejemplo:
tmux set-hook -g after-resize-pane \
'if "[ #{window_zoomed_flag} -eq 1 ]" \
"run \"tmux select-pane -P bg=red\"" \
"run \"tmux select-pane -P bg=black\""
'
Ejecútelo en un shell interno tmux
y amplíe cualquier panel para probar la solución.
Notas:
Es
tmux
una solución pura, no depende de iTerm2.Hay tres niveles de comillas (comillas simples, comillas dobles, comillas dobles escapadas). Mientras ajusta el comando a sus necesidades, no los mezcle.
-g
significa que el gancho es global; sin-g
que sea un gancho de sesión.Desmonte el anzuelo con
tmux set-hook -gu after-resize-pane
.Para que la solución sea permanente, agregue esta línea a
~/.tmux.conf
(o/etc/tmux.conf
):set-hook -g after-resize-pane 'if "[ #{window_zoomed_flag} -eq 1 ]" "run \"tmux select-pane -P bg=red\"" "run \"tmux select-pane -P bg=black\""'