在窗口改变时执行脚本

在窗口改变时执行脚本

有没有一种简单的方法可以在活动窗口更改时执行脚本?
是否有一个通用的解决方案韓國韦兰

我的目标是执行一个脚本,该脚本将确定在当前窗口改变时是否执行另一个脚本。

换句话说,当我改变活动窗口(不管事件的类型:鼠标事件或键盘事件,...)时,脚本应该被执行。
[ 然后,脚本会验证当前窗口名称,如果符合特定模式,则执行脚本(例如“当前窗口是互联网浏览器吗?”)。但那部分是不可能的。]

你会怎么做?
我考虑制作一个轮询守护进程(每 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

相关内容