neroist / uing

A fork of ui that wraps libui-ng instead of libui
https://uing.nim.town
MIT License
164 stars 6 forks source link
cross-platform gui library libui libui-ng linux macosx nim nim-lang ui windows wrapper

UIng

Documentation

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

Dependencies

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