我有一个终结者布局,如下所示:
+-----+-----+
| | 2 |
| 1 +-----+
| | 3 |
+-----+-----+
当我启动 Terminator 时,子终端 3 获得焦点。是否有一个配置指令我可以通过 pref gui 或 ~/.config/terminator/config 使用,该指令将在启动时为子终端 1 提供初始焦点?
编辑
我的配置中的布局部分如下所示:
[layouts]
[[default]]
[[[child0]]]
position = 0:0
type = Window
order = 0
parent = ""
size = 1920, 1030
[[[child1]]]
position = 960
type = HPaned
order = 0
parent = child0
[[[child3]]]
position = 515
type = VPaned
order = 1
parent = child1
[[[terminal2]]]
profile = default
type = Terminal
order = 0
parent = child1
[[[terminal5]]]
profile = default
type = Terminal
order = 1
parent = child3
[[[terminal4]]]
profile = default
type = Terminal
order = 0
parent = child3
答案1
以下是我对您的个人资料设置进行的测试:
nohup terminator -l TestProfile --command="xdotool key Ctrl+Tab;$SHELL" & 2>/dev/null
此命令从 gnome-terminal 运行,使用您指定的布局打开终结器,并执行两个命令 -xdotool key Ctrl+Tab
和$SHELL
。xdotool 基本上是键盘或鼠标行为的模拟器,一旦终结器启动,它就会模拟按 Ctrl+Tab,这会使焦点从窗口 3 切换到窗口 1。$SHELL
环境变量然后扩展到您的 shell(例如,对我来说它是 /bin/mksh),这样,一旦 xdotool 命令完成,窗口就不会退出。
您可以将脚本绑定到快捷方式(脚本的完整路径)或创建。桌面文件(在您的 中~/.config/autostart
)以在启动时启动整个设置。脚本必须像这样:
#!/bin/bash
terminator -l TestProfile --command="xdotool key Ctrl+Tab;$SHELL" &
优点?完全按照您的要求执行。如果您想要将焦点放在窗口 2 上,您的操作--command=
将类似于--command=xdotool key Ctrl+Tab;xdotool key Ctrl+Tab;$SHELL
,即模拟按 Ctrl+Tab 两次。
缺点:需要安装xdotool
并记得使脚本可执行chmod +x
答案2
我想做基本相同的事情,经过反复尝试,我找到了一个解决方案,即使用配置中的终端“顺序”设置。在我的例子中,每个选项卡都有一个终端,我想将初始焦点放在第一个(最左边的)选项卡上,我实现如下:
这并不像想象的那么简单,因为终结器似乎总是将焦点放在最后打开的选项卡(编号最高的终端条目)上,所以您需要这样做。如果您的终端配置当前为:
[[[terminal2]]]
order = 0
parent = child1
profile = Profile-1
type = Terminal
[[[terminal3]]]
order = 1
parent = child1
profile = Profile-2
type = Terminal
[[[terminal4]]]
order = 2
parent = child1
profile = Profile-3
type = Terminal
然后将其改为:
[[[terminal2]]]
order = 2
parent = child1
profile = Profile-3
type = Terminal
[[[terminal3]]]
order = 1
parent = child1
profile = Profile-2
type = Terminal
[[[terminal4]]]
order = 0
parent = child1
profile = Profile-1
type = Terminal
现在,您将在相同的选项卡中获得相同的终端,但初始焦点现在是最左边的选项卡。
请注意,如果您在子条目中设置了标签,那么请不要更改这些标签 - 它们仍然适用于从左到右的选项卡,就像更改之前一样。
我认为相同的解决方案也可以应用于原始问题的配置,其中终端位于不同的子条目中。