5

我使用 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/whatever 脚本/程序的地方在哪里。但我不知道用这个假设的脚本检查什么。xautolock

4

1 回答 1

8

一种可能的方法是,无需实现所有 xautolock 选项,myscript将您编写$Locker为脚本或程序以确定是否满足条件以防止锁定。否则,调用屏幕储物柜:

xautolock -locker should_screen_lock.sh
                                   |
                   Yes <- fullscreen YouTube? -> No
                    |                            |
                  Abort                         Lock

您可以使用xprop -root在窗口管理器中了解活动窗口的 ID,并xprop -id根据该 ID 查看它是否在全屏模式下运行。

从那里,它只是将两者放在一起并调用您的窗口储物柜(i3lock在这种情况下,但您也可以将其作为更高级的锁定屏幕的自定义脚本)。

这是我试图做到这一点的尝试。值得注意的是,我不是xautolock从 i3 的配置运行的:它是一个 systemd 用户服务。lock_screen.sh但是,储物柜(

于 2019-05-07T22:07:29.973 回答