Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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: 4 days 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 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-11T22:10:17.000Z (3 months ago)
- Last Synced: 2024-12-14T12:08:34.374Z (11 days 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: 166
- Watchers: 9
- Forks: 6
- Open Issues: 0
-
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
![controllgallery3_tab1.png](screenshots/windows/controllgallery3_tab1.png)
![controllgallery3_tab2.png](screenshots/windows/controllgallery3_tab2.png)
![controllgallery3_tab3.png](screenshots/windows/controllgallery3_tab3.png)### Linux (Zorin OS 16.4 Wayland)
![controllgallery3_tab1.png](screenshots/linux/controllgallery3_tab1.png)
![controllgallery3_tab2.png](screenshots/linux/controllgallery3_tab2.png)
![controllgallery3_tab3.png](screenshots/linux/controllgallery3_tab3.png)### Mac OS X
> Thank you [@stoneface86](https://github.com/stoneface86) for the screenshots!
![controllgallery3_tab1.png](screenshots/macosx/controllgallery3_tab1.png)
![controllgallery3_tab3.png](screenshots/macosx/controllgallery3_tab3.png)More screenshots are available at [`screenshots/`](screenshots/).
## Stargazers over time
[![Stargazers over time](https://starchart.cc/neroist/uing.svg)](https://starchart.cc/neroist/uing)
###### Made with ❤️ with Nim