观看视频时防止xautolock / i3lock

时间:2018-11-06 18:11:38

标签: lockscreen user-inactivity i3

我使用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。但是我不知道该假想脚本要检查什么。

1 个答案:

答案 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。