-
Notifications
You must be signed in to change notification settings - Fork 23
Open
Labels
cannot-be-takenthis issue cannot be assigned due to unanswered questions, or difficultythis issue cannot be assigned due to unanswered questions, or difficultydifficulty: extreme demonit is as hard as beating an extreme demon in geometry dashit is as hard as beating an extreme demon in geometry dashenhancementenhanced something by removing or adding somethingenhanced something by removing or adding somethingrefactorthe files referenced need refactoringthe files referenced need refactoring
Milestone
Description
Current theme handler just doesn't cut it. Themes being defined in config.toml means that rovr will need to be relaunched every time the theme gets changed. This does not help theme development at all.
The only other alternative is to use style.tcss, but it is globally themed, so theme switching doesn't work. We need to change the theme handler to something similar to smassh
What to change:
- Create a new theme switcher screen to handle themes
- Move over the theme dataclasses to their own stylesheet in
src/rovr/config/themes/*.tcss - Find a way to define transparent/opaque and light/dark themes (they need to be set in the app's attributes, but as far as I searched, there doesn't seem to be a way to grab a custom variable's value)
- Make the stylesheet handler like this
- Stylesheet is defined as three different things
- rovr's built-in stylesheet
- rovr made theme/user made theme/user edited theme
- user's global
style.tcss
- user's global stylesheet defined first, followed by theme, then finally rovr's stylesheet, to ensure proper styling and overwrites.
- modify the stylesheet handler to make appropriate messages (because the three-in-one stylesheet cannot make proper error messages since the line numbers will be messed up)
- Stylesheet is defined as three different things
- will be expanded later on
Progress: 0/5.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
cannot-be-takenthis issue cannot be assigned due to unanswered questions, or difficultythis issue cannot be assigned due to unanswered questions, or difficultydifficulty: extreme demonit is as hard as beating an extreme demon in geometry dashit is as hard as beating an extreme demon in geometry dashenhancementenhanced something by removing or adding somethingenhanced something by removing or adding somethingrefactorthe files referenced need refactoringthe files referenced need refactoring