Има ли начин да получите ID на активния панел за tmux панели

Пиша bash скрипт, който преминава през всички отвори, които съм отворил, и изпълнява няколко команди за изпращане на ключове. Освен че искам да приложа някаква различна логика за прозореца, в който изпълнявам този скрипт, за да попреча на ключовете за изпращане да прекъсват скрипта.

Има ли команда за получаване на идентификатора на прозореца, в който работя в момента за tmux?


person eswidler    schedule 16.08.2014    source източник


Отговори (2)


Променливата на средата TMUX_PANE е това, което търсите.

person chepner    schedule 16.08.2014
comment
Това ми трябваше. Благодаря! - person eswidler; 18.08.2014

Има и променлива за формат pane_id, която се разширява до уникален идентификатор на панела.

Примерна употреба:

$ tmux run "echo 'This is unique pane id: #{pane_id}'"
person Community    schedule 19.08.2014
comment
За тези, които очакват да разчитат на това: не е вярно, ако имате множество активни сесии (т.е. ако tmux choose-tree -s и tmux choose-tree -w показват две различни неща). ${TMUX_PANE} е по-безопасно. - person Trey; 20.11.2019
comment
#{pane_id} е идентификаторът на текущия активен панел, а не панелът, в който е стартиран скриптът. Тези две могат да бъдат различни в много случаи, напр. ако започнете да изпълнявате скрипта си и междувременно превключите панела или ако изпълните командата в панел, различен от активния, напр. чрез tmux send-keys. - person Jakub Nowak; 14.04.2021