我使用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
。但是我不知道该假想脚本要检查什么。
答案 0 :(得分:1)
执行此操作而不需要在myscript
中实现xautolock的所有选项的一种可能方法是将$Locker
编写为脚本或程序,以确定是否满足防止锁定的条件。否则,请致电屏幕锁:
xautolock -locker should_screen_lock.sh
|
Yes <- fullscreen YouTube? -> No
| |
Abort Lock
您可以使用xprop -root
在窗口管理器中了解活动窗口的ID,并使用xprop -id
针对该ID来查看其是否以全屏模式运行。
从那里开始,只是将两者放在一起并调用您的窗口锁(在这种情况下为i3lock
,但您也可以将其作为更高级的锁屏的自定义脚本)。
Here's my attempt正是这样做的。值得注意的是,我没有从i3的配置运行xautolock
:这是系统用户服务。但是,更衣柜(lock_screen.sh
)绑定到了键盘,这样我可以在全屏状态下绕过xautolock。