bogue is a GUI library for ocaml, with animations, based on SDL2.
This library can be used for games or for adding GUI elements to any ocaml program.
It uses the SDL2 renderer library, which makes it quite fast.
It is themable, and does not try to look like your desktop. Instead, it will look the same on every platform.
Graphics output is scalable, and hence easily adapts to Hi-DPI displays.
Programming with bogue is easy if you're used to GUIs with widgets, layouts, callbacks, and of course it has a functional flavor. βIt uses Threads when non-blocking reactions are needed.
Widgets are the building bricks, reponsible for graphic elements that respond to events (mouse, touchscreen, keyboard, etc.).
For a more functional use, they can be "connected" (by pairs at this moment) instead of reacting with callbacks (see examples).
widgets can be combined in various ways into layouts. For instance, a check box followed by a text label is a common layout.
Several predefined layouts are available:
Layouts can be animated (slide-in, transparency, rotation)

This is the easiest way unless you want to try out the development version.
opam install bogueThat's it.
You need a working ocaml installation with opam, see the ocaml doc. Then, make sure you have dune, tsdl, tsdl-image and tsdl-ttf:
opam install dune tsdl tsdl-image tsdl-ttfDownload the git archive, unzip it, cd into the bogue-master dir, and then:
dune build
opam install .It's good to first have a look at Bogue's general principles.
A much more complete doc can be found here. It does not cover all available features (yet), but it's already a good start.
You should first try a minimal example.
The examples directory contains more sophisticated examples. If you installed the bogue package with opam (as described above), these examples are available via the boguex program. For instance, run examples 34 and 41 by:
boguex 34 41Type boguex -h to have the list of all examples.
See here.