iTerm2とTmuxを使用しています。
Tmux ペインの背景色を変更したいのですが、ズームしたときだけ変更したいです。window_is_zoomed フラグがあることは知っていますが、これを if-shell ステートメントまたは他の場所で使用して目的の効果を得ることができるかどうか疑問に思っています。
答え1
次のワンライナー (読みやすくするために複数行に分割) を例に挙げます。
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\""
'
シェル内で実行しtmux
、任意のペインをズームしてソリューションをテストします。
ノート:
これは純粋な
tmux
ソリューションであり、iTerm2 に依存しません。引用符には 3 つのレベルがあります (一重引用符、二重引用符、エスケープされた二重引用符)。コマンドを必要に応じて調整する際に、これらを混同しないでください。
-g
はフックがグローバルであることを意味します。ない場合は-g
セッション フックになります。でフックを解除します
tmux set-hook -gu after-resize-pane
。解決策を永続的にするには、次の行を
~/.tmux.conf
(または/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\""'