tmuxは特定のウィンドウで押したキーを監視できますか? (その後、 `send-keys`を発行してください)

tmuxは特定のウィンドウで押したキーを監視できますか? (その後、 `send-keys`を発行してください)

窓が欲しい腹膜ユーザーは、「ビデオ」(文字通りアニメーションプレーンテキスト)を別のウィンドウで再生しながら、さまざまな操作(コマンド入力、スクリプト作成など)を実行できます。ユーザーはasciinemaウィンドウに切り替えて<space>を押してビデオを一時停止/再生できます。そのウィンドウを見て、ユーザーが録音を一時停止/再生してから実行して、再生tmux send-keys中のmp3ファイルを一時停止/再生するときを見たいです。CMUS別のウィンドウで。

tmux watch-pane私に似たものが見つかりませんでしたtmux listen。そんなことがありますか?このユースケースでは、asciinemaで入力されたスペースとユーザーが実際に押したボタンを区別する必要があります。

私は使用していますが、manページに関する内容やtmux 2.1内容はまったく表示されません。しかし、新しいバージョンではコマンドが提供されますか?watchlisten

ベストアンサー1

これを達成しようとするさまざまな複雑さのいくつかの方法があります。

  • 目的のウィンドウでスペースバーを押したときに目的の操作を実行するために、ルートテーブルにスペースバーをバインドできます。おそらく次のようになります。

    bind -n Space if -F '#{m:*asciinema*:#{pane_current_command}}' 'send -t:mycmuswindow Space; send Space' 'send Space'
    

    または、Pane_titleまたはPane_current_commandが機能しない場合は、何でも可能です。

  • Asciinema ウィンドウで Monitor-silence をオンにして Alert-silence フックを使用して、同様の方法で Space を cmus ウィンドウに送信できます。

  • 制御モードを使用して、asciinemaウィンドウからデータを受け取り、Spaceを送信するスクリプトを作成できます。この時点で、検索可能なウィンドウに認識できる内容(「一時停止」など)を印刷するとします。

おすすめ記事