matyalatte / tuw

Tiny GUI wrapper for command-line tools
MIT License
30 stars 2 forks source link

v0.5.0 update #16

Closed matyalatte closed 1 year ago

matyalatte commented 1 year ago

Changelog

Breaking change: choice and check_array formats

:warning: The old JSON files won't work if they have choice or check_array components.

For old versions, choice and check_array components required an array for each option.

{
    "type": "choice",
    "label": "num",
    "item": ["one", "two", "three"],
    "value": ["1", "2", "3"]
}

From v0.5.0, they need an array of items, and you can put options for each item.

{
    "type": "choice",
    "label": "num",
    "items": [
        {
            "label": "one",
            "value": "1"
        },
        {
            "label": "two",
            "value": "2"
        },
        {
            "label": "three",
            "value": "3"
        }
    ]
}

New feature: JSON embedding

You can use command-line utils to embed a JSON file into SimpleCommandRunner!

SimpleCommandRunner merge -j gui_definition.json -e MyExecutable -f

The merged executable will work without gui_definition.json!

Optimization for size

I tried many things to reduce the binary size.

Then, even the uncompressed executables became about 1MB! I removed the UPX versions from the releases cause the uncompressed ones are small enough for me.

Other changes