Как переключить фокус на вкладку терминала Gnome с помощью команды Script или Shell
В настоящее время я пишу скрипт для открытия нескольких вкладок в gnome-терминал и установки их названий. Я могу открыть несколько вкладок, но мне нужно изменить фокус на эти вкладки (программно), чтобы установить их названия из моего сценария.
Я использую zsh и bash взаимозаменяемо, поэтому любые команды bash должны работать нормально. Я начинаю знакомиться с xdotool
а также wmctrl
, но не уверен в комбинации команд для переключения фокуса на открытую вкладку.
Какие команды я могу использовать, чтобы "переключиться на следующую открытую вкладку" или "переключиться на вкладку N" из CLI терминала gnome?
0 ответов
Для отправки сигнала из Bash Shell используйте xdotool
:
sudo apt install xdotool
В вашем скрипте введите следующую команду:
xdotool key Control+Page_Up
Вы можете просто установить заголовок вкладок при их открытии:
gnome-terminal --geometry=80x25+0+0 --window --working-directory=<Firtst Tab Dir> \
--title='<First Tab Title>' --command="bash" \
--tab --working-directory=<Second Tab Dir> --title='<Second Tab Title>' \
--command="bash" and so on...
Я бы написал как комментарий, но пока для этого недостаточно репутации
Я решил это с помощью xdotool
В одной строке сначала откройте новую вкладку с key
команда. По умолчанию фокус переключается на эту вкладку. Затем используйтеtype
команда для запуска функции, сценария или другой программы на новой вкладке. Наконец, используйтеkey
команду "нажать ввод". Повторите эти действия для N-многих вкладок!
# inside a file loaded by .bashrc which contains all my functions:
function setupterm() {
# run a command, like set a title, in the current window/tab
customCommandOne
# do the needful as described above
xdotool key Control+Shift+t && xdotool type customCommandTwo && xdotool key Return
# repeat for n-many tabs
xdotool key Control+Shift+t && xdotool type customCommandThree && xdotool key Return
# return focus to first tab
xdotool key Control+Page_Down
}