#gtk4 #wayland #gir #wrapper #wayland-protocol #api-bindings

gtk4-session-lock

Save gir-generated wrapper for gtk4-ssesion-lock

2 releases

new 0.1.2 Mar 14, 2025
0.1.1 Mar 14, 2025

#1053 in GUI

MIT license

23KB
170 lines

Crate docs.rs dependency status

maintenance-status: passively-maintained (as of 2025-03-13) dependabot status Build

gtk4-session-lock

This crate allows building lock screens with GTK4. To do that, the Session Lock Wayland protocol is used. A list of supported compositors can be found here.

Dependencies

You need to have gtk4 and gtk4-layer-shell (the C library) installed on your system. gtk4-layer-shell version 1.1.0 or higher is needed to use gtk4-session-lock. If you want to use gtk4-layer-shell and gtk4-session-lock together in a project, make sure to use the same .so file of gtk4-layer-shell for both.

If your distribution does not provide a current enough version of gtk4-layer-shell, you can build it from source. If you did that, you might also have to set the following two environment variables:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/lib

Usage

Have a look at the simple example to see how the bindings can be used. It works analogous to the original.

Generating the wrapper

Generating the bindings yourself is not necessary to be able to use them. You can just use the version published on crates.io. If you want to do it anyways, you can find a description here.

Maintenance status

This crate is just a safe wrapper for the C library so the bindings are feature complete and not actively worked on. The C library is actively developed and I keep the bindings up-to-date with it. If you encounter any problems, feel free to open a PR.

Contributing

Pull requests are very welcome but please keep the maintenance status in mind.

License

MIT

Dependencies

~16–25MB
~463K SLoC