18 releases

0.8.1 Jul 10, 2024
0.8.0 Sep 22, 2023
0.7.1 Sep 3, 2023
0.6.1 Mar 27, 2023
0.2.0 Nov 4, 2020

#563 in GUI

Download history 2998/week @ 2024-07-15 3190/week @ 2024-07-22 2378/week @ 2024-07-29 2427/week @ 2024-08-05 2423/week @ 2024-08-12 2518/week @ 2024-08-19 2474/week @ 2024-08-26 2666/week @ 2024-09-02 2792/week @ 2024-09-09 3146/week @ 2024-09-16 2767/week @ 2024-09-23 2657/week @ 2024-09-30 3358/week @ 2024-10-07 3492/week @ 2024-10-14 3095/week @ 2024-10-21 3307/week @ 2024-10-28

13,633 downloads per month
Used in 8 crates

MIT license

55KB
636 lines

maintenance-status: passively-maintained (as of 2023-08-03) dependabot status

Build

gtk-layer-shell: Crate docs.rs dependency status

gtk-layer-shell

This is the safe wrapper for gtk-layer-shell, automatically generated from its .gir file. The unsafe bindings can be found here. This crate is GTK3 only. Use gtk4-layer-shell if you need to use it with GTK4.

Usage

Have a look at the simple example to see how the bindings can be used. It works analogous to the original. You can use the features to select the version of gtk-layer-shell. Currently v0_6 is the default.

Generating the wrapper

Generating the wrapper yourself is not necessary to be able to use it. You can just use the version published on crates.io. If you want to do it anyways, you need to start by generating the unsafe bindings. Follow the guide on how to do that and come back here.

Now that you have generated the bindings you will want to generate the safe wrapper.

cd gtk-layer-shell
gir -o .
cargo build
cargo test

There should not have been any errors. To make sure everything you need was created, run the following command.

gir -o . -m not_bound

There should not be any output to this command. Let me know if there is so I can fix it. In order to build the documentation, you have to run

gir -c Gir.toml --doc-target-path docs.md -m doc
cargo install rustdoc-stripper
rustdoc-stripper -s -n
rustdoc-stripper -g -o docs.md
cargo doc

Congratulations, you've done it :-)

If you want to learn more about gir, have a look at its repo or its book.

Maintenance status

The Rust bindings for GTK3 are no longer maintained and the repo has been archived. If you are starting a new project, you should use GTK4 and thus gtk4-layer-shell right from the start.

This crate is just a safe 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

MIT

Dependencies

~17MB
~403K SLoC