google / xsecurelock

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

mpv is shown fullscreen over locker #164

Open coffebar opened 1 year ago

coffebar commented 1 year ago

Issue

If mpv is in full screen mode, xsecurelock is not visible. Every time i using mpv, and screen is locked, my password prompt looks like that: image

This should be investigated.

Env

Version: 1.8.0 My platform: Linux Arch x86, i3wm

My options:

XSECURELOCK_COMPOSITE_OBSCURER=0 XSECURELOCK_SHOW_USERNAME=0 \
    XSECURELOCK_SHOW_HOSTNAME=0 XSECURELOCK_SHOW_DATETIME=1 \
    XSECURELOCK_PASSWORD_PROMPT=kaomoji xsecurelock

workaround

run this script before lock

#!/bin/sh

# exit fullscreen from mpv before lock screen
/usr/bin/xdotool key \
    --clearmodifiers \
    --window "$(/usr/bin/xdotool search --onlyvisible --class mpv)" Escape
divVerent commented 1 year ago

In other words, on your system mpv manages to disable compositing and thus showing of xsecurelock's Composite Overlay Window.

Your setting of XSECURELOCK_COMPOSITE_OBSCURER=0 reveals that this is likely what is going on here.

Sadly fixing this depends on settings of your compositing manager - you need to configure it so it does not turn off compositing when a fullscreen application is running. Which are you using?

coffebar commented 1 year ago

I'm using picom compositor. Btw, if i open a terminal window in fullscreen, it seems compositing is not disabled (I can see my wallpapers through a 80% transparent window)