我想写一个小脚本,定期询问我正在做什么,但如果我正在写电子邮件或输入密码,我希望它不会夺取焦点。我想到两个选项是 (1) 通知发送/pynotify,它让我在屏幕右上角弹出一个通知气泡,这很完美,但似乎无法包含文本输入字段;(2) zenity 和类似程序,它们会弹出一个带有文本字段的窗口,但这样做会夺取焦点。
答案1
啊哈,xprintidle 似乎解决了我的难题。它可以跟踪鼠标移动以及键盘,但以毫秒为单位给出空闲时间,所以看起来已经足够好了。
http://www.dtek.chalmers.se/~henoch/text/xprintidle.html
sleep 10
echo waiting for me not to be busy
while [ "$(xprintidle)" -lt 3000 ]; do sleep 1; done
echo interrupting
(unset WINDOWID; zenity --title "Annoyer" --entry --text "Are we there yet?")
答案2
如果在 X 中,这里有一个包含脚本监视器的帖子/dev/input/event
:
重要的命令是:
sudo hexdump -e '48/1 "%x " "\n"' /dev/input/event1 | awk '( $29 == 1) { print "PRESS: " $13 } ( $29 == 0 ) { print "RELEASE: " $13 }'
当然,你需要有sudo
权限,否则它就会变成那篇帖子所暗示的那样……
答案3
您想要监视的用户的 ptsw
又tail -f dev/pts/13
在哪里?13
w