/uing

A fork of ui that wraps libui-ng instead of libui

Primary LanguageNimMIT LicenseMIT

UIng

A fork of ui that wraps libui-ng instead of the old and unmaintained libui library. It also provides a high-level Nim binding for it.

To get started, install using Nimble:

nimble install uing

or add it to your project's Nimble file:

requires "uing"

Runtime Requirements

  • Windows: Windows Vista SP2 with Platform Update or newer
  • Unix: GTK+ 3.10 or newer
  • Mac OS X: OS X 10.8 or newer

Dependencies

  • gtk+-3.0

Linux: $ sudo apt-get install libgtk-3-dev

You should then be able to compile the sample code in the examples/ directory and run the tests successfully.

Static vs. dynamic linking

This library installs the C sources for libui-ng and statically compiles them into your application.

Static compilation is the default behaviour, but if you would prefer to depend on a DLL instead, pass -d:useLibUiDll to the Nim compiler. You will then need to bundle your application with a libui.dll, libui.dylib, or libui.so for Windows, macOS, and Linux respectively. Build instructions and requirements can be found in libui-ng's README

In addition, if you would rather want to compile with a static library, pass -d:useLibUiStaticLib to the Nim compiler instead. You will then need a libui.lib for Windows and a libui.a for other platforms. Again, Build instructions and requirements can be found in libui-ng's README

Static and dynamic libraries (e.g. libui.so, libui.lib) can be found in the releases page

Screenshots

Windows 11

controllgallery3_tab1.png controllgallery3_tab2.png controllgallery3_tab3.png

Linux (Zorin OS 16.4 Wayland)

controllgallery3_tab1.png controllgallery3_tab2.png controllgallery3_tab3.png

Mac OS X

Thank you @stoneface86 for the screenshots!

controllgallery3_tab1.png controllgallery3_tab3.png

More screenshots are available at screenshots/.

Stargazers over time

Stargazers over time

Made with ❤️ with Nim