Options api #20
No reviewers
Labels
No labels
bug
discussion
documentation
duplicate
enhancement
good first issue
help wanted
invalid
Jameson
joke
options window
question
Split!
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
sparkle-devs/sparkle!20
Loading…
Reference in a new issue
No description provided.
Delete branch "options-api"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Implements the Options API, as in issue #3. It doesn't work properly in Split! Dark mode yet, though.
I have finished adding dropdowns and arrays:
Anything else, or any bugs?
Partially unrelated, but why is it that the options configs are defined in the returned class, but stuff like Sparkle menu options and disallowed Snaps are handled in
main? Is there any reason for this discrepancy?That's @codingisfun2831t's fault, he made the Snaps and (I think...) the menu options. I think we could put everything in the returned class now.
I would actually push for the opposite path: everything that's not metadata goes in a function, that way addons can dynamically change UI elements as they go and do other fun stuff. Also, can we make it to where addons have to specifically trigger the options menu and can add menu items for this?
I get why but... shouldn't at least Snap compatability be metadata? It's not like you're going to change the compatibilitiness of your addon on the fly.
I think separating the menu into its own function would be a good idea.
Well, I don't see any convincing reason to intentionally prevent that.
Why would that be a good idea?
To keep things organised:
What UI elements? You can already add hooks and apply
warpFunctionto stuff.This doesn't have anything to do with dissalowing snap mods on the fly and changing options whenever you want to with code.
I think an event for when the options have been changed is a good idea, though.
Wouldn't that unnecessarily break backwards compatibility in newer addons?
Whoops didn't mean to close, sorry!
LGTM
That's what did, originally. However, I think its definitely better as a function. So, any person who e.g. makes a clipboard addon, can provide a export feature if and ONLY if there's data there. This is how the morphic right-click menu feature works, you provide a "userMenu" function that returns a menu.
For that disallowed snaps, I did that so, in theory, you could check for a version or such and popup something. However it might be better to make all of that a string list, kinda like Python requirements.txt.
And justa little note, sorry for being mean and all about management. I like what you all are doing for the code itself, but of course I don't really agree with the addons replace forks. However, I am actually starting to change my mind.. it's just that, for forks they change a lot of stuff about Snap! Itself, that's going to be hard for addons. If we can get any system to work better with that and improve the whole system, I can get behind that.
Options in the Sparkle menu and stuff like that. While I don't think that there's any good reason to be doing tomfoolery like what you described, it's best to keep support for edge cases like that because it wouldn't cause any harm.
Agreed.
Agreed.
Perhaps, but I think that the API's fine as it is personally.
Don't worry! People are routinely much harder on me than you have ever been, and I think that it's important to have someone like you to keep us from shooting for the moon and having the bullets land squarely in our feet.
We'll get it done, piece by piece. The first step is integrating Sparkle into Jameson, which is planned for sometime this Sunday. Next up, we'll start gathering up features from forks and create a centralized repository of libraries. I'm not sure what the final step is yet, but I'm sure it's great.
Yeah to be completey honest I've grown to like the idea. We can have stuff that will allow projects to check about stuff, of course, and it should be good!
Actually I do have a worry. DO NOT MAKE THE EXTENSION CEASE TO EXIST! No one wants to be forced to use Jameson for Sparkle! For example, lets take Scratch Addons. Its a extension if you use Scratch, but Turbowarp intergrates it. And that's fine! But Sparkle should still be a seperate extension, and follow off that whole thing.
Woah man! Calm down! I'm not trying to nix the extension anytime soon. It's still useful for Snap!, and unless they do something to mess up compatibility with Sparkle, I don't plan on stopping releases of the extension.
Good! I did overreact. Just make Jameson be updated every main release for Sparkle with the new extension. The end goal, perhaps, is to get the Snap! Team to integrate sparkle? But that probably won't happen. :~)
I suppose that trying to get the Snap! Team to integrate our codebase would be one path, but they don't seem to be very receptive to PRs. I would prefer a solution where we create our own repository of projects (and potentially a forum site), so as to replace Snap! altogether.
Woah! That's a bit much!
True. I wouldn't mind if that didn't happen either.
Yeah, some of @PPPDUD's other messages seem to imply that you should "use Jameson" and only keep the extension for when you need regular stock Snap.
(ninja'd)
Exactly. The goal of the extension is to make life easier for the people who need Snap! in particular for some reason.
...Because its Snap!.
But seriously you should'nt make the main way to use jameson
What specific quality of Snap! makes it better than Jameson in your eyes?
Just because the "main" way will be Jameson doesn't mean that I'm deprioritizing support for Snap!; they're still an important market!
That's its the original?? Most people will trust Snap! instead of some random fork of it, that may or may not be stable/bug free.
While I understand that Snap! has better word-of-mouth and trust among the community, I beg you to judge this book by the preface and not just the cover.
Simple reason: older version
By the way, can we move the modding discussion in a new issue? Thanks.
I've added a new "optionsChanged" event for
Modclasses:I'll pull this now, to have the options ready for v0.4!!!