https://github.com/pentamassiv/gtk4-layer-shell-gir
Unsafe bindings and a safe wrapper for gtk4-layer-shell, automatically generated from a .gir file
https://github.com/pentamassiv/gtk4-layer-shell-gir
Last synced: 2 months ago
JSON representation
Unsafe bindings and a safe wrapper for gtk4-layer-shell, automatically generated from a .gir file
- Host: GitHub
- URL: https://github.com/pentamassiv/gtk4-layer-shell-gir
- Owner: pentamassiv
- License: mit
- Created: 2023-04-12T09:11:27.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-14T12:33:17.000Z (3 months ago)
- Last Synced: 2025-03-31T09:05:22.159Z (3 months ago)
- Language: Rust
- Homepage:
- Size: 3.37 MB
- Stars: 28
- Watchers: 3
- Forks: 3
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
gtk4-layer-shell:
[](https://crates.io/crates/gtk4-layer-shell)
[](https://docs.rs/gtk4-layer-shell)
[](https://deps.rs/crate/gtk4-layer-shell/0.5.0)gtk4-layer-shell-sys:
[](https://crates.io/crates/gtk4-layer-shell-sys)
[](https://docs.rs/gtk4-layer-shell-sys)
[](https://deps.rs/crate/gtk4-layer-shell-sys/0.3.0)gtk4-session-lock:
[](https://crates.io/crates/gtk4-session-lock)
[](https://docs.rs/gtk4-session-lock)
[](https://deps.rs/crate/gtk4-session-lock/0.1.2)gtk4-session-lock-sys:
[](https://crates.io/crates/gtk4-session-lock-sys)
[](https://docs.rs/gtk4-session-lock-sys)
[](https://deps.rs/crate/gtk4-session-lock-sys/0.1.1)[](https://gist.github.com/rusty-snake/574a91f1df9f97ec77ca308d6d731e29)

[](https://github.com/pentamassiv/gtk4-layer-shell-gir/actions/workflows/build.yaml)# Contents
This repo contains the following crates:- [gtk4-layer-shell](https://github.com/pentamassiv/gtk4-layer-shell-gir/tree/main/gtk4-layer-shell): Build desktop shell components such as panels, notifications and wallpapers with GTK4. It can be used to anchor your windows to a corner or edge of the output, or stretch them across the entire output
- [gtk4-layer-shell-sys](https://github.com/pentamassiv/gtk4-layer-shell-gir/tree/main/gtk4-layer-shell-sys): Unsafe bindings used by gtk-layer-shell
- [gtk4-session-lock](https://github.com/pentamassiv/gtk4-layer-shell-gir/tree/main/gtk4-session-lock): Build lockscreens with GTK4
- [gtk4-session-lock-sys](https://github.com/pentamassiv/gtk4-layer-shell-gir/tree/main/gtk4-session-lock-sys): Unsafe bindings used by gtk-session-lockThe crates are language bindings to the underlying C library [gtk4-layer-shell](https://github.com/wmww/gtk4-layer-shell). Feature development is done upstream. The crates in this repo are automatically generated from their .gir files ([Gtk4LayerShell](Gtk4LayerShell-1.0.gir), [GTK4SessionLock](Gtk4SessionLock-1.0.gir)). For details on how to use the crates, have a look at the individual crate's README, which can be found in their respective folders. The crates are GTK4 only.
## Dependencies
You need to have `gtk4` and `gtk4-layer-shell` (the C library) installed on your system to use the crates in this repo. `gtk4-layer-shell` version 1.1.0 or higher is needed if you want to use `gtk4-session-lock`.
If you want to use [gtk4-layer-shell](https://github.com/pentamassiv/gtk4-layer-shell-gir/tree/main/gtk4-layer-shell) and [gtk4-session-lock](https://github.com/pentamassiv/gtk4-layer-shell-gir/tree/main/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](https://github.com/wmww/gtk4-layer-shell#building-from-source). If you did that, you might also have to set the following two environment variables:
```bash
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
export LD_LIBRARY_PATH=/usr/local/lib
```## Maintenance status
These crates are just wrappers for the C library so the crates in this repo are feature complete and not actively worked on. The C library is actively developed. I try to keep up with them so the crate might get frequent updates and could break things. 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](https://choosealicense.com/licenses/mit/)