Firefox 的 tilix 中是否有类似于地震模式的功能?
我想使用类似F12或 的快捷方式切换到任何已经运行的 Firefox 实例(或者如果尚不存在则打开一个新的) F11。
答案1
我不知道有没有“原生”的方式来分配快捷方式以切换到现有窗口。您可以使用来实现这一点。wmctrl
我个人使用一个小工具jumpapp
https://github.com/mkropat/jumpapp,其内部也使用wmctrl
。
使用 wmctrl
wmctrl
默认情况下未安装。使用 安装sudo apt install wmctrl
。
下面的一行命令将切换到 Firefox,如果当前没有打开 Firefox 窗口则启动它:
wmctrl -xa Firefox || firefox
在 Bash shell 中,命令分隔符||
的意思是:如果第一个命令不成功,则尝试下一个命令。因此,第一个命令wmctrl
尝试激活 WM_CLASS 窗口Firefox
。只有当找不到这样的窗口时(这意味着 Firefox 未运行),才会启动分隔符后的命令,即启动 Firefox 浏览器。
要找到命令中使用的窗口的 WM_CLASS wmctrl
,您可以使用
wmctrl -lx
该选项x
将添加一列显示窗口类,如
0x04400003 0 Navigator.Firefox hostname keyboard - Is there a way to bind shortcut keys to switch to already open applications in Ubuntu 18.04 LTS? - Ask Ubuntu - Mozilla Firefox
第三个条目,Navigator.Firefox
表明我们可以使用Firefox
(或“Navigator”,或“Navigator.Firefox”)作为窗口类来识别窗口。
使用工具 jumpapp
虽然直接使用wmctrl
并不复杂,但工具jumpapp
(实际上是依赖于的 bash 脚本wmctrl
)使用起来更加简单,并且还有一些额外的好处:
- 实现起来就更加简单了。
- 如果打开了同一应用程序的多个窗口,则随后按下快捷键将循环显示这些窗口。
- 您可以绑定另一个快捷键,例如 a Shift+Your Shortcut以反向循环窗口
- 如果应用程序已在运行,您可以使用热键在将窗口向前移动和最小化窗口之间切换。
jumpapp
不在存储库中,但可以按照网站上的说明方便地安装为 .deb。
安装后jumpapp
,只需在启动应用程序的命令前加上 即可jumpapp
启动应用程序(如果尚未运行)或切换到现有窗口。将该命令分配给快捷键。
您还可以编辑文件Exec=
中的行.desktop
,为启动器提供相同的功能。事实上,其中jumpappify-desktop-entry
包含一个命令,它将自动为您指定的 .desktop 文件执行此操作。
Gnome Shell 中的启动器默认已经像这样运行,但在其他桌面中,该应用程序可用于为启动器提供类似的“启动或切换到”功能。
答案2
要求:
- 工具
为终端创建脚本 /home/user/term.sh:
#!/usr/bin/env bash
n=$@
xdotool search "term$n"
if [ $? == 0 ] ; then
xdotool search "term$n" windowactivate
exit
fi
xfce4-terminal --initial-title term$n
绑定到按键
- Alt-1 :/home/user/term.sh 1
- Alt-2 :/home/user/term.sh 2
- Alt-3 :/home/user/term.sh 3
为 Firefox 创建脚本 /home/user/firefox.sh:
xdotool search "Mozilla Firefox"
if [ $? == 0 ] ; then
xdotool search "Mozilla Firefox" windowactivate
exit
fi
firefox
- Alt-4 :/home/user/firefox.sh