Что может помочь, так это list-panes
команда, которую вы можете использовать -a
для всех. По умолчанию он не обеспечивает то, что вы хотите, но вы можете задать ему формат, в который, например, входят pane_current_path
и, возможно, достаточно других значений, чтобы вы могли решить, какую из панелей вы хотите скопировать. Например
$ tmux list-panes -a -F 'uniq=#D pane=#P title="#T" sess=#S windex=#I winnam=#W activ=# pwd=#' uniq=%0 pane=0 title="myhost 2" sess=0 windex=0 winnam=bash activ=0 pwd=/home/meuh uniq=%1 pane=1 title="myhost 3" sess=0 windex=0 winnam=bash activ=1 pwd=/home/meuh uniq=%2 pane=0 title="myhost 4" sess=1 windex=0 winnam=bash activ=0 pwd=/tmp uniq=%4 pane=1 title="myhost 5" sess=1 windex=0 winnam=bash activ=1 pwd=/usr/lib uniq=%3 pane=0 title="myhost 1" sess=2 windex=0 winnam=bash activ=1 pwd=/tmp
Значение каждой переменной, например, #D
для уникального идентификатора панели, описано на странице руководства в разделе ФОРМАТЫ. Вы можете выбрать самый большой из этих идентификаторов в качестве самой последней панели, а pwd=
значение - в качестве нужного каталога. Например, передайте указанную выше команду tmux в
| awk '} END'
Используя window_activity
переменную в более поздних tmuxes, которая дает время в секундах с начала последней активности в окне, вы можете упростить приведенное выше, перечислив только это значение и текущий путь, и выбрав путь для максимального значения активности:
tmux list-panes -a -F '# #' | awk '} END'