我正在为我的桌面配置 Terminator。我使用Ctrl
++快捷方式来启动它。由于我只想运行一个实例,因此我使用它Alt
作为启动器命令。T
run-one terminator
现在,如果 Terminator 实例正在运行,则不会启动新实例,但现有实例未获得焦点。
关于如何让终结者窗口获得焦点,有什么想法吗?
答案1
run-one
这是一种无需假设wmctrl
即可工作的方法:
wmctrl -xa terminator.Terminator || terminator
这假设使用的是默认窗口类名。您可以发挥创意,在启动时使用自定义类名terminator
。这将允许您保留您的终结者快捷方式与正常情况不同终结者实例:
wmctrl -xa MyCustomTerminator.Terminator || terminator -c MyCustomTerminator
这只是建立在丹尼斯的回答之上,不需要run-one
。
答案2
尝试安装 控制端:sudo apt-get install wmctrl
现在该命令wmctrl -a STRING
将焦点放在标题包含 STRING 的窗口上,
因此您的最终命令将是:
run-one terminator; wmctrl -a Terminator
答案3
以下是我使用 run-one 和 xdotool 解决的技巧
在 /home/(用户)/my_scripts/single_terminator_instance.sh 中
#!/usr/bin/bash
# run a single instance of terminator
/usr/bin/run-one /usr/bin/terminator
# search for the terminator window and focus!!!
/usr/bin/xdotool search --onlyvisible --class terminator windowactivate
然后
- 更改 Terminator 快捷命令以
Main Menu
指向上述脚本 - 在键盘快捷键中,
Ctrl
++Alt
激活T
脚本
在互联网上搜索时,我还偶然发现了这
由于我是 Bash 脚本的新手,因此我欢迎对 hack 进行任何改进!