Available here: https://github.com/Clemapfel/mousetrap.jl
Features
- Designed specifically for Julia
- Choose from 40+ pre-made Widgets, or create your own widgets from scratch
- Fully abstracted, OpenGL-based rendering engine
- Hand-written 10-chapter manual and verbose doc strings for every symbol
- Available for Linux, Windows, and Mac
- Licensed lGPL-3.0, meaning it can be used in closed-source, for-profit projects
Background
So far, when wanting to create a GUI for Julia, options were limited to wrappers around frameworks in other language, or web-based front-ends. Mousetrap aims to bring Julia users a native, fully featured, well-documented GUI engine that contains everything one would need to create a proper desktop App. This is made possible by calling the GNOME C software stack internally, though users of mousetrap will not have to interact with a single GNOME function or C-type directly.
Julia packages sometimes have a problem with lacking documentation. Intending to lead by example, I have put just as much effort into mousetraps documentation, as into the actual Julia code. This hopefully creates a smooth learning experience for users of any skill level.
While already fully featured, mousetrap just released, so some bugs or instability may be expected. Consider opening an issue when you encounter a bug, crash, or missing features.
Ideally, once Julia static compilation finishes
development, mousetrap
will be stable and flawless, allowing Julia to become well suited for front-end development.
Thank you.
C.
Disclaimer
While also based on the C-versions GTK4 / Adwaita, mousetrap has no affiliation with GNOME or any of the developers of GTK.jl, or GTK4.jl.
I’ve also made an announcement on Reddit, which contains some additional comments on GNOME libraries in general.