Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gtk-rs/gtk
DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!
https://github.com/gtk-rs/gtk
Last synced: about 1 month ago
JSON representation
DEPRECATED, use https://github.com/gtk-rs/gtk3-rs repository instead!
- Host: GitHub
- URL: https://github.com/gtk-rs/gtk
- Owner: gtk-rs
- License: mit
- Archived: true
- Created: 2015-04-01T15:57:09.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-10-17T12:00:28.000Z (about 4 years ago)
- Last Synced: 2024-04-14T05:17:25.871Z (7 months ago)
- Language: Rust
- Homepage: https://gtk-rs.org/
- Size: 11.3 MB
- Stars: 1,251
- Watchers: 33
- Forks: 82
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-rust-cn - gtk-rs/gtk - ci.org/gtk-rs/gtk.svg?branch=master">](https://travis-ci.org/gtk-rs/gtk) (Libraries / GUI)
- awesome-rust - gtk-rs/gtk - ci.org/gtk-rs/gtk.svg?branch=master">](https://travis-ci.org/gtk-rs/gtk) (Libraries / GUI)
- awesome-rust-zh - gtk-rs/gtk - GTK+ 绑定 [<img src="https://api.travis-ci.org/gtk-rs/gtk.svg?branch=master">](https://travis-ci.org/gtk-rs/gtk) (库 / GUI)
README
# gtk [![Build Status](https://travis-ci.org/gtk-rs/gtk.png?branch=master)](https://travis-ci.org/gtk-rs/gtk) [![Build status](https://ci.appveyor.com/api/projects/status/5mot32ipr12iocw0?svg=true)](https://ci.appveyor.com/project/GuillaumeGomez/gtk) [![Gitter](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/gtk-rs/gtk)
[Project site](http://gtk-rs.org/) | [Online documentation](https://gtk-rs.org/docs-src/)
__Rust__ bindings and wrappers for __GLib__, __GDK 3__, __GTK+ 3__ and __Cairo__.
## Building
__gtk__ expects __GTK+__, __GLib__ and __Cairo__ development files to be installed on your system.
See the [GTK installation page](https://www.gtk.org/docs/installations/).## Using
We recommend using [crates from crates.io](https://crates.io/keywords/gtk-rs),
as [demonstrated here](http://gtk-rs.org/#using).If you want to track the bleeding edge, use the git dependency instead:
```toml
[dependencies]
gtk = { git = "https://github.com/gtk-rs/gtk.git" }
```Avoid mixing versioned and git crates like this:
```toml
# This will not compile
[dependencies]
gdk = "0.2"
gtk = { git = "https://github.com/gtk-rs/gtk.git" }
```## Documentation
The majority of the documentation is kept [in a separate repo][gtk-md] due to
licensing issues. You can pull it in with cargo:```shell
> cargo build --features embed-lgpl-docs
```Changes to those doc-comments should be submitted to the `lgpl-docs` repo. Avoid
including those embedded doc-comments in PRs to this repo.The opposite feature removes all of those docs regardless of edits:
```shell
> cargo build --features purge-lgpl-docs
```These features **rewrite the crate sources** so it's sufficient to enable them
once. **Omitting them in the following `cargo` invocations will not undo their
effects!**Generate the docs:
```shell
> cargo doc --features v3_16
```(if the installed GTK+ version is lower than 3.16, adjust the feature name accordingly).
[gtk-md]: https://github.com/gtk-rs/lgpl-docs/blob/master/README.md
## Contribute
Contributor you're welcome!
See the general [bindings documentation](http://gtk-rs.org/docs/glib/).
Most of the bindings ([`src/auto`](src/auto)) are generated by [gir](https://github.com/gtk-rs/gir) using [this configuration file](Gir.toml). After editing `Gir.toml` the sources can be regenerated with
```shell
> make gir
```When opening a PR please put the changes to the `src/auto` directory in a separate commit.
You may also wish to run `cargo clippy -- -D warnings` and check that you're clean because
otherwise you may be surprised when CI fails.## License
__gtk__ is available under the MIT License, please refer to it.