Hybernates your display after entering the lockscreen on KDE.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Kristóf Tóth 98ed8d9a29 Remove logfile if it's empty before exiting 7 months ago
afterlock Explain keypress sleep debouncing in hybernateDisplayLoop 8 months ago
cmd/after-lock Remove logfile if it's empty before exiting 7 months ago
lockfile Rename package 8 months ago
xdg Group lockscreen and display suspension related code 8 months ago
.gitignore Add .gitignore 8 months ago
README.md Rename package 8 months ago
go.mod Rename package 8 months ago
proof-of-concept.sh Initial commit. Add poc hack script 8 months ago


KDE Lockscreen Suspend Display (KDE LSD)


KDE Plasma (as of 5.19.4) lacks the funcionality of hybernating your display after locking your computer.

This hack implements Gnome-like lockscreen behaviour: it hybernates your display after a given timeout if the computer is locked. It also makes sure that the display won't turn off while you are typing your password to unlock your machine.


This whole started as a simple bash script (proof-of-concept.sh) using qdbus and xset to implement this functionality. However, it had an annoying defect: the screen would hybernate after the timeout no matter what (i.e. the display could turn off while you were typing your password to unlock the machine). To remedy this defect I've decided to monitor keypresses via /dev/input and rewrite the whole thing in golang to provide proper debouncing (i.e. the timeout resets if you start typing).

Beware this is a quick&dirty hack. Instead of calling qdbus and xset from golang, proper dbus bindings should be used. Instead of registering a go binary to execute once the lockscreen is active (System Settings -> Notifications -> Application Settings -> Screen Saver), the whole thing should probably be rewritten in C++ and contributed to KDE.