![在窗口改变时执行脚本](https://linux22.com/image/1169755/%E5%9C%A8%E7%AA%97%E5%8F%A3%E6%94%B9%E5%8F%98%E6%97%B6%E6%89%A7%E8%A1%8C%E8%84%9A%E6%9C%AC.png)
有没有一种简单的方法可以在活动窗口更改时执行脚本?
是否有一个通用的解决方案韓國和韦兰?
我的目标是执行一个脚本,该脚本将确定在当前窗口改变时是否执行另一个脚本。
换句话说,当我改变活动窗口(不管事件的类型:鼠标事件或键盘事件,...)时,脚本应该被执行。
[ 然后,脚本会验证当前窗口名称,如果符合特定模式,则执行脚本(例如“当前窗口是互联网浏览器吗?”)。但那部分是不可能的。]
你会怎么做?
我考虑制作一个轮询守护进程(每 0.5 秒),运行脚本并xdotool
在其中使用它来获取窗口的名称。
但我还是希望听到更多的想法。
提前致谢。
答案1
对于那些感兴趣的人,以下是我成功实现它的方法。
我创建了一个脚本:
#!/usr/bin/sh
while true
do
if [[ "$(xdotool getwindowfocus getwindowname)" =~ "Chrome" ]]
then
xbindkeys 2>/dev/null
else
killall xbindkeys 2>/dev/null
fi
sleep 0.5
done
我在登录时运行此脚本,当我切换到 Chrome 窗口时,它会与包含 Emacs 键的xbindkeys
配置文件一起运行。 它不是很优雅,但它有效。~/.xbindkeysrc