Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: URL handler for easily installing themes #771

Open
1 task done
Arcitec opened this issue May 22, 2023 · 1 comment · May be fixed by #773
Open
1 task done

feat: URL handler for easily installing themes #771

Arcitec opened this issue May 22, 2023 · 1 comment · May be fixed by #773
Labels
enhancement New feature or request feature-request

Comments

@Arcitec
Copy link

Arcitec commented May 22, 2023

Feature description

This was discussed on the Matrix chat.

Having an easy way to install themes via clickable links would grow the ecosystem of themes for Gradience, by making it easy for authors to control their own theme repositories and still giving users a super easy way to install the themes via Gradience.

The ideas that were discussed:

  1. gradience://official/pop-dark would download and activate (in Gradience's preview mode) the "Pop Dark" theme from the official collection.
  2. gradience://curated/dracula would do the same but for built-in "curated" themes.
  3. gradience://import/https://github.com/lassekongo83/adw-colors/tree/main/themes/dracula/dracula.json would download a theme and activate the preview for it.

The wording for the 3rd link format is undecided. It would be good to choose something that's clear and calming for newbies. Ideas that were discussed include these ones:

  • gradience://raw/<url>
  • gradience://external/<url>
  • gradience://import/<url>
  • gradience://url-import/<url>
  • gradience://download/<url>

The word "import" was highlighted as a good candidate.

Additional Context

The feature should preferably remember what URL the theme was imported from, in a database/JSON file on disk, so that it becomes easy to implement "update check" or "replace existing local copy to avoid duplicates" later.

Related ticket: #772

First Stage Ideas

A good idea for this "first stage" would be to add the following features:

  • The URL handlers.
  • Confirmation popup so users have to confirm if they really want to download the theme.
  • Downloading themes from external URLs.
  • Remembering the URL that the external theme was downloaded from. This won't need any GUI/display to the user. It's just necessary for making all future features (auto-updates/auto-replacing duplicates) easier to handle later.

Did you read the Code of Conduct?

@Arcitec Arcitec added enhancement New feature or request feature-request labels May 22, 2023
@github-actions
Copy link
Contributor

Welcome on Gradience. 🥳 We really appreciate your contribution. The core team will review your issue as soon as possible. You can also join the Matrix room: https://matrix.to/#/#Gradience-space:envs.net or the Discord server: https://discord.com/invite/4njFDtfGEZ

@0xMRTT 0xMRTT linked a pull request May 24, 2023 that will close this issue
5 tasks
@0xMRTT 0xMRTT linked a pull request May 24, 2023 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request feature-request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant