5 releases (3 breaking)
0.3.0 | Jul 15, 2024 |
---|---|
0.2.0 | Apr 4, 2024 |
0.1.2 | Aug 4, 2023 |
0.0.2 | Apr 12, 2023 |
#1188 in GUI
5,143 downloads per month
Used in 17 crates
(via gtk4-layer-shell)
12KB
74 lines
gtk4-layer-shell-sys
These are the unsafe FFI bindings for gtk4-layer-shell. They were automatically generated from its .gir file. You need to have gtk4-layer-shell installed on your system to use this crate. Because it is new, you probably have to 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
This crate is GTK4 only. Checkout gtk-layer-shell-sys if you want the GTK3 version.
Usage
These are the unsafe bindings. You most likely want to use the safe wrapper.
Generating the bindings
Generating the bindings yourself is not necessary to be able to use it. If you want to do it anyways, here are the steps you can follow to generate the bindings yourself.
You need to have Rust, Gtk4 and gtk4-layer-shell installed. Clone the repository AND the submodules "gir" and "gir-files".
git clone --recurse-submodules -j8 https://github.com/pentamassiv/gtk4-layer-shell-gir.git
cd ./gtk4-layer-shell-gir
Then you need to install gir.
cd gir
cargo install --path .
cd ..
If you regenerate the binding, because you have a new version of the Gtk4LayerShell gir file, copy it into the gir files folder. Now you can generate, build and test the bindings.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
cd gtk4-layer-shell-sys # Needed when the lib is built from source
gir -o . # Regenerate the bindings
cargo build # Build the created bindings
cargo test # Test the created bindings
cd ..
There should not have been any errors. You should now continue and generate the safe wrapper. If you want to learn more about gir, have a look at its repo or its book.
Maintenance status
This crate is just an unsafe wrapper for the C library so it is feature complete and not actively worked on. There are Github Actions keeping the dependencies up-to-date. 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
Dependencies
~2.6–9MB
~98K SLoC