tmuxは常に左側にセッションウィンドウのリストを表示したいと思います。
リスト内のウィンドウをクリックすると右側のウィンドウに切り替わり(プレビューなし - すぐにウィンドウに切り替えます)、フォーカスはそのウィンドウに変わりますが、左側の開いたウィンドウのリストはそのまま残ります。これでウィンドウが強調表示されます。結果は次のように見えます。mprocsから提供。
私は思ったchoose-tree
コマンドが役に立ちます。おそらくカスタムテンプレートを使用することもできます。通常、choose-tree
ユーザーはウィンドウを選択した後に消えるので、ユーザーはウィンドウを選択して再実行する必要があります(おそらく「while」ループで)。
この目標をどのように達成する必要がありますか?
答え1
3 つのセッションを作成します。
menu
windows
main
には、水平に2つのウィンドウに分割されたウィンドウが含まれており、それぞれ接続されたクライアントmenu
とセッションを実行しています。windows
ではループが実行されますmenu
。choose-tree
- セッションのウィンドウのみを表示するようにフィルタリングします
windows
。 - 以下を呼び出すテンプレート
select-window
:
while true; do
tmux choose-tree -f '#{==:windows,#{session_name}}' \
'select-window -t %%; select-pane -t main:0.1'
done
基本セッションに接続します。
すること:
- ウィンドウを選択すると、選択したウィンドウが
menu
上部に戻ります。 - ウィンドウの選択には、
menu
ワンクリックではなくダブルクリックが必要です。 menu
windows
セッションを一番上に表示します(ツリーではなくウィンドウリストのみが必要です)。ですが、遅延が発生します。menu
セッションで新しいウィンドウを作成すると、自動的に更新されませんwindows
。menu
最も長いウィンドウ名の幅に合わせて自動的にサイズ変更されません。menu
「新しいウィンドウ」を右クリックするメニュー項目はありません。