https://github.com/neroist/uing
A fork of ui that wraps libui-ng instead of libui
https://github.com/neroist/uing
cross-platform gui library libui libui-ng linux macosx nim nim-lang ui windows wrapper
Last synced: about 1 month ago
JSON representation
A fork of ui that wraps libui-ng instead of libui
- Host: GitHub
- URL: https://github.com/neroist/uing
- Owner: neroist
- License: mit
- Created: 2023-01-28T21:13:50.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2024-09-11T22:10:17.000Z (about 1 year ago)
- Last Synced: 2025-08-30T17:57:39.746Z (2 months ago)
- Topics: cross-platform, gui, library, libui, libui-ng, linux, macosx, nim, nim-lang, ui, windows, wrapper
- Language: Nim
- Homepage: https://uing.nim.town
- Size: 2.17 MB
- Stars: 178
- Watchers: 10
- Forks: 9
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-nim - uing - Wrapper & bindings for libui-ng, an updated and maintained fork of libui. (User Interface / GUI)
README
# UIng
### [**Documentation**](https://neroist.github.io/uing/uing.html)
A fork of [ui](https://github.com/nim-lang/ui) that wraps
[libui-ng](https://github.com/libui-ng/libui-ng) instead of the old and unmaintained
[libui](https://github.com/andlabs/libui) library. It
also provides a high-level Nim binding for it.
To get started, install using Nimble:
```bash
nimble install uing
```
or add it to your project's Nimble file:
```nim
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/`](examples/)
directory and run the [tests](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](https://github.com/libui-ng/libui-ng#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](https://github.com/libui-ng/libui-ng#readme)
Static and dynamic libraries (e.g. `libui.so`, `libui.lib`) can be found in the
[releases page](https://github.com/neroist/uing/releases/latest)
## Screenshots
### Windows 11



### Linux (Zorin OS 16.4 Wayland)



### Mac OS X
> Thank you [@stoneface86](https://github.com/stoneface86) for the screenshots!


More screenshots are available at [`screenshots/`](screenshots/).
## Stargazers over time
[](https://starchart.cc/neroist/uing)
###### Made with ❤️ with Nim