1.8 KiB
1.8 KiB
TODO
- Fully audit the locker source to ensure that it cannot crash based on error handling in its own code.
- Add the (optional) ability to allow some key presses through, such as screen brightness keys.
- Add support for running screensaver programs ("hacks" in
xscreensaver
parlance) that draw interesting things onbscreensaver
's blanker windows. Without this,bscreensaver
is more accurately calledbscreenlocker
. - Dig into the systemd service a bit more; I think it isn't always locking properly before the system suspends (sometimes there is a flash of screen contents on resume).
- Build a second locker dialog using another toolkit. Qt could be
interesting, as well as iced. I do not believe it is possible to
use GTK4, as GTK4 no longer has
GtkPlug
and is intentionally too platform-agnostic to support the kind of things we need. - Move the
xcb-xembed
andxcb-async
sub-crates to their own project. I may want to flesh outxcb-xembed
so it supports the entirety of the XEMBED spec, not just the features I needed for this project. - Consider using
x11rb
rather thanxcb
. The former autogenerates a full XCB protocol library in Rust, while the latter is a set of bindings to thelibxcb
C library. I would like to reduce the amount of non-Rust code executed in the locker process, for safety/security reasons. - Add support for non-Linux systems that are also UNIX-like. PAM, I believe, is different on other systems and the auth code might need some changes. Also, a method of disabling building, installing, and running the systemd, and possibly DBus, services would be needed.
- Figure out why forwarding key release events (in addition to key press events) to the unlock dialog results in duplicate key presses.