_____
|_ _| ___ __
| || | | \ \ /\ / /
| || |_| |\ V V /
|_| \__,_| \_/\_/
Tiny UI wrapper for
CLI tools
Tuw will give a very simple GUI to your scripts.
All you need is a JSON file and a tiny executable.
No need compilers, no need browsers, and no need 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*-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.)
Linux builds only support distributions using glibc.
Build the executable by yourself if you want to use it on unsupported distros.
There are some 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" ],
"url": "https://raw.githubusercontent.com/matyalatte/tuw/main/schema/schema.json"
}
]
Files in this repository are available under the MIT license.
Project | Used for | License |
---|---|---|
libui-ng | GUI framework | MIT |
RapidJSON | JSON handling | MIT |
subprocess.h | Command processing | Unlicense |