32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# 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 on
|
|
`bscreensaver`'s blanker windows. Without this, `bscreensaver` is
|
|
more accurately called `bscreenlocker`.
|
|
* 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` and `xcb-async` sub-crates to their own project.
|
|
I may want to flesh out `xcb-xembed` so it supports the entirety of
|
|
the XEMBED spec, not just the features I needed for this project.
|
|
* Consider using `x11rb` rather than `xcb`. The former autogenerates a
|
|
full XCB protocol library in Rust, while the latter is a set of
|
|
bindings to the `libxcb` 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.
|