I’m working on an extension that acts as an updater for other extensions. Currently I’m implementing “Download and Install” by using os.execute to open the downloaded *.aseprite-extension file in Aseprite. This comes with some caveats:
- My extension’s main
Dialogmust be closed before the built-in Aseprite extension installation warning/dialog appears - I’d like to re-run my extension once the user has installed/cancelled the update, but…
- Calling my
mainfunction again (or usingapp.commandto call my extension again) tramples over the install dialog and prevents it from appearing
Is there a way I can check that Aseprite is done showing any other dialogs before I try running my extension again?
The idea is: check for updates > click download + install button > close dialog so native install dialog can show up > check for updates again to confirm / update other extensions.
Alternatively (per this GitHub issue), is there any way at all to install extensions from *.aseprite-extension files via the API? I found some mentions of installCompressedExtension in extensions.cpp, but that’s not exposed to the Lua API.