gtk4
Version, currently 0.18.020 versions
- 0.18.0latestSep 5, 2025
- 0.17.0not indexedSep 5, 2025
- 0.16.1not indexedSep 5, 2025
- 0.16.0not indexedSep 5, 2025
- 0.15.0not indexedSep 5, 2025
- 0.14.0not indexedSep 5, 2025
- 0.13.0not indexedSep 5, 2025
- 0.12.0not indexedSep 5, 2025
- 0.11.1not indexedSep 5, 2025
- 0.11.0not indexedSep 5, 2025
- 0.10.0not indexedSep 5, 2025
- 0.9.0not indexedSep 5, 2025
- 0.8.0not indexedSep 5, 2025
- 0.7.0not indexedSep 5, 2025
- 0.6.0not indexedSep 5, 2025
- 0.5.0not indexedSep 5, 2025
- 0.4.0not indexedSep 5, 2025
- 0.3.0not indexedSep 5, 2025
- 0.2.0not indexedSep 5, 2025
- 0.1.0not indexedSep 5, 2025
github.com/hugopl/gtk4.cr
GTK4 bindings for Crystal
126 stars
2 dependents
License: MIT
Installation
# Add this to your shard.yml
dependencies:
gtk4:
github: hugopl/gtk4.cr
version: ~> 0.18.0Then run:
shards installshard.yml
- Crystal
>= 1.6.0- License
- MIT
- Author
- Hugo Parente Lima <hugo.pl@gmail.com>
Dependencies
Runtime Dependencies
- gi-crystal>= 0.25.1github: hugopl/gi-crystal
- pango>= 0.2.0github: hugopl/pango.cr
README

# GTK4 Crystal Bindings
See [examples](https://github.com/hugopl/gtk4.cr/tree/master/examples) folder and have fun.
If you feel this repository too silent is because most of the development happens in the
[binding generator repository](https://github.com/hugopl/gi-crystal), not here.
## API docs
Current documentation is far from being good, but is better (not much) than nothing.
API docs can be found at https://hugopl.github.io/gtk4.cr/
To generate the documentation clone this repository then do:
```
$ make doc
```
The documentation will be found at `docs/index.html`.
## Compile time dependencies
You need the GTK libraries and their GObjectIntrospection files.
- Archlinux: `pacman -S gtk4 gobject-introspection`
- Ubuntu: `apt-get install libgtk-4-1 libgtk-4-dev libgirepository1.0-dev gobject-introspection gir1.2-gtk-4.0`
- Fedora: `sudo dnf install gtk4 gtk4-devel gobject-introspection gobject-introspection-devel`
- macOS: `brew install gobject-introspection gtk4`
- MSYS2: `pacman -S mingw-w64-ucrt-x86_64-gobject-introspection mingw-w64-ucrt-x86_64-gtk4`
Be welcome to create a PR updating this readme once you know what packages are needed by your distro to run the
examples.
## Runtime dependencies
Just the GTK libraries are needed at runtime, i.e. not the `gobject-introspection` library and files.
## Installation
1. Add the dependency to your `shard.yml`:
```yaml
dependencies:
gtk4:
github: hugopl/gtk4.cr
```
2. Run `shards install`
## Usage
See the [hello world tutorial](https://github.com/hugopl/gtk4.cr/tree/master/tutorial/hello_world.md).
For more info on how to use signals, properties, etc see the [GI-Crystal](https://github.com/hugopl/gi-crystal)
project page, it's the binding generator used to create this binding.
## Projects using these bindings
- [Collision](https://github.com/GeopJr/Collision) - A GUI tool to generate, compare and verify MD5, SHA-1, SHA-256 & SHA-512 hashes.
- [RTFM](https://github.com/hugopl/rtfm) - Gnome dash docset documentation reader.
- [Tijolo](https://github.com/hugopl/tijolo) - Simple, fast and incomplete keyboard focused IDE.
## Contributing
1. Fork it (<https://github.com/hugopl/gtk4.cr/fork>)
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request
## Contributors
- [Hugo Parente Lima](https://github.com/hugopl) - creator and maintainer
Documentation
Built from the current release. The first visit to a release nobody has asked for starts its build.
Links
This release
- Version
0.18.0- Tagged
- Sep 5, 2025
- Commit
b0be1f829b0a- Crystal
>= 1.6.0- Indexed
- yes
Dependents
Repository
github.com/hugopl/gtk4.cr
Metadata
- Created
- Aug 12, 2026
- Updated
- Aug 12, 2026
- Synced
- Aug 12, 2026
- Versions
- 20