我有这个通过键盘快捷键运行的脚本(并打开/关闭 Stylus 扩展样式表***)。它专门用于最大化窗口,因此 xdotool 值不会改变:
#!/bin/bash
xgg="$(xdotool getactivewindow getwindowname)"
if [[ "$xgg" == *" - Mozilla Firefox" ]]
then
xdotool mousemove --sync 18 54 click 1
sleep 0.2
xdotool mousemove --sync 134 85 click 1
sleep 0.2
xdotool mousemove --sync 1365 85 click 1
sleep 0.2
xdotool mousemove --sync 683 384
fi
它检查焦点窗口是否是 Firefox *" - Mozilla Firefox"
,因为 Firefox 窗口的标题是这样结束的,如果匹配,它会执行后续的 xdotool 命令。
即使窗口是 Firefox 的隐私浏览实例,我现在也希望运行 xdotool 命令。
如果我同时打开了常规 Firefox 窗口和私人浏览窗口,则wmctrl -l
显示如下:
$ wmctrl -l
0x0260000b -1 N/A Desktop — Plasma
0x02600016 -1 N/A Plasma
0x03e00018 0 kububb Newest Questions - Ask Ubuntu - Mozilla Firefox
0x03e001cd 0 kububb Newest Questions - Ask Ubuntu - Mozilla Firefox (Private Browsing)
0x05a00006 0 N/A bash: dkb — Konsole
$
脚本需要什么正则表达式来识别窗口标题- Mozilla Firefox
和- Mozilla Firefox (Private Browsing)
末尾?
***我在地址栏左侧有触控笔的图标。单击图标一次时,会出现一个下拉菜单。第二次单击(在下拉菜单的特定区域中)将打开/关闭样式表。
==
只需使用允许字符串后的 glob(nitpick,但采用 glob 而不是正则表达式)Firefox
:或者,由于您
[[
无论如何都在使用,您可以使用正则表达式匹配:您可以使用星号 (
*
) 通配符。*
可以表示任意数量的字符(包括零,换句话说,零个或多个字符)。因此,if
看起来像:或者由于 Mozilla Firefox 只有两种可能性,即
Mozilla Firefox
和Mozilla Firefox (Private Browsing)
,您可以使用逻辑 OR inif
来更具体。或根据DK Bose 的评论: