_____
|_ _| ___ __
| || | | \ \ /\ / /
| || |_| |\ V V /
|_| \__,_| \_/\_/
Tiny UI wrapper for
CLI tools
Tuw provides a very simple GUI for your scripts.
All you need is a JSON file and a tiny executable.
No need for compilers, browsers, or huge executables!
- Define GUI in JSON
- Embed JSON into exe
- Save arguments
- Input paths by drag and drop
- Cross-platform (Windows, macOS, Linux, BSD, etc.)
- Native look and feel
- Portable
- Small size
- UTF-8 support
You can download executables from the release page
Tuw-*-Windows-*.zip
is for Windows (7 or later.)Tuw-*-Windows10-*.zip
requires Windows 10 or later, but it's much smaller than the standard version.Tuw-*-macOS.tar.bz2
is for macOS (10.9 or later.)Tuw-*-Linux-*.tar.bz2
is for Linux (with GTK3.14, GLIBC2.15, and GLIBCXX3.4.21, or later versions of the libraries.)
Note
Tuw also supports Linux distributions using musl and other Unix-like systems (BSD, Haiku, illumos, etc.). While there is no release package available for these systems, you can build Tuw from the source code.
There are many JSON files to learn how to define GUIs.
There is a schema for gui_definition.json
.
You can use it to validate definitions while editing files.
For VSCode, you can add the schema path to settings.json
(File > Preferences > Settings > JSON:Schemas > Edit in settings.json
.)
"json.schemas": [
{
"fileMatch": [ "gui_definition.json", "gui_definition.jsonc" ],
"url": "https://raw.githubusercontent.com/matyalatte/tuw/main/schema/schema.json"
}
]
Files in this repository are available under the MIT license.
Project | About | License |
---|---|---|
libui-ng | GUI framework | MIT |
RapidJSON | JSON parser | MIT |
subprocess.h | Command processor | Unlicense |
c-env-utils | Utilities for environment info | MIT |
tiny-str-match | String validator | MIT |