我使用i3窗口管理器
set $Locker i3lock --color=000000 && sleep 1
exec --no-startup-id xautolock -time 5 -locker "$Locker"在其配置文件中,使其在5分钟后锁定。
问题是,5分钟的计时器计算下来,即使当我是什么视频,这是我绝对不喜欢。(顺便说一句,我通常和mplayer一起看电影,但有时我也会使用qutebrowser在流媒体网站上观看。)相反,我想防止xautolock在这种情况下采取行动。
我正在考虑的一个可能的解决方案是将第二行改为
exec --no-startup-id myscript -time 5 -locker "$Locker"其中,myscript是一个bash/任何脚本/程序,只有在我不看一些视频内容的情况下,才会将所有选项传递给xautolock。但我不知道用这个假想的剧本来验证什么。
发布于 2019-05-07 22:07:29
在myscript中不需要实现xautolock的所有选项,一种可能的方法是将$Locker作为脚本或程序编写,以确定是否满足条件以防止锁定。否则,打电话给屏幕储物柜:
xautolock -locker should_screen_lock.sh
|
Yes <- fullscreen YouTube? -> No
| |
Abort Lock您可以使用xprop -root来了解窗口管理器中活动窗口的ID,以及使用该ID的xprop -id来查看它是否在全屏模式下运行。
从这里开始,它只是将两者放在一起,并调用您的窗口储物柜(在本例中是i3lock,但您也可以使用它作为高级锁屏幕的自定义脚本)。
这是我的尝试就是这么做的。值得注意的是,我并不从i3的配置中运行xautolock:它是一个systemd用户服务。然而,储物柜(lock_screen.sh)被绑定到键盘上,这样我就可以绕过xautolock,以防我在全屏上有东西。
https://stackoverflow.com/questions/53177614
复制相似问题