google / xsecurelock

X11 screen lock utility with security in mind
Apache License 2.0
863 stars 65 forks source link

Black flashes after keyboard-initiated suspend-resume cycle #162

Open farblos opened 1 year ago

farblos commented 1 year ago

Using xsecurelock 1.5.1 on Debian testing as follows:

XSECURELOCK_AUTH_TIMEOUT=10                     \
XSECURELOCK_BLANK_TIMEOUT=0                     \
XSECURELOCK_DIM_GAMMA="$XRANDR_GAMMA"           \
XSECURELOCK_DIM_INTERVAL_MS=100                 \
XSECURELOCK_DIM_TIME_MS=7500                    \
XSECURELOCK_FONT="Inconsolata:size=16"          \
XSECURELOCK_PAM_SERVICE="common-auth"           \
XSECURELOCK_SHOW_DATETIME=1                     \
XSECURELOCK_SHOW_HOSTNAME=0                     \
XSECURELOCK_SHOW_USERNAME=0                     \
xss-lock -n $HOME/bin/xdimmer -l -- /usr/bin/xsecurelock &

with a home-grown dimmer.

When I run systemctl suspend in an X terminal, I get black flashes after the resume. When I execute sleep 0.5; systemctl suspend instead or when I suspend through the power button, there are no black flashes after resume.

So I guess that in the first case the key event used to call systemctl keeps lingering all through the sleep-resume cycle, just to wake up the login screen shortly after resume.

Setting XSECURELOCK_BLANK_TIMEOUT to, say, one does not seem to help. Instead, it makes the flashes more pronounced.

Have I overlooked some setting in xsecurelock here? Or is this a problem where xsecurelock cannot do anything?