Hybernates your display after entering the lockscreen on KDE.
You cannot 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 0bdbff89ac Refactor config package 2 years ago
afterlock Explain keypress sleep debouncing in hybernateDisplayLoop 3 years ago
cmd/after-lock Refactor config package 2 years ago
config Refactor config package 2 years ago
lockfile Rename package 3 years ago
xdg Use the XLib DPMS extension from C wrappers instead of subprocess calls 2 years ago
.gitignore Add .gitignore 3 years ago
README.md Rename package 3 years ago
go.mod Rename package 3 years ago
proof-of-concept.sh Initial commit. Add poc hack script 3 years 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.