如何通过脚本或Shell命令将焦点切换到Gnome终端选项卡

时间:2018-08-31 20:34:08

标签: bash ubuntu gnome-terminal xdotool wmctrl

我目前正在编写脚本以在gnome-terminal中打开几个选项卡,并设置其标题。我可以打开多个标签,但是我需要(以编程方式)将焦点转移到这些标签上,以便从脚本中设置其标题。

我可以交替使用zsh和bash,因此任何bash命令都可以正常工作。我开始熟悉xdotoolwmctrl,但不确定将焦点切换到打开选项卡的命令组合。

我可以使用哪些命令从gnome终端CLI“切换到下一个打开的选项卡”或“切换到 N 选项卡”?

3 个答案:

答案 0 :(得分:1)

您可以在打开标签时设置标题:

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...

我本来可以发表评论,但是还没有足够的声誉

答案 1 :(得分:0)

要从Bash Shell发送信号,请使用SELECT f1.Name as Friend, f2.Friend as FOF FROM friends f1 JOIN friends f2 ON f1.Friend = f2.Name WHERE (f1.name,f2.friend) not in (SELECT f3.name,f3.Friend from friends f3);

xdotool

在脚本中发出以下命令:

sudo apt install xdotool

答案 2 :(得分:0)

我用xdotool

解决了这个问题

首先,用key命令打开一个新标签页。默认行为是将焦点切换到此选项卡。然后,使用type命令在新选项卡中运行函数,脚本或其他程序。最后,使用key命令“按Enter”。对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
}