Skip to content

matyalatte/tuw

Repository files navigation

Simple Command Runner ver 0.6.0

build test Codacy Badge Buy Me A Coffee

Small and simple GUI wrapper for command-line tools.

About this branch

This branch will use libui as a GUI library.
It still has some issues and lacks some features I want.
But it'll be the best GUI library for Simple Command Runner in the future.

Here is the list of changes from the main branch.

  • EXE became smaller. (Under 800KB!)
  • Compilation time became faster.
  • Support older build systems. (No need CMake 3.25!)
  • User-friendly workflows. (Just by running meson via command-line!)
  • Haven't beed tested enough.
  • Support universal binary for macOS.
  • MIT license!

Only 1MB for a portable GUI!

Simple Command Runner will give a very simple GUI to your scripts.
All you need is write a .json file and run a small executable.
It can make a GUI to run commands of your scripts.
No need coding, no need browsers, and no need stupidly large executables!

sample

Features

Downloads

You can download executables from the release page

  • SimpleCommandRunner*-Windows*.zip is for Windows (7 or later).
  • SimpleCommandRunner*-macOS*.tar.bz2 is for macOS (10.9 or later).
  • SimpleCommandRunner*-Linux*.tar.bz2 is for Ubuntu (20.04 or later).

Linux build only supports Ubuntu due to the glibc dependences.

Linux build and Windows build only support x64 architecture. (macOS build supports ARM chips like Apple M1.)

Build the executable by yourself if you want to use it on unsupported devices.

Examples

There are some JSON files to learn how to define GUIs.

JSON Schema

There is a schema for gui_definition.json.
You can use it to validate definitions while editing files.

VSCode

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/Simple-Command-Runner/main/schema/schema.json"
    }
]

react-jsonschema-form

You can also make gui_definition.json with web forms

FAQ

Frequently Asked Questions

Building

Building Executables

Want Smaller Executables?

You can use UPX to compress the executables.
They will be under 300KB!

License

Files in this repository are available under the MIT license.

External Projects

Project Used for License
libui-ng GUI framework MIT
RapidJSON JSON handling MIT
subprocess.h Command processing Unlicense