tmux:常にセッションのウィンドウのリストを左側に表示します。

tmux:常にセッションのウィンドウのリストを左側に表示します。

tmuxは常に左側にセッションウィンドウのリストを表示したいと思います。

リスト内のウィンドウをクリックすると右側のウィンドウに切り替わり(プレビューなし - すぐにウィンドウに切り替えます)、フォーカスはそのウィンドウに変わりますが、左側の開いたウィンドウのリストはそのまま残ります。これでウィンドウが強調表示されます。結果は次のように見えます。mprocsから提供

私は思ったchoose-treeコマンドが役に立ちます。おそらくカスタムテンプレートを使用することもできます。通常、choose-treeユーザーはウィンドウを選択した後に消えるので、ユーザーはウィンドウを選択して再実行する必要があります(おそらく「while」ループで)。

この目標をどのように達成する必要がありますか?

ベストアンサー1

3 つのセッションを作成します。

  • menu
  • windows
  • mainには、水平に2つのウィンドウに分割されたウィンドウが含まれており、それぞれ接続されたクライアントmenuとセッションを実行しています。windows

ではループが実行されますmenuchoose-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ワンクリックではなくダブルクリックが必要です。
  • menuwindowsセッションを一番上に表示します(ツリーではなくウィンドウリストのみが必要です)。
  • menuセッションで新しいウィンドウを作成すると、自動的に更新されませんwindowsですが、遅延が発生します。
  • menu最も長いウィンドウ名の幅に合わせて自動的にサイズ変更されません。
  • menu「新しいウィンドウ」を右クリックするメニュー項目はありません。

おすすめ記事