scarpe-team / scarpe

Scarpe - shoes but running on webview
Other
162 stars 29 forks source link

Optional settings in Shoes::App #556

Closed noahgibbs closed 3 months ago

noahgibbs commented 3 months ago

Description

Add settings for Shoes::App which will be ignored by the Lacci side.

A Shoes application can be specific to a particular Shoes implementation, and can have settings that are specific to that implementation. A gtk-scarpe application might want to specify a particular GTK+ theme. A scarpe-wasm app might specify how much local storage it wants reserved on its behalf. A SpaceShoes app might want to specify the Ruby version for ruby.wasm or the div to use for displaying output.

For that, we want Lacci to permit (optional) settings that will be passed through to the Scarpe implementation.

Like "features" (a list of symbols and symbol-lists which cannot contain significant data), this is an optional extension to Shoes. Shoes3 did not have this parameter.

Possible future work: should this parameter be gated behind the :scarpe feature?

Checklist

noahgibbs commented 3 months ago

On second thought, I think this isn't a great idea. It's a new Shoes3 incompatibility. There's basically always a way to do the same thing another way (e.g. env vars, or attributes on HTML elements for SpaceShoes.) And the setting values are purely Scarpe-impl-dependent, so it's kind of a liability to even include them.