├── .gitignore
├── .vscode
└── settings.json
├── README.md
├── __init__.py
├── build.sh
├── config.json
├── config.md
├── config.py
├── files
├── BottomBar.css
├── CardLayout.css
├── DeckBrowser.css
├── Editor.css
├── Overview.css
├── QAbout.css
├── QAddCards.css
├── QAddonsDialog.css
├── QBrowser.css
├── QEditCurrent.css
├── QFilteredDeckConfigDialog.css
├── QNewDeckStats.css
├── QPreferences.css
├── Reviewer.css
├── ReviewerBottomBar.css
├── TopToolbar.css
├── global.css
└── legacy.css
├── injections
└── toolbar.py
├── manifest.json
├── screenshots
├── dialog.png
├── guide.png
├── ui-dark.png
├── ui-half.png
├── ui-light.png
├── ui1-dark.png
├── ui1-light.png
├── ui2-dark.png
├── ui2-light.png
├── ui3-dark.png
├── ui3-light.png
├── ui4-dark.png
└── ui4-light.png
├── themes
├── Anki.json
├── Catppuccin-Frappé.json
├── Catppuccin-Macchiato.json
├── Catppuccin-Mocha.json
├── Catppuccin.json
├── Nord.json
└── readme.txt
├── translation
├── en_US.json
├── he_IL.json
├── nb_NO.json
├── pt_BR.json
└── vi_VN.json
├── user_files
├── readme.txt
└── themes
│ ├── Anki.json
│ ├── Catppuccin-Frappé.json
│ ├── Catppuccin-Macchiato.json
│ ├── Catppuccin-Mocha.json
│ ├── Catppuccin.json
│ ├── Nord.json
│ └── readme.txt
└── utils
├── css_files.py
├── dark_title_bar.py
├── dialog.py
├── logger.py
├── modules.py
├── themes.py
└── translation.py
/.gitignore:
--------------------------------------------------------------------------------
1 | user_files/*.css
2 | user_files/*.log
3 | meta.json
4 | *.ankiaddon
5 | test.py
6 | *.swp
7 | __pycache__
8 |
--------------------------------------------------------------------------------
/.vscode/settings.json:
--------------------------------------------------------------------------------
1 | {
2 | "editor.formatOnSave": false
3 | }
4 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # Anki-redesign
2 |
3 | > A new lightweight look for Anki compatible with most (if not all) versions of Anki 2.1.X running QT5 and QT6. - Specifically tested on Anki 2.1.49
4 |
5 | Note: This add-on uses hooks and doesn't overwrite the original Anki code views that much, meaning that most add-ons should properly work with Anki-redesign enabled. However, if there is any add-on found to not be working properly, feel free to make an [issue](https://github.com/Shirajuki/anki-redesign/issues) and I'll try to add support for it!
6 | (List of tested addons and manual fixes for them to work can be seen on the [project github wiki](https://github.com/Shirajuki/anki-redesign/wiki/Compatible-Add-ons-for-Anki-2.1).)
7 |
8 | Note2: This addon also works as a theming addon as it enables the possibility of user customization on almost all Anki views/windows through the injection of CSS and QT CSS on the different components. The adding of custom styling can be done by copying over the css files from `./files` to `./user_files` and then editing the styling there. Primary color of button focus, link color, as well as the font, can be changed in the addon config.
9 |
10 | Note3: If the addon is not updating try open anki while holding shift to turn off all addons, then update and restart. :)
11 |
12 | **Manually tested on the following Anki versions:**
13 |
14 | - 2.1.57
15 | - 2.1.56
16 | - 2.1.54
17 | - 2.1.50
18 | - 2.1.49
19 | - 2.1.26
20 | - 2.1.22
21 |
22 | **(Planned) Updates / todos (as of 04.02.2023):**
23 |
24 | - [x] Recheck "Advanced Review Button" add-on compatibility
25 | - [x] Recheck "Full screen" add-on compatibility
26 | - [x] Re-add windows dark titlebar
27 | - [ ] Add a public theme sharing site where users can upload their themes and possibly have them preinstalled alongside the add-on
28 | - [x] Add styling support for Anki 2.1.57
29 | - [x] Fix themes to support Anki version post UI changes
30 |
31 |
32 |

33 | 
34 |
35 |
36 | **Guide:**
37 |
38 | 1. Download the Add-on from [AnkiWeb](https://ankiweb.net/shared/info/308574457)
39 | 2. there will be an Anki-redesign menu at the top. Click the config submenu to open the Anki-redesign Configuration dialog.
40 | 3. Customize Anki as you like, see the [readme image](https://raw.githubusercontent.com/Shirajuki/anki-redesign/main/screenshots/guide.png)
41 | 4. The colors will update after clicking "Save", however to make sure everything is updated, do a restart after customizing.
42 |
43 | **Credits:**
44 |
45 | The concept of this add-on was inspired by the following add-on and designs:
46 |
47 | - [Developer Nick's Redesign Add-on](https://github.com/nickdvlpr/Redesign)
48 | - [Yanyi Yoong's Anki Reimagine](https://www.behance.net/gallery/50253077/Anki-Reimagine)
49 | - [Beatify Anki Add-on](https://github.com/ShoroukAziz/Beautify-Anki)
50 | - [miere43's dark titlebar Anki Add-on](https://github.com/miere43/anki-dark-titlebar)
51 | - [AnKingMed's AnkiRecolor Add-on](https://github.com/AnKingMed/AnkiRecolor)
52 |
53 | **Changelog:**
54 |
55 | - 04-02-2023: Anki 2.1.57 is now compatible along with lots of add-on compatibility and bug fixes. The themes are also styled as it should (some colors might be out of place still) (v0.1.9)
56 | - 01-02-2023: Anki 2.1.56 is now compatible, some themes are however still not correctly styled as it should (v0.1.8)
57 | - 28-10-2022: Adds language translation, fix for Contanki, and some more Catpuccin themes (v0.1.7)
58 | - 10-10-2022: Adds fix for NDFS compatibility fix and community translation support (v0.1.6)
59 | - 22-08-2022: Adds refactored theming engine, adding sync, clone and delete of themes more easily, along with some bugfixes. Anki-redesign preferences is also moved to the Tools menubar (v0.1.5)
60 | - 26-07-2022: Automatic dark/light mode switch on themes is now correctly implemented, hopefully Mac toolbar bug is also fixed (v0.1.4)
61 | - 03-07-2022: Anki 2.1.54 is now compatible, also added addon compatibility for ARBb alongside auto dark/light mode switch on themes (v0.1.3)
62 | - 18-04-2022: Anki 2.1.50 is now compatible, also added some minor visual fixes for legacy versions (v0.1.2)
63 | - 14-04-2022: Adds minor bugfix for showInfo function (v0.1.1)
64 | - 13-04-2022: Adds major update adding dialog configuration and QT theming as well as some bugfixes and code cleanup (v0.1.0)
65 | - 31-01-2022: Adds minor bugfixes and some code cleanup (v0.0.8)
66 | - 30-01-2022: Adds customized font support, dark titlebar for windows on dark mode, more minor styling fixes (v0.0.7)
67 | - 25-01-2022: Adds typo and error bugfixes, code cleanup update (v0.0.6)
68 | - 24-01-2022: Adds full user customization styling through the folder user_files. User theming is now possible! (v0.0.5)
69 | - 21-01-2022: Adds a very small update, removes unfinished styling on AddCard window (v0.0.4)
70 | - 20-01-2022: Adds styling edits, timer and styling bugfixes, add-on now compatible with legacy versions (v0.0.3)
71 | - 14-01-2022: Adds second update, more styling fixes (v0.0.2)
72 | - 07-01-2022: Styling on Overview and DeckBrowser update (v0.0.1)
73 | - 04-01-2022: Initial Release
74 |
--------------------------------------------------------------------------------
/__init__.py:
--------------------------------------------------------------------------------
1 | from .utils import dialog
2 | from .utils.themes import themes, get_theme
3 | from .utils.css_files import css_files_dir
4 | import json
5 | # Custom util functions
6 | from .utils.modules import *
7 | # Logger for debuging
8 | from .utils.logger import logger
9 |
10 | from typing import Any, Optional
11 | from PyQt5.QtWidgets import QWidget
12 | # import the main window object (mw) from aqt
13 | from aqt import AnkiQt, DialogManager, mw, appVersion
14 | from aqt.theme import theme_manager
15 | from aqt import gui_hooks
16 | # QT dialog windows
17 | # Browser import legacy check (2.1.22)
18 | if module_exists("aqt.browser.browser"):
19 | from aqt.browser.browser import Browser
20 | else:
21 | from aqt.browser import Browser
22 | # DeckStats import legacy check
23 | if module_has_attribute("aqt.stats", "NewDeckStats"):
24 | from aqt.stats import DeckStats, NewDeckStats
25 | else:
26 | from aqt.stats import DeckStats
27 | from aqt.addcards import AddCards
28 | from aqt.editcurrent import EditCurrent
29 | from aqt.about import ClosableQDialog
30 | from aqt.preferences import Preferences
31 | from aqt.addons import AddonsDialog
32 | # FilteredDeckConfigDialog import non-legacy check
33 | if module_exists("aqt.filtered_deck"):
34 | from aqt.filtered_deck import FilteredDeckConfigDialog
35 | # QT page views
36 | from aqt.toolbar import Toolbar, TopToolbar
37 | from aqt.deckbrowser import DeckBrowser, DeckBrowserBottomBar
38 | from aqt.overview import Overview, OverviewBottomBar
39 | from aqt.editor import Editor
40 | from aqt.reviewer import Reviewer, ReviewerBottomBar
41 | from aqt.webview import WebContent
42 |
43 | # Load styling injections
44 | from .injections.toolbar import redraw_toolbar_legacy
45 |
46 | # Load config data here
47 | from .config import config, get_config
48 |
49 | anki_version = tuple(int(segment) for segment in appVersion.split("."))
50 |
51 | # Addon compatibility fixes
52 | # More Overview Stats 2.1 addon compatibility fix
53 | addon_more_overview_stats_fix = config['addon_more_overview_stats']
54 | addon_advanced_review_bottom_bar = config['addon_advanced_review_bottom_bar']
55 | addon_no_distractions_full_screen = config['addon_no_distractions_full_screen']
56 |
57 | # Customization
58 | theme = config['theme']
59 | # Init script/file path
60 | logger.debug(css_files_dir)
61 | logger.debug(themes)
62 | themes_parsed = get_theme(theme)
63 | color_mode = 3 if theme_manager.get_night_mode() else 2 # 2 = light and 3 = dark
64 |
65 | # Dark title bar
66 | from .utils.dark_title_bar import set_dark_titlebar, set_dark_titlebar_qt, dwmapi
67 | set_dark_titlebar(mw, dwmapi)
68 | logger.debug(dwmapi)
69 |
70 | # CSS injections
71 | def load_custom_style():
72 | # Theme config
73 | theme_colors_light = ""
74 | theme_colors_dark = ""
75 | for color_name in themes_parsed.get("colors"):
76 | color = themes_parsed.get("colors").get(color_name)
77 | if color[-1]:
78 | theme_colors_light += f"{color[-1]}: {color[2]};\n "
79 | theme_colors_dark += f"{color[-1]}: {color[3]};\n "
80 | else:
81 | theme_colors_light += f"--{color_name.lower().replace('_','-')}: {color[color_mode]};\n "
82 | theme_colors_dark += f"--{color_name.lower().replace('_','-')}: {color[color_mode]};\n "
83 | # Font config
84 | font = config["font"]
85 | if config["fallbackFonts"]:
86 | font = f"{config['font']}, {config['fallbackFonts']}"
87 | custom_style = """
88 |
109 | """ % (theme_colors_light, theme_colors_dark, font, config["font_size"], config["font_size"])
110 | return custom_style
111 |
112 |
113 | def load_custom_style_wrapper():
114 | custom_style = f"""
115 | const style = document.createElement("style");
116 | style.innerHTML = `{load_custom_style()[8:-13]}`;
117 | document.head.appendChild(style);
118 | """
119 | return custom_style
120 |
121 | # Adds styling on the different webview contents, before the content is set
122 |
123 |
124 | def on_webview_will_set_content(web_content: WebContent, context: Optional[Any]) -> None:
125 | logger.debug(context) # Logs content being loaded, find out the instance
126 | web_content.css.append(css_files_dir['global']) # Global css
127 | web_content.head += load_custom_style() # Custom styling
128 | # Deckbrowser
129 | if isinstance(context, DeckBrowser):
130 | web_content.css.append(css_files_dir['DeckBrowser'])
131 | # TopToolbar
132 | elif isinstance(context, TopToolbar):
133 | web_content.css.append(css_files_dir['TopToolbar'])
134 | # BottomToolbar (Buttons)
135 | elif isinstance(context, DeckBrowserBottomBar) or isinstance(context, OverviewBottomBar):
136 | web_content.css.append(css_files_dir['BottomBar'])
137 | # Overview
138 | elif isinstance(context, Overview):
139 | if addon_more_overview_stats_fix:
140 | web_content.head += ""
141 | web_content.css.append(css_files_dir['Overview'])
142 | # Editor
143 | elif isinstance(context, Editor):
144 | web_content.css.append(css_files_dir['Editor'])
145 | # Reviewer
146 | elif isinstance(context, Reviewer):
147 | web_content.css.append(css_files_dir['Reviewer'])
148 | if addon_no_distractions_full_screen:
149 | web_content.body += """
150 |
167 | """
168 | elif isinstance(context, ReviewerBottomBar):
169 | if addon_advanced_review_bottom_bar:
170 | web_content.body += ""
171 | else:
172 | web_content.css.append(css_files_dir['BottomBar'])
173 | web_content.css.append(css_files_dir['ReviewerBottomBar'])
174 | # Button padding bottom
175 | web_content.body += ""
176 | web_content.body += ""
177 | if anki_version >= (2, 1, 56):
178 | web_content.body = ""+web_content.body
179 | mw.bottomWeb.adjustHeightToFit()
180 | # CardLayout
181 | elif context_name_includes(context, "aqt.clayout.CardLayout"):
182 | web_content.css.append(css_files_dir['CardLayout'])
183 | # Legacy webviews
184 | # ResetRequired on card edit (legacy)
185 | elif context_name_includes(context, "aqt.main.ResetRequired"):
186 | web_content.css.append(css_files_dir['legacy'])
187 |
188 |
189 | gui_hooks.webview_will_set_content.append(on_webview_will_set_content)
190 |
191 | if attribute_exists(gui_hooks, "main_window_did_init"):
192 | # gui_hooks.main_window_did_init.append(redraw_toolbar)
193 | pass
194 | elif attribute_exists(gui_hooks, "top_toolbar_did_init_links"):
195 | gui_hooks.top_toolbar_did_init_links.append(redraw_toolbar_legacy)
196 |
197 | # Dialog window styling
198 |
199 |
200 | def on_dialog_manager_did_open_dialog(dialog_manager: DialogManager, dialog_name: str, dialog_instance: QWidget) -> None:
201 | logger.debug(dialog_name)
202 | dialog: AnkiQt = dialog_manager._dialogs[dialog_name][1]
203 | # If dwmapi found and nightmode is enabled, set dark titlebar to dialog window
204 | set_dark_titlebar_qt(dialog, dwmapi)
205 | # AddCards
206 | if dialog_name == "AddCards":
207 | context: AddCards = dialog_manager._dialogs[dialog_name][1]
208 | context.setStyleSheet(open(css_files_dir['QAddCards'], encoding='utf-8').read())
209 | # Addons popup
210 | elif dialog_name == "AddonsDialog":
211 | context: AddonsDialog = dialog_manager._dialogs[dialog_name][1]
212 | context.setStyleSheet(open(css_files_dir['QAddonsDialog'], encoding='utf-8').read())
213 | # Browser
214 | elif dialog_name == "Browser":
215 | context: Browser = dialog_manager._dialogs[dialog_name][1]
216 | context.setStyleSheet(open(css_files_dir['QBrowser'], encoding='utf-8').read())
217 | # EditCurrent
218 | elif dialog_name == "EditCurrent":
219 | context: EditCurrent = dialog_manager._dialogs[dialog_name][1]
220 | context.setStyleSheet(open(css_files_dir['QEditCurrent'], encoding='utf-8').read())
221 | # FilteredDeckConfigDialog
222 | elif module_exists("aqt.filtered_deck") and dialog_name == "FilteredDeckConfigDialog":
223 | context: FilteredDeckConfigDialog = dialog_manager._dialogs[dialog_name][1]
224 | context.setStyleSheet(open(css_files_dir['QFilteredDeckConfigDialog'], encoding='utf-8').read())
225 | # Statistics / NewDeckStats
226 | elif dialog_name == "NewDeckStats":
227 | context: NewDeckStats = dialog_manager._dialogs[dialog_name][1]
228 | context.form.web.eval(load_custom_style_wrapper())
229 | context.setStyleSheet(open(css_files_dir['QNewDeckStats'], encoding='utf-8').read())
230 | # About
231 | elif dialog_name == "About":
232 | context: ClosableQDialog = dialog_manager._dialogs[dialog_name][1]
233 | context.setStyleSheet(open(css_files_dir['QAbout'], encoding='utf-8').read())
234 | # Preferences
235 | elif dialog_name == "Preferences":
236 | context: Preferences = dialog_manager._dialogs[dialog_name][1]
237 | context.setStyleSheet(open(css_files_dir['QPreferences'], encoding='utf-8').read())
238 | # sync_log - 这是什么???
239 | elif dialog_name == "sync_log":
240 | pass
241 |
242 |
243 | if attribute_exists(gui_hooks, "dialog_manager_did_open_dialog"):
244 | gui_hooks.dialog_manager_did_open_dialog.append(
245 | on_dialog_manager_did_open_dialog)
246 | else:
247 | # Legacy dialog window styling
248 | # Implemented by monkey patching, instead of hooks :c
249 | # setupDialogGC is being called on almost all dialog windows, utilizing this, the
250 | # function is used as a type of hook to inject CSS styling on the QT instances
251 | def monkey_setup_dialog_gc(obj: Any) -> None:
252 | obj.finished.connect(lambda: mw.gcWindow(obj))
253 | logger.debug(obj)
254 | set_dark_titlebar_qt(obj, dwmapi)
255 | # AddCards
256 | if isinstance(obj, AddCards):
257 | obj.setStyleSheet(open(css_files_dir['QAddCards'], encoding='utf-8').read())
258 | # EditCurrent
259 | elif isinstance(obj, EditCurrent):
260 | obj.setStyleSheet(open(css_files_dir['QEditCurrent'], encoding='utf-8').read())
261 | # Statistics / DeckStats
262 | elif isinstance(obj, DeckStats):
263 | obj.setStyleSheet(open(css_files_dir['QNewDeckStats'], encoding='utf-8').read())
264 | # About
265 | elif isinstance(obj, ClosableQDialog):
266 | obj.setStyleSheet(open(css_files_dir['QAbout'], encoding='utf-8').read())
267 | # Preferences
268 | # Haven't found a solution for legacy preferences yet :c
269 | # Should be rare enough for other addons to also patch this I hope.
270 | mw.setupDialogGC = monkey_setup_dialog_gc
271 |
272 | # Addons popup
273 | if attribute_exists(gui_hooks, "addons_dialog_will_show"):
274 | def on_addons_dialog_will_show(dialog: AddonsDialog) -> None:
275 | logger.debug(dialog)
276 | set_dark_titlebar_qt(dialog, dwmapi)
277 | dialog.setStyleSheet(open(css_files_dir['QAddonsDialog'], encoding='utf-8').read())
278 | gui_hooks.addons_dialog_will_show.append(on_addons_dialog_will_show)
279 | # Browser
280 | if attribute_exists(gui_hooks, "browser_will_show"):
281 | def on_browser_will_show(browser: Browser) -> None:
282 | logger.debug(browser)
283 | set_dark_titlebar_qt(browser, dwmapi)
284 | browser.setStyleSheet(open(css_files_dir['QBrowser'], encoding='utf-8').read())
285 | gui_hooks.browser_will_show.append(on_browser_will_show)
286 |
287 | # Test for 2.1.56
288 | if attribute_exists(gui_hooks, "style_did_init"):
289 | def updateStyle(str):
290 | # logger.debug("helloooo"+str)
291 | return str
292 | gui_hooks.style_did_init.append(updateStyle)
293 |
294 | # Dialog updates
295 | def updateTheme(_):
296 | logger.debug("updating theme")
297 | global theme, themes_parsed, color_mode
298 | config = get_config()
299 | theme = config['theme']
300 | themes_parsed = get_theme(theme)
301 | color_mode = 3 if theme_manager.get_night_mode() else 2 # 2 = light and 3 = dark
302 |
303 |
304 | # Communication through script using rarely used hook (might change to custom hooks in the future)
305 | gui_hooks.debug_console_will_show.append(updateTheme)
306 |
--------------------------------------------------------------------------------
/build.sh:
--------------------------------------------------------------------------------
1 | #!/bin/bash
2 |
3 | # Delete __pycache__
4 | find -name __pycache__ -type d -exec rm -rf {} +
5 |
6 | # Delete current add-on package
7 | rm -f anki-redesign.ankiaddon
8 |
9 | # Zip add-on (build)
10 | zip -r anki-redesign.ankiaddon files/ injections/ themes/ translation/ user_files/ utils/ __init__.py config.json config.md config.py manifest.json
11 |
--------------------------------------------------------------------------------
/config.json:
--------------------------------------------------------------------------------
1 | {
2 | "addon_more_overview_stats": "false",
3 | "addon_advanced_review_bottom_bar": "false",
4 | "addon_no_distractions_full_screen": "false",
5 | "font": "Segoe UI",
6 | "fallbackFonts": "sans-serif",
7 | "font_size": "12",
8 | "theme": "Catppuccin"
9 | }
10 |
--------------------------------------------------------------------------------
/config.md:
--------------------------------------------------------------------------------
1 | This is the advanced documentation for Anki-redesign's configuration:
2 | Use the built-in config at the menu (Anki-redesign > Config) for a better user experience.
3 |
4 | - addon_more_overview_stats: either `true` or `false`
5 | - addon_advanced_review_bottom_bar: either `true` or `false`
6 | - addon_no_distractions_full_screen: either `true` or `false`
7 | - font: customize own font here
8 | - font_size: customize own font size here
9 | - theme: customize theme here
10 |
--------------------------------------------------------------------------------
/config.py:
--------------------------------------------------------------------------------
1 | from aqt import mw
2 |
3 | def get_config() -> dict:
4 | config: dict = mw.addonManager.getConfig(__name__) or dict()
5 | ## Addon fix
6 | config['addon_more_overview_stats'] = True if config.get('addon_more_overview_stats', "false").lower() == "true" else False
7 | config['addon_advanced_review_bottom_bar'] = True if config.get('addon_advanced_review_bottom_bar', "false").lower() == "true" else False
8 | config['addon_no_distractions_full_screen'] = True if config.get('addon_no_distractions_full_screen', "false").lower() == "true" else False
9 | ## Customization
10 | config['font'] = config.get('font', "Segoe UI")
11 | config['fallbackFonts'] = config.get('fallbackFonts', "sans-serif")
12 | config['font_size'] = int(config.get('font_size', "12"))
13 | config['theme'] = config.get('theme', 'Anki')
14 |
15 | return config
16 |
17 | def write_config(config):
18 | for key in config.keys():
19 | if not isinstance(config[key], str):
20 | config[key] = str(config[key])
21 | mw.addonManager.writeConfig(__name__, config)
22 |
23 | config = get_config()
24 |
--------------------------------------------------------------------------------
/files/BottomBar.css:
--------------------------------------------------------------------------------
1 | body #outer button {
2 | color: var(--text-fg, var(--legacy-text-fg));
3 | border: none;
4 | border-radius: 15px;
5 | padding: 6px 24px;
6 | margin: 0 5px;
7 | cursor: pointer;
8 | font-weight: 500;
9 | font-size: 0.875rem;
10 | line-height: 1.75;
11 | letter-spacing: 0.02857em;
12 | text-transform: uppercase;
13 | min-width: 64px;
14 | background-color: var(--frame-bg, var(--legacy-frame-bg));
15 | transition: background 0.2s linear, color 0.3s ease-out;
16 | box-shadow: rgb(0 0 0 / 20%) 0px 3px 7px -2px,
17 | rgb(0 0 0 / 5%) 0px 5px 10px 0px, rgb(0 0 0 / 12%) 0px 1px 5px 0px;
18 | }
19 | body.nightMode #outer button {
20 | background: initial;
21 | background: var(--button-bg, var(--legacy-button-bg));
22 | background-color: var(--button-bg, var(--legacy-button-bg));
23 | }
24 |
25 | body #outer button:focus,
26 | body #outer button.focus {
27 | background-color: var(--button-focus-bg, var(--legacy-button-focus-bg));
28 | color: var(--frame-bg, var(--legacy-frame-bg));
29 | outline: none;
30 | }
31 | body.nightMode #outer button:focus,
32 | body.nightMode #outer button.focus {
33 | color: var(--text-fg, var(--legacy-text-fg));
34 | }
35 |
36 | body #outer button:hover {
37 | background: rgba(0, 0, 0, 0.05);
38 | background-color: rgba(0, 0, 0, 0.05);
39 | }
40 | body.nightMode #outer button:hover {
41 | background: rgba(255, 255, 255, 0.1);
42 | background-color: rgba(255, 255, 255, 0.1);
43 | }
44 |
--------------------------------------------------------------------------------
/files/CardLayout.css:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/files/DeckBrowser.css:
--------------------------------------------------------------------------------
1 | body table:first-of-type {
2 | width: 90%;
3 | max-width: 600px;
4 | }
5 | body table:first-of-type th {
6 | padding: 0 6px;
7 | }
8 | body table:first-of-type td {
9 | padding: 6px;
10 | }
11 | body table:first-of-type tr.deck td {
12 | border-bottom: none;
13 | }
14 | body table:first-of-type tr.deck td.opts {
15 | padding-left: 20px;
16 | }
17 | body table:first-of-type tr.deck td.opts > a {
18 | display: flex;
19 | }
20 | body table:first-of-type tr.current {
21 | background-color: transparent;
22 | }
23 | body table:first-of-type tr.current td {
24 | background: var(--current-deck, var(--legacy-current-deck));
25 | }
26 | body table:first-of-type tr:hover:not(.top-level-drag-row):not(.current) td {
27 | background: transparent;
28 | }
29 | body table:first-of-type tr.current td:first-of-type {
30 | border-radius: 10px 0 0 10px;
31 | }
32 | body table:first-of-type tr.current td:last-of-type {
33 | border-radius: 0 10px 10px 0;
34 | }
35 | body table:first-of-type tr a {
36 | color: var(--text-fg, var(--legacy-text-fg)) !important;
37 | }
38 | body table:first-of-type tr a.filtered {
39 | color: var(--link, var(--legacy-link)) !important;
40 | }
41 | a.deck {
42 | padding: 5px 10px 5px 5px;
43 | transition: padding 1s, background-color 0.5s, margin-right 1s !important;
44 | border-radius: 6px;
45 | margin-right: 5px;
46 | }
47 | body table:first-of-type tr a.deck:hover {
48 | padding: 5px 10px 5px 10px;
49 | background-color: rgba(0, 0, 0, 0.1);
50 | margin-right: 0;
51 | }
52 |
--------------------------------------------------------------------------------
/files/Editor.css:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/files/Overview.css:
--------------------------------------------------------------------------------
1 | body .descmid {
2 | text-align: center;
3 | overflow-x: hidden;
4 | }
5 | center > table tr:first-of-type {
6 | display: flex;
7 | flex-direction: column;
8 | }
9 | td table {
10 | width: 50%;
11 | }
12 | td table tr:first-of-type {
13 | display: table-row;
14 | flex-direction: unset;
15 | }
16 | td table tr td:last-of-type {
17 | text-align: right;
18 | }
19 | button#study.but,
20 | button#main.but {
21 | padding: 10px 27px;
22 | box-sizing: border-box;
23 | width: 100%;
24 | margin-bottom: 20px;
25 |
26 | color: var(--text-fg, var(--legacy-text-fg));
27 | border: none;
28 | border-radius: 15px;
29 | margin: 0 5px;
30 | cursor: pointer;
31 | font-weight: 500;
32 | font-size: 0.875rem;
33 | line-height: 1.75;
34 | letter-spacing: 0.02857em;
35 | text-transform: uppercase;
36 | min-width: 64px;
37 | background: initial;
38 | background-color: var(--frame-bg, var(--legacy-frame-bg));
39 | transition: background 0.2s linear, color 0.3s ease-out;
40 | box-shadow: rgb(0 0 0 / 20%) 0px 3px 7px -2px,
41 | rgb(0 0 0 / 5%) 0px 5px 10px 0px, rgb(0 0 0 / 12%) 0px 1px 5px 0px;
42 | }
43 | body.nightMode button#study.but:hover,
44 | body.nightMode button#main.but:hover {
45 | background-color: rgba(255, 255, 255, 0.1);
46 | }
47 | button#study.but:focus,
48 | button#main.but:focus {
49 | background-color: var(
50 | --button-focus-bg,
51 | var(--legacy-button-focus-bg)
52 | ) !important;
53 | color: var(--frame-bg, var(--legacy-frame-bg));
54 | outline: none;
55 | }
56 | body.nightMode button#study.but:focus,
57 | body.nightMode button#main.but:focus {
58 | color: var(--text-fg);
59 | }
60 | button#study.but:hover,
61 | button#main.but:hover {
62 | background-color: rgba(0, 0, 0, 0.05);
63 | color: var(--text-fg);
64 | }
65 |
--------------------------------------------------------------------------------
/files/QAbout.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/files/QAbout.css
--------------------------------------------------------------------------------
/files/QAddCards.css:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/files/QAddonsDialog.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/files/QAddonsDialog.css
--------------------------------------------------------------------------------
/files/QBrowser.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/files/QBrowser.css
--------------------------------------------------------------------------------
/files/QEditCurrent.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/files/QEditCurrent.css
--------------------------------------------------------------------------------
/files/QFilteredDeckConfigDialog.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/files/QFilteredDeckConfigDialog.css
--------------------------------------------------------------------------------
/files/QNewDeckStats.css:
--------------------------------------------------------------------------------
1 | body {
2 | background-color: red;
3 | }
--------------------------------------------------------------------------------
/files/QPreferences.css:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/files/QPreferences.css
--------------------------------------------------------------------------------
/files/Reviewer.css:
--------------------------------------------------------------------------------
1 | body #typeans {
2 | padding: 8px 12px;
3 | border-radius: 5px;
4 | }
5 | body.card {
6 | width: 90%;
7 | margin: 20px auto;
8 | max-width: 1080px;
9 | }
10 |
11 | /* NDFS addon fix */
12 | body #outer.ndfs .bottomWrapper {
13 | height: 90px !important;
14 | zoom: 1.1 !important;
15 | min-width: 190px;
16 | }
17 | body #outer.ndfs #bottomiFrame {
18 | top: auto !important;
19 | bottom: 0;
20 | width: 100% !important;
21 | background: transparent !important;
22 | left: -8px !important;
23 | }
24 |
--------------------------------------------------------------------------------
/files/ReviewerBottomBar.css:
--------------------------------------------------------------------------------
1 | html {
2 | height: 100%;
3 | min-height: 65px;
4 | }
5 | body {
6 | overflow: hidden;
7 | height: 100%;
8 | }
9 | body #outer {
10 | border-top: 1px solid transparent;
11 | height: 100%;
12 | }
13 | body.nightMode #outer {
14 | border-top-color: transparent;
15 | }
16 | body #outer table#innertable {
17 | padding: 6px;
18 | box-sizing: border-box;
19 | transform: translateY(-14px);
20 | }
21 | body button {
22 | margin: 0;
23 | }
24 | body .stat {
25 | position: relative;
26 | padding-top: 0px;
27 | min-width: 120px;
28 |
29 | }
30 | body .stat2,
31 | body #middle td.stat2 {
32 | padding-top: 0px;
33 | font-weight: normal;
34 | }
35 | td[align="center"] {
36 | position: relative;
37 | }
38 | body .stattxt,
39 | td[align="center"] > span {
40 | position: absolute;
41 | display: block;
42 | left: 50%;
43 | top: 18px;
44 | transform: translate(-50%, -10px);
45 | color: var(--text-fg, var(--legacy-text-fg));
46 | }
47 |
48 | body .stattxt#time {
49 | transform: translate(-50%, -8px);
50 | }
51 | body #outer button#ansbut,
52 | body #outer table button {
53 | transform: translateY(12px);
54 | }
55 | /* ARBb addon fix */
56 | body #outer.arbb .stat {
57 | min-width: auto;
58 | padding-left: 2px;
59 | padding-right: 2px;
60 | }
61 | body #outer.arbb table#innertable {
62 | padding: initial;
63 | width: calc(100% - 10px);
64 | transform: translateY(8px) !important;
65 | height: 50px;
66 | }
67 | body #outer.arbb table #middle {
68 | transform: translateY(0);
69 | }
70 | body .new-qt6 #outer.arbb table #middle {
71 | transform: translateY(10px);
72 | }
73 | body #outer.arbb table #time {
74 | display: inline-flex;
75 | justify-content: center;
76 | left: 50%;
77 | transform: translate(-50%, calc(-100% - 12px))
78 | }
79 | body #outer.arbb table .stattxt {
80 | transform: translate(-50%, -30px);
81 | }
82 | body .new-qt6 #outer.arbb table .stattxt {
83 | transform: translate(-50%, -16px);
84 | }
85 | body #outer.arbb table button {
86 | letter-spacing: 0.02857em;
87 | text-transform: uppercase;
88 | margin-left: 2px;
89 | margin-right: 2px;
90 | transform: translateY(-8px) !important;
91 | }
92 |
93 | /* 2.1.56 fix */
94 | body .new-qt6 ~ #outer #middle td.stat2 .stattxt,
95 | body .new-qt6 ~ #outer .stattxt#time {
96 | top: -16px;
97 | }
98 | body .new-qt6 ~ #outer table#innertable {
99 | transform: translateY(0);
100 | }
101 |
102 | body .new-qt6 ~ #outer #middle table[cellspacing] {
103 | transform: translateY(-10px);
104 | }
105 |
106 | /* NDFS addon fix */
107 | body #outer.ndfs {
108 | background: var(--frame-bg, var(--legacy-frame-bg)) !important;
109 | transform: translateX(-8px);
110 | border-radius: 10px 10px 0 0;
111 | }
112 | body #outer.ndfs table#innertable {
113 | transform: translate(-3px, 20px) !important;
114 | background: var(--frame-bg, var(--legacy-frame-bg)) !important;
115 | }
116 | body #outer.ndfs table#innertable tbody {
117 | transform: translateX(6px);
118 | }
119 | body #outer.ndfs table:not(#innertable) {
120 | position: relative !important;
121 | }
122 |
--------------------------------------------------------------------------------
/files/TopToolbar.css:
--------------------------------------------------------------------------------
1 | body #outer {
2 | display: flex;
3 | justify-content: center;
4 | }
5 | body #header {
6 | width: auto;
7 | border-bottom: none;
8 | border-radius: 0 0 12px 12px;
9 | background-color: var(--frame-bg, var(--legacy-frame-bg));
10 | height: 40px;
11 | box-shadow: rgb(0 0 0 / 10%) 0px 0px 11px -2px,
12 | rgb(0 0 0 / 14%) 0px 2px 2px 0px, rgb(0 0 0 / 12%) 0px 4px 5px 0px;
13 | }
14 | body.nightMode center #header {
15 | background-color: var(--frame-bg, var(--legacy-frame-bg));
16 | }
17 | body center #header .tdcenter {
18 | background: transparent;
19 | box-shadow: initial;
20 | border: initial;
21 | padding: 0 2px;
22 | }
23 | body center #header .hitem,
24 | body .header .toolbar .hitem {
25 | padding: 4px 15px;
26 | background: transparent;
27 | color: var(--text-fg, var(--legacy-text-fg)) !important;
28 | transition: background 0.3s;
29 | border-radius: 6px;
30 | }
31 | body center #header .hitem:hover,
32 | body .header .toolbar .hitem:hover {
33 | background: var(--button-bg);
34 | box-shadow: initial;
35 | }
36 | body center #header a#sync,
37 | body .header .toolbar a#sync {
38 | color: var(--link, var(--legacy-link)) !important;
39 | }
40 |
41 | /* >= 2.1.57 */
42 | body:not(.fancy) .header {
43 | border-bottom: 1px solid transparent !important;
44 | }
45 | body .header .toolbar {
46 | width: auto;
47 | border-bottom: none;
48 | border-radius: 0 0 12px 12px;
49 | background-color: var(--frame-bg, var(--legacy-frame-bg));
50 | height: 34px;
51 | padding: 4px 8px 4px 8px;
52 | box-shadow: rgb(0 0 0 / 10%) 0px 0px 11px -2px,
53 | rgb(0 0 0 / 14%) 0px 2px 2px 0px, rgb(0 0 0 / 12%) 0px 4px 5px 0px;
54 | }
55 | body:not(.fancy) .header .toolbar {
56 | height: 30px;
57 | padding: 2px 8px 2px 8px;
58 | }
59 |
--------------------------------------------------------------------------------
/files/global.css:
--------------------------------------------------------------------------------
1 | /* Force LIGHT MODE Background */
2 | :root body:not(.nightMode),
3 | :root body.isWin:not(.nightMode),
4 | :root body.isMac:not(.nightMode),
5 | :root body.isLin:not(.nightMode) {
6 | /* Force variable styling on legacy versions */
7 | --legacy-text-fg: black;
8 | --legacy-frame-bg: white;
9 | --legacy-border: #aaa;
10 | --legacy-medium-border: #b6b6b6;
11 | --legacy-faint-border: #e7e7e7;
12 | --legacy-link: #00a;
13 | --legacy-review-count: #0a0;
14 | --legacy-new-count: #00a;
15 | --legacy-learn-count: #c35617;
16 | --legacy-zero-count: #ddd;
17 | --legacy-slightly-grey-text: #333;
18 | --legacy-highlight-bg: #77ccff;
19 | --legacy-highlight-fg: black;
20 | --legacy-disabled: #777;
21 | --legacy-flag1-fg: #e25252;
22 | --legacy-flag2-fg: #ffb347;
23 | --legacy-flag3-fg: #54c414;
24 | --legacy-flag4-fg: #578cff;
25 | --legacy-flag5-fg: #ff82ee;
26 | --legacy-flag6-fg: #00d1b5;
27 | --legacy-flag7-fg: #9649dd;
28 | --legacy-flag1-bg: #ff9b9b;
29 | --legacy-flag2-bg: #ffb347;
30 | --legacy-flag3-bg: #93e066;
31 | --legacy-flag4-bg: #9dbcff;
32 | --legacy-flag5-bg: #f5a8eb;
33 | --legacy-flag6-bg: #7edbd7;
34 | --legacy-flag7-bg: #cca3f1;
35 | --legacy-buried-fg: #aaaa33;
36 | --legacy-suspended-fg: #dd0;
37 | --legacy-suspended-bg: #ffffb2;
38 | --legacy-marked-bg: #cce;
39 | --legacy-tooltip-bg: #fcfcfc;
40 | }
41 | /* Force DARK MODE Background */
42 | :root body.nightMode,
43 | :root body.isWin.nightMode,
44 | :root body.isMac.nightMode,
45 | :root body.isLin.nightMode {
46 | /* Force variable styling on legacy versions */
47 | --legacy-text-fg: white;
48 | --legacy-frame-bg: #3a3a3a;
49 | --legacy-border: #777;
50 | --legacy-medium-border: #444;
51 | --legacy-faint-border: #29292b;
52 | --legacy-link: #77ccff;
53 | --legacy-review-count: #5ccc00;
54 | --legacy-new-count: #77ccff;
55 | --legacy-learn-count: #ff935b;
56 | --legacy-zero-count: #444;
57 | --legacy-slightly-grey-text: #ccc;
58 | --legacy-highlight-bg: #77ccff;
59 | --legacy-highlight-fg: white;
60 | --legacy-disabled: #777;
61 | --legacy-flag1-fg: #ff7b7b;
62 | --legacy-flag2-fg: #f5aa41;
63 | --legacy-flag3-fg: #86ce5d;
64 | --legacy-flag4-fg: #6f9dff;
65 | --legacy-flag5-fg: #f097e4;
66 | --legacy-flag6-fg: #5ccfca;
67 | --legacy-flag7-fg: #9f63d3;
68 | --legacy-flag1-bg: #aa5555;
69 | --legacy-flag2-bg: #ac653a;
70 | --legacy-flag3-bg: #559238;
71 | --legacy-flag4-bg: #506aa3;
72 | --legacy-flag5-bg: #975d8f;
73 | --legacy-flag6-bg: #399185;
74 | --legacy-flag7-bg: #624b77;
75 | --legacy-buried-fg: #777733;
76 | --legacy-suspended-fg: #ffffb2;
77 | --legacy-suspended-bg: #aaaa33;
78 | --legacy-marked-bg: #77c;
79 | --legacy-tooltip-bg: #272727;
80 | }
81 |
82 | :root,
83 | :root .isWin,
84 | :root .isMac,
85 | :root .isLin {
86 | --focus-color: rgba(81, 135, 169, 0.7);
87 | --legacy-current-deck: var(--legacy-faint-border);
88 | --legacy-button-bg: var(--legacy-frame-bg);
89 | --legacy-button-focus-bg: #0093d0;
90 | }
91 |
92 | body {
93 | background-color: var(--window-bg) !important;
94 | }
95 | html {
96 | font-size: var(--font-size, 12px) !important;
97 | }
98 | html body a {
99 | color: var(--link, var(--legacy-link)) !important;
100 | }
101 |
--------------------------------------------------------------------------------
/files/legacy.css:
--------------------------------------------------------------------------------
1 | button {
2 | box-sizing: border-box;
3 | color: var(--text-fg, var(--legacy-text-fg));
4 | border: none;
5 | border-radius: 15px;
6 | cursor: pointer;
7 | padding: 6px 24px;
8 | font-weight: 500;
9 | font-size: 0.875rem;
10 | line-height: 1.75;
11 | letter-spacing: 0.02857em;
12 | text-transform: uppercase;
13 | background: initial;
14 | background-color: var(--frame-bg, var(--legacy-frame-bg));
15 | transition: background 0.2s linear, color 0.3s ease-out;
16 | box-shadow: rgb(0 0 0 / 20%) 0px 3px 7px -2px,
17 | rgb(0 0 0 / 5%) 0px 5px 10px 0px, rgb(0 0 0 / 12%) 0px 1px 5px 0px;
18 | }
--------------------------------------------------------------------------------
/injections/toolbar.py:
--------------------------------------------------------------------------------
1 | from aqt import QPalette, mw, appVersion
2 | from aqt.toolbar import Toolbar
3 | from typing import List
4 |
5 | # TopToolbar styling fix through height change by adding
tag
6 | def redraw_toolbar() -> None:
7 | # Reload the webview content with added
tag, making the bar larger in height
8 | mw.toolbar.web.setFixedHeight(60)
9 | mw.toolbar.web.eval("""
10 | while (document.body.querySelectorAll("br.toolbarFix").length > 1)
11 | document.body.querySelectorAll("br.toolbarFix")[0].remove();
12 | const br = document.createElement("br");
13 | br.className = "toolbarFix";
14 | document.body.appendChild(br);
15 | """)
16 |
17 | if 'Qt6' in QPalette.ColorRole.__module__:
18 | mw.toolbar.web.eval("""
19 | while (document.body.querySelectorAll("div.toolbarFix").length > 1)
20 | document.body.querySelectorAll("div.toolbarFix")[0].remove();
21 | const div = document.createElement("div");
22 | div.style.width = "5px";
23 | div.style.height = "10px";
24 | div.className = "toolbarFix";
25 | document.body.appendChild(div);
26 | """)
27 |
28 | # Auto adjust the height, then redraw the toolbar
29 | mw.toolbar.web.adjustHeightToFit()
30 | mw.toolbar.redraw()
31 |
32 | def redraw_toolbar_legacy(links: List[str], _: Toolbar) -> None:
33 | # Utilizing the link hook, we inject
tag through javascript
34 | inject_br = """
35 |
42 | """
43 | mw.toolbar.web.setFixedHeight(60)
44 | links.append(inject_br)
45 | mw.toolbar.web.adjustHeightToFit()
--------------------------------------------------------------------------------
/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Anki Redesign",
3 | "package": "anki-redesign",
4 | "ankiweb_id": "308574457",
5 | "author": "Shirajuki",
6 | "version": "0.1.9",
7 | "homepage": "https://github.com/shirajuki/anki-redesign",
8 | "conflicts": ["308574457", "688199788"],
9 | "manifest_version": 2
10 | }
11 |
--------------------------------------------------------------------------------
/screenshots/dialog.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/dialog.png
--------------------------------------------------------------------------------
/screenshots/guide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/guide.png
--------------------------------------------------------------------------------
/screenshots/ui-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui-dark.png
--------------------------------------------------------------------------------
/screenshots/ui-half.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui-half.png
--------------------------------------------------------------------------------
/screenshots/ui-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui-light.png
--------------------------------------------------------------------------------
/screenshots/ui1-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui1-dark.png
--------------------------------------------------------------------------------
/screenshots/ui1-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui1-light.png
--------------------------------------------------------------------------------
/screenshots/ui2-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui2-dark.png
--------------------------------------------------------------------------------
/screenshots/ui2-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui2-light.png
--------------------------------------------------------------------------------
/screenshots/ui3-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui3-dark.png
--------------------------------------------------------------------------------
/screenshots/ui3-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui3-light.png
--------------------------------------------------------------------------------
/screenshots/ui4-dark.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui4-dark.png
--------------------------------------------------------------------------------
/screenshots/ui4-light.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Shirajuki/anki-redesign/fe893681d92db1ba48ec01b9a468890875265d50/screenshots/ui4-light.png
--------------------------------------------------------------------------------
/themes/Anki.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#60a5fa",
7 | "#93c5fd",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef4444",
14 | "#f87171",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#22c55e",
21 | "#4ade80",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "Border color with medium contrast against window background",
27 | "#c4c4c4",
28 | "#202020",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#3b82f6",
35 | "#3b82f6",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#858585",
42 | "#020202",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e4e4e4",
49 | "#252525",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "Background color of buttons",
62 | "#fcfcfc",
63 | "#404040",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "rgba(214, 214, 214, 0.5)",
70 | "dark': 'rgba(69, 69, 69, 0.5)",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#0093d0",
77 | "#0093d0",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#fcfcfc",
84 | "#404040",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "white",
91 | "#4a4a4a",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#999999",
98 | "#141414",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#306bec",
105 | "#2652cf",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#93c5fd",
112 | "#4484ed",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#306bec",
119 | "#2652cf",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#3b82f6",
126 | "#2f67e1",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#f5f5f5",
133 | "#2c2c2c",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "white",
140 | "#252525",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "white",
147 | "#363636",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "white",
154 | "#2c2c2c",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#2c2c2c",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "#e7e7e7",
168 | "#29292b",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#777",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#29292b",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "#020202",
189 | "#fcfcfc",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#858585",
196 | "#737373",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#afafaf",
203 | "#545454",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#1d4ed8",
210 | "#bfdbfe",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#737373",
217 | "#858585",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#ff9b9b",
224 | "#aa5555",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (Browse Sidebar)",
229 | "",
230 | "#e25252",
231 | "#ff7b7b",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ffb347",
238 | "#ac653a",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ffb347",
245 | "#f5aa41",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#93e066",
252 | "#559238",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#54c414",
259 | "#86ce5d",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#9dbcff",
266 | "#506aa3",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#578cff",
273 | "#6f9dff",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#f5a8eb",
280 | "#975d8f",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#ff82ee",
287 | "#f097e4",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#7edbd7",
294 | "#399185",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#00d1b5",
301 | "#5ccfca",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#cca3f1",
308 | "#624b77",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#9649dd",
315 | "#9f63d3",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#ef4444",
322 | "#f87171",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#fb923c",
329 | "#fdba74",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#4ade80",
336 | "#86efac",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#3b82f6",
343 | "#60a5fa",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#e879f9",
350 | "#f0abfc",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#2dd4bf",
357 | "#5eead4",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#a855f7",
364 | "#c084fc",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#0093d0",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "white",
378 | "#3a3a3a",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "Background color of highlighted items",
384 | "rgba(37, 99, 235, 0.5)",
385 | "rgba(147, 197, 253, 0.5)",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "Foreground color of highlighted items",
391 | "black",
392 | "white",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#c35617",
399 | "#ff935b",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#00a",
406 | "#77ccff",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#77c",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#444",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#00a",
427 | "#77ccff",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#0a0",
434 | "#5ccc00",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "#d6d6d6",
441 | "#454545",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#afafaf",
448 | "#636363",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#c4c4c4",
455 | "#545454",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "rgba(214, 214, 214, 0.5)",
462 | "rgba(147, 197, 253, 0.5)",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "white",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#c4c4c4",
476 | "#141414",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#6366f1",
483 | "#6366f1",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#454545",
490 | "#202020",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#737373",
497 | "#363636",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#333",
504 | "#ccc",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#f59e0b",
511 | "#92400e",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#dc2626",
518 | "#f87171",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#6366f1",
525 | "#a855f7",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#3b82f6",
532 | "#93c5fd",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#16a34a",
539 | "#22c55e",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#facc15",
546 | "#fef9c3",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#ffffb2",
553 | "#aaaa33",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ffffb2",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "black",
567 | "white",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#272727",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafafa",
581 | "#2f2f31",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#ddd",
588 | "#444",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": -1,
594 | "minor": -1
595 | }
596 | }
--------------------------------------------------------------------------------
/themes/Catppuccin-Frappé.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#e78284",
7 | "#ca9ee6",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef9f76",
14 | "#e78284",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#e5c890",
21 | "#ef9f76",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#45475a",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#51576d",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#51576d",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#414559",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#414559",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#292c3c",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#f99988",
77 | "#171922",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#292c3c",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#292c3c",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#292c3c",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#f99988",
105 | "#171922",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#f99988",
112 | "#171922",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#f99988",
119 | "#171922",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#f99988",
126 | "#171922",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafbfc",
133 | "#303446",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "#fcfdff",
140 | "#232634",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "#fcfdff",
147 | "#292c3c",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "#fcfdff",
154 | "#232634",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#414559",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "#fcfdff",
168 | "#292c3c",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#838ba7",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#414559",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "#1f1f1f",
189 | "#cdd6f4",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#838ba7",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#838ba7",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#e58e7d",
210 | "#f2d5cf",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#838ba7",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#e78284",
224 | "#ca9ee6",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#e78284",
231 | "#ca9ee6",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ef9f76",
238 | "#e78284",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ef9f76",
245 | "#e78284",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#e5c890",
252 | "#ef9f76",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#e5c890",
259 | "#ef9f76",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#a6d189",
266 | "#e5c890",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#a6d189",
273 | "#e5c890",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#99d1db",
280 | "#a6d189",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#99d1db",
287 | "#a6d189",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#85c1dc",
294 | "#99d1db",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#85c1dc",
301 | "#99d1db",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#ca9ee6",
308 | "#8caaee",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#ca9ee6",
315 | "#8caaee",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#e78284",
322 | "#ca9ee6",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#ef9f76",
329 | "#e78284",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#e5c890",
336 | "#ef9f76",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#a6d189",
343 | "#e5c890",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#99d1db",
350 | "#a6d189",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#85c1dc",
357 | "#99d1db",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#ca9ee6",
364 | "#8caaee",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#232634",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "#fcfdff",
378 | "#292c3c",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#e78f7e",
385 | "#626880",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "#black",
392 | "#b5bfe2",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#d20f39",
399 | "#e78284",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#e58e7d",
406 | "#f2d5cf",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#51576d",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#1e66f5",
427 | "#8caaee",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#40a02b",
434 | "#a6d189",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "#fcfdff",
441 | "#232634",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#626880",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#45475a",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#e78f7e",
462 | "#626880",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "#black",
469 | "#b5bfe2",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#232634",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#232634",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#232634",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#232634",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#838ba7",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#d20f39",
518 | "#e78284",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#1e66f5",
532 | "#8caaee",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#40a02b",
539 | "#a6d189",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "#1f1f1f",
567 | "#cdd6f4",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#414559",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafbfc",
581 | "#303446",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#45475a",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/themes/Catppuccin-Macchiato.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#e78284",
7 | "#c6a0f6",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef9f76",
14 | "#ed8796",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#e5c890",
21 | "#f5a97f",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#494d64",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#363a4f",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#363a4f",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#1e2030",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#363a4f",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#1e2030",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#f99988",
77 | "#0b0b12",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#1e2030",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#1e2030",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#1e2030",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#f99988",
105 | "#0b0b12",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#f99988",
112 | "#0b0b12",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#f99988",
119 | "#0b0b12",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#f99988",
126 | "#0b0b12",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafbfc",
133 | "#24273a",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "fcfdff",
140 | "#181926",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "fcfdff",
147 | "#1e2030",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "fcfdff",
154 | "#181926",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#363a4f",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "fcfdff",
168 | "#181926",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#8087a2",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#1e2030",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "1f1f1f",
189 | "#cad3f5",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#8087a2",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#8087a2",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#e58e7d",
210 | "#f4dbd6",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#8087a2",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#e78284",
224 | "#c6a0f6",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#e78284",
231 | "#c6a0f6",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ef9f76",
238 | "#ed8796",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ef9f76",
245 | "#ed8796",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#e5c890",
252 | "#f5a97f",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#e5c890",
259 | "#f5a97f",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#a6d189",
266 | "#eed49f",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#a6d189",
273 | "#eed49f",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#99d1db",
280 | "#a6da95",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#99d1db",
287 | "#a6da95",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#85c1dc",
294 | "#91d7e3",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#85c1dc",
301 | "#91d7e3",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#ca9ee6",
308 | "#8aadf4",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#ca9ee6",
315 | "#8aadf4",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#e78284",
322 | "#c6a0f6",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#ef9f76",
329 | "#ed8796",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#e5c890",
336 | "#f5a97f",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#a6d189",
343 | "#eed49f",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#99d1db",
350 | "#a6da95",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#85c1dc",
357 | "#91d7e3",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#ca9ee6",
364 | "#8aadf4",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#ee99a0",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "fcfdff",
378 | "#181926",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#e78f7e",
385 | "#5b6078",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "black",
392 | "#bac2de",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#d20f39",
399 | "#ed8796",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#e58e7d",
406 | "#f4dbd6",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#363a4f",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#1e66f5",
427 | "#8aadf4",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#40a02b",
434 | "#a6da95",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "fcfdff",
441 | "#181926",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#5b6078",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#494d64",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#e78f7e",
462 | "#5b6078",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "#bac2de",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#181926",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#181926",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#181926",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#181926",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#8087a2",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#d20f39",
518 | "#ed8796",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#1e66f5",
532 | "#8aadf4",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#40a02b",
539 | "#a6da95",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "1f1f1f",
567 | "#cad3f5",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#5b6078",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafbfc",
581 | "#24273a",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#494d64",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/themes/Catppuccin-Mocha.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#e78284",
7 | "#cba6f7",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef9f76",
14 | "#f38ba8",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#e5c890",
21 | "#fab387",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#45475a",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#313244",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#313244",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#1A1826",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#313244",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#181825",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#f99988",
77 | "#11111b",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#181825",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#181825",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#181825",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#f99988",
105 | "#11111b",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#f99988",
112 | "#11111b",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#f99988",
119 | "#11111b",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#f99988",
126 | "#11111b",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafbfc",
133 | "#1e1e2e",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "fcfdff",
140 | "#11111b",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "fcfdff",
147 | "#181825",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "fcfdff",
154 | "#11111b",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#313244",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "fcfdff",
168 | "#181825",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#7f849c",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#1A1826",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "1f1f1f",
189 | "#cdd6f4",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#7f849c",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#7f849c",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#e58e7d",
210 | "#f5e0dc",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#7f849c",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#e78284",
224 | "#cba6f7",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#e78284",
231 | "#cba6f7",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ef9f76",
238 | "#f38ba8",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ef9f76",
245 | "#f38ba8",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#e5c890",
252 | "#fab387",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#e5c890",
259 | "#fab387",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#a6d189",
266 | "#f9e2af",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#a6d189",
273 | "#f9e2af",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#85c1dc",
280 | "#a6e3a1",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#85c1dc",
287 | "#a6e3a1",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#85c1dc",
294 | "#89dceb",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#85c1dc",
301 | "#89dceb",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#ca9ee6",
308 | "#89b4fa",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#ca9ee6",
315 | "#89b4fa",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#e78284",
322 | "#cba6f7",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#ef9f76",
329 | "#f38ba8",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#e5c890",
336 | "#fab387",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#a6d189",
343 | "#f9e2af",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#85c1dc",
350 | "#a6e3a1",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#85c1dc",
357 | "#89dceb",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#ca9ee6",
364 | "#89b4fa",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#11111b",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "fcfdff",
378 | "#181825",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#e78f7e",
385 | "#585b70",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "black",
392 | "#bac2de",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#d20f39",
399 | "#f38ba8",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#e58e7d",
406 | "#f5e0dc",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#313244",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#1e66f5",
427 | "#89b4fa",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#40a02b",
434 | "#a6e3a1",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "fcfdff",
441 | "#11111b",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#585b70",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#45475a",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#e78f7e",
462 | "#585b70",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "#bac2de",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#11111b",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#11111b",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#11111b",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#11111b",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#7f849c",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#d20f39",
518 | "#f38ba8",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#1e66f5",
532 | "#89b4fa",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#40a02b",
539 | "#a6e3a1",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "1f1f1f",
567 | "#cdd6f4",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#313244",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafbfc",
581 | "#1e1e2e",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#45475a",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/themes/Catppuccin.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#BF616A",
7 | "#e78284",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#D08770",
14 | "#ef9f76",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#A3BE8C",
21 | "#e5c890",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#434c5e",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#434C5E",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#434C5E",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#1A1826",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#313244",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#1A1826",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#e7e7e7",
77 | "#1A1826",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#1A1826",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#1A1826",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#1A1826",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#e7e7e7",
105 | "#1A1826",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#e7e7e7",
112 | "#1A1826",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#e7e7e7",
119 | "#1A1826",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#e7e7e7",
126 | "#1A1826",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafafa",
133 | "#1E1E2E",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "white",
140 | "#333442",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "white",
147 | "#181825",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "white",
154 | "#333442",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#313244",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "white",
168 | "#181825",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#C3BAC6",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#1A1826",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "black",
189 | "#d9e0ee",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#C3BAC6",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#C3BAC6",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#6e9fda",
210 | "#89DCEB",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#C3BAC6",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#BF616A",
224 | "#e78284",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#BF616A",
231 | "#e78284",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#D08770",
238 | "#ef9f76",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#D08770",
245 | "#ef9f76",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#A3BE8C",
252 | "#e5c890",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#A3BE8C",
259 | "#e5c890",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#5E81AC",
266 | "#a6d189",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#5E81AC",
273 | "#a6d189",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#B48EAD",
280 | "#99d1db",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#B48EAD",
287 | "#99d1db",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#00d1b5",
294 | "#8caaee",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#00d1b5",
301 | "#8caaee",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#9649dd",
308 | "#ca9ee6",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#9649dd",
315 | "#ca9ee6",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#BF616A",
322 | "#e78284",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#D08770",
329 | "#ef9f76",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#A3BE8C",
336 | "#e5c890",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#5E81AC",
343 | "#a6d189",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#B48EAD",
350 | "#99d1db",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#00d1b5",
357 | "#8caaee",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#9649dd",
364 | "#ca9ee6",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#1e1e2e",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "white",
378 | "#181825",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#77ccff",
385 | "#585b70",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "black",
392 | "#ECEFF4",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#c35617",
399 | "#D08770",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#6e9fda",
406 | "#89DCEB",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#434C5E",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#00a",
427 | "#5E81AC",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#0a0",
434 | "#A3BE8C",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "white",
441 | "#1A1826",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#4C566A",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#434c5e",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#77ccff",
462 | "#585b70",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "#ECEFF4",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#1e1e2e",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#181825",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#002a3b",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#000e14",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#C3BAC6",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#c35617",
518 | "#D08770",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#00a",
532 | "#5E81AC",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#0a0",
539 | "#A3BE8C",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "black",
567 | "#d9e0ee",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#313244",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafafa",
581 | "#1E1E2E",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#434c5e",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/themes/Nord.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#BF616A",
7 | "#BF616A",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#D08770",
14 | "#D08770",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#A3BE8C",
21 | "#A3BE8C",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#D8DEE9",
28 | "#434C5E",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#E5E9F0",
35 | "#434C5E",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#E5E9F0",
42 | "#434C5E",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#ECEFF4",
49 | "#3B4252",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#D8DEE9",
63 | "#3B4252",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#D8DEE9",
70 | "#3B4252",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#0093d0",
77 | "#0093d0",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#D8DEE9",
84 | "#3B4252",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#D8DEE9",
91 | "#3B4252",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#D8DEE9",
98 | "#3B4252",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#0093d0",
105 | "#434c5e",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#0093d0",
112 | "#434c5e",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#0093d0",
119 | "#434c5e",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#0093d0",
126 | "#434c5e",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "white",
133 | "#2E3440",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "#E5E9F0",
140 | "#4c566a",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "#E5E9F0",
147 | "#3B4252",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "#E5E9F0",
154 | "#4c566a",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#D8DEE9",
161 | "#4C566A",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "#E5E9F0",
168 | "#3B4252",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#D8DEE9",
175 | "#D8DEE9",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#ECEFF4",
182 | "#3B4252",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "#2E3440",
189 | "#E5E9F0",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#D8DEE9",
196 | "#D8DEE9",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#D8DEE9",
203 | "#D8DEE9",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#8FBCBB",
210 | "#8FBCBB",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#D8DEE9",
217 | "#D8DEE9",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#BF616A",
224 | "#BF616A",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#BF616A",
231 | "#BF616A",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#D08770",
238 | "#D08770",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#D08770",
245 | "#D08770",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#A3BE8C",
252 | "#A3BE8C",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#A3BE8C",
259 | "#A3BE8C",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#5E81AC",
266 | "#5E81AC",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#5E81AC",
273 | "#5E81AC",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#B48EAD",
280 | "#B48EAD",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#B48EAD",
287 | "#B48EAD",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#00d1b5",
294 | "#5ccfca",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#00d1b5",
301 | "#5ccfca",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#9649dd",
308 | "#9f63d3",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#9649dd",
315 | "#9f63d3",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#BF616A",
322 | "#BF616A",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#D08770",
329 | "#D08770",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#A3BE8C",
336 | "#A3BE8C",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#5E81AC",
343 | "#5E81AC",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#B48EAD",
350 | "#B48EAD",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#00d1b5",
357 | "#5ccfca",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#9649dd",
364 | "#9f63d3",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#2e3440",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "#E5E9F0",
378 | "#3B4252",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#81A1C1",
385 | "#81A1C1",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "white",
392 | "#ECEFF4",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#D08770",
399 | "#D08770",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#8FBCBB",
406 | "#8FBCBB",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#EBCB8B",
413 | "#EBCB8B",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#E5E9F0",
420 | "#434C5E",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#5E81AC",
427 | "#5E81AC",
428 | "--new-count"
429 | ],
430 | "PRIMARY_COLOR": [
431 | "Primary Color",
432 | "",
433 | "#0093d0",
434 | "#0093d0",
435 | "--primary-color"
436 | ],
437 | "REVIEW_COUNT": [
438 | "Review Count",
439 | "",
440 | "#A3BE8C",
441 | "#A3BE8C",
442 | "--review-count"
443 | ],
444 | "SCROLLBAR_BG": [
445 | "Scrollbar Background",
446 | "Background of scrollbar in idle state (Win/Lin only)",
447 | "#E5E9F0",
448 | "#3B4252",
449 | "--scrollbar-bg"
450 | ],
451 | "SCROLLBAR_BG_ACTIVE": [
452 | "Scrollbar Background Active",
453 | "Background of scrollbar in pressed state (Win/Lin only)",
454 | "#D8DEE9",
455 | "#4C566A",
456 | "--scrollbar-bg-active"
457 | ],
458 | "SCROLLBAR_BG_HOVER": [
459 | "Scrollbar Background Hover",
460 | "Background of scrollbar in hover state (Win/Lin only)",
461 | "#D8DEE9",
462 | "#434C5E",
463 | "--scrollbar-bg-hover"
464 | ],
465 | "SELECTED_BG": [
466 | "Selected Background",
467 | "Background color of selected text",
468 | "#81A1C1",
469 | "#81A1C1",
470 | "--selected-bg"
471 | ],
472 | "SELECTED_FG": [
473 | "Selected Foreground",
474 | "Foreground color of selected text",
475 | "white",
476 | "#ECEFF4",
477 | "--selected-fg"
478 | ],
479 | "SHADOW": [
480 | "Shadow",
481 | "Default box-shadow color",
482 | "#ff93d0",
483 | "#2e3440",
484 | "--shadow"
485 | ],
486 | "SHADOW_FOCUS": [
487 | "Shadow Focus",
488 | "Box-shadow color for elements in focused state",
489 | "#ff93d0",
490 | "#2e3440",
491 | "--shadow-focus"
492 | ],
493 | "SHADOW_INSET": [
494 | "Shadow Inset",
495 | "Inset box-shadow color",
496 | "#ff93d0",
497 | "#2e3440",
498 | "--shadow-inset"
499 | ],
500 | "SHADOW_SUBTLE": [
501 | "Shadow Subtle",
502 | "Box-shadow color with lower contrast against window background",
503 | "#ff93d0",
504 | "#2e3440",
505 | "--shadow-subtle"
506 | ],
507 | "SLIGHTLY_GREY_TEXT": [
508 | "Switch Text",
509 | "",
510 | "#D8DEE9",
511 | "#D8DEE9",
512 | "--slightly-grey-text"
513 | ],
514 | "STATE_BURIED": [
515 | "State Buried",
516 | "Accent color for buried cards",
517 | "#aaaa33",
518 | "#777733",
519 | "--state-buried"
520 | ],
521 | "STATE_LEARN": [
522 | "State Learn",
523 | "Accent color for cards in learning state",
524 | "#D08770",
525 | "#D08770",
526 | "--state-learn"
527 | ],
528 | "STATE_MARKED": [
529 | "State Marked",
530 | "Accent color for marked cards",
531 | "#EBCB8B",
532 | "#EBCB8B",
533 | "--state-marked"
534 | ],
535 | "STATE_NEW": [
536 | "State New",
537 | "Accent color for new cards",
538 | "#5E81AC",
539 | "#5E81AC",
540 | "--state-new"
541 | ],
542 | "STATE_REVIEW": [
543 | "State Review",
544 | "Accent color for cards in review state",
545 | "#A3BE8C",
546 | "#A3BE8C",
547 | "--state-review"
548 | ],
549 | "STATE_SUSPENDED": [
550 | "State Suspended",
551 | "Accent color for suspended cards",
552 | "#3B4252",
553 | "#ECEFF4",
554 | "--state-suspended"
555 | ],
556 | "SUSPENDED_BG": [
557 | "Suspended Background",
558 | "",
559 | "#3B4252",
560 | "#ECEFF4",
561 | "--suspended-bg"
562 | ],
563 | "SUSPENDED_FG": [
564 | "Suspended Foreground",
565 | "",
566 | "#3B4252",
567 | "#ECEFF4",
568 | "--suspended-fg"
569 | ],
570 | "TEXT_FG": [
571 | "Text Foreground",
572 | "",
573 | "#2E3440",
574 | "#E5E9F0",
575 | "--text-fg"
576 | ],
577 | "TOOLTIP_BG": [
578 | "Tooltip Background",
579 | "",
580 | "#D8DEE9",
581 | "#4C566A",
582 | "--tooltip-bg"
583 | ],
584 | "WINDOW_BG": [
585 | "Window Background",
586 | "",
587 | "white",
588 | "#2E3440",
589 | "--window-bg"
590 | ],
591 | "ZERO_COUNT": [
592 | "Zero Count",
593 | "",
594 | "#D8DEE9",
595 | "#434C5E",
596 | "--zero-count"
597 | ]
598 | },
599 | "version": {
600 | "major": 1,
601 | "minor": 5
602 | }
603 | }
--------------------------------------------------------------------------------
/themes/readme.txt:
--------------------------------------------------------------------------------
1 | To create your own customized themes
2 | make a copy of Anki.json from ./themes to ./user_files/themes,
3 | name and edit it according to your wishes.
4 |
5 | User edited themes should be placed in the ./user_files/themes
6 | folder.
7 |
8 | This addon is also compatible with the themes of ReColor,
9 | which means that the uploaded community themes can also
10 | be downloaded and used:
11 | - https://github.com/AnKingMed/AnkiRecolor/wiki/Themes
12 |
13 | Place the downloaded themes in the ./user_files/themes folder
14 | as well.
15 |
--------------------------------------------------------------------------------
/translation/en_US.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration_window_title": "Anki-redesign configuration",
3 | "theme_editor_window_title": "Anki-redesign advanced editor",
4 | "theme_label": "Theme:",
5 | "font_label": "Font:",
6 | "addon_compatibility_fix_label": "Add-on compatibility fixes:",
7 | "settings_tab": "Settings",
8 | "general_tab": "General",
9 | "decks_tab": "Decks",
10 | "browse_tab": "Browse",
11 | "cancel_button": "Cancel",
12 | "save_button": "Save",
13 | "advanced_button": "Advanced",
14 | "clone_button": "Clone",
15 | "delete_button": "Delete",
16 | "sync_button": "Sync",
17 | "clone_message": "Are you sure you want to clone the selected theme: %s",
18 | "clone_window_title": "Clone theme %s",
19 | "clone_success_message": "Successfully cloned theme %s",
20 | "delete_message": "Are you sure you want to delete the selected theme: %s",
21 | "delete_window_title": "Delete theme %s",
22 | "delete_success_message": "Successfully deleted theme %s",
23 | "sync_message": "Are you sure you want to sync the selected theme: %s",
24 | "sync_window_title": "Sync theme %s",
25 | "sync_success_message": "Successfully synced system theme %s.\nClick save to apply the changes on current window.",
26 | "changes_message": "Some changes will take effect when you restart Anki."
27 | }
28 |
--------------------------------------------------------------------------------
/translation/he_IL.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration_window_title": "תצורת אנקי-עיצוב מחדש",
3 | "theme_editor_window_title": "אנקי-עיצוב מחדש עורך מתקדם",
4 | "theme_label": "נושא:",
5 | "font_label": "גופן:",
6 | "addon_compatibility_fix_label": "תיקוני תאימות הרחבה:",
7 | "settings_tab": "הגדרות",
8 | "general_tab": "כללי",
9 | "decks_tab": "חפיסות",
10 | "browse_tab": "עיון",
11 | "cancel_button": "בטל",
12 | "save_button": "שמור",
13 | "advanced_button": "מתקדם",
14 | "clone_button": "שכפל",
15 | "delete_button": "מחק",
16 | "sync_button": "סנכרן",
17 | "clone_message": "האם אתה בטוח שברצונך לשכפל את ערכת הנושא שנבחרה: %s",
18 | "clone_window_title": "שכפול ערכת נושא %s",
19 | "clone_success_message": "ערכת הנושא שוכפלה בהצלחה %s",
20 | "delete_message": "האם אתה בטוח שברצונך למחוק את ערכת הנושא שנבחרה: %s",
21 | "delete_window_title": "מחק את ערכת הנושא %s",
22 | "delete_success_message": "ערכת נושא שנמחקה בהצלחה %s",
23 | "sync_message": "האם אתה בטוח שברצונך לסנכרן את ערכת הנושא שנבחרה: %s",
24 | "sync_window_title": "סנכרן את ערכת הנושא %s",
25 | "sync_success_message": "ערכת נושא מערכת מסונכרנת בהצלחה %s.\nלחץ על שמור כדי להחיל את השינויים על החלון הנוכחי.",
26 | "changes_message": "שינויים מסוימים ייכנסו לתוקף כאשר תפעיל מחדש את אנקי"
27 | }
28 |
--------------------------------------------------------------------------------
/translation/nb_NO.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration_window_title": "Anki-redesign konfigurasjon",
3 | "theme_editor_window_title": "Anki-redesign avansert redigering",
4 | "theme_label": "Tema:",
5 | "font_label": "Font:",
6 | "addon_compatibility_fix_label": "Kompatibilitetskorrigeringer for Add-ons:",
7 | "settings_tab": "Innstillinger",
8 | "general_tab": "Generell",
9 | "decks_tab": "Kortstokker",
10 | "browse_tab": "Bibliotek",
11 | "cancel_button": "Avbryt",
12 | "save_button": "Lagre",
13 | "advanced_button": "Avansert",
14 | "clone_button": "Klone",
15 | "delete_button": "Slett",
16 | "sync_button": "Synkroniser",
17 | "clone_message": "Er du sikker på at du vil klone det valgte temaet:: %s",
18 | "clone_window_title": "Klone tema %s",
19 | "clone_success_message": "Kloning av tema %s vellykket",
20 | "delete_message": "Er du sikker på at du vil slette det valgte temaet: %s",
21 | "delete_window_title": "Slett tema %s",
22 | "delete_success_message": "Sletting av tema %s vellyket",
23 | "sync_message": "Er du sikker på at du vil synkronisere det valgte temaet: %s",
24 | "sync_window_title": "Synkroniser tema %s",
25 | "sync_success_message": "Synkronisering av system tema %s vellyket.\nKlikk på lagre knappen for å ta i bruk endringene.",
26 | "changes_message": "Noen endringer vil tre i kraft når du starter Anki på nytt."
27 | }
28 |
--------------------------------------------------------------------------------
/translation/pt_BR.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration_window_title": "Configuração do Anki-Redesign",
3 | "theme_editor_window_title": "Editor Avançado do Anki-Redesign",
4 | "theme_label": "Tema:",
5 | "font_label": "Fonte:",
6 | "addon_compatibility_fix_label": "Correções de Compatibilidade com Extensões:",
7 | "settings_tab": "Configurações",
8 | "general_tab": "Geral",
9 | "decks_tab": "Baralhos",
10 | "browse_tab": "Painel",
11 | "cancel_button": "Cancelar",
12 | "save_button": "Salvar",
13 | "advanced_button": "Avançado",
14 | "clone_button": "Clonar",
15 | "delete_button": "Delete",
16 | "sync_button": "Sincronizar",
17 | "clone_message": "Você tem certeza que deseja clonar o tema selecionado: %s",
18 | "clone_window_title": "Tema de Clonagem %s",
19 | "clone_success_message": "Tema %s clonado com sucesso",
20 | "delete_message": "Você tem certeza que deseja excluir o tema selecionado: %s",
21 | "delete_window_title": "Exclusão do Tema %s",
22 | "delete_success_message": "Tema %s excluído com sucesso",
23 | "sync_message": "Você tem certeza que deseja sincronizar o tema selecionado: %s",
24 | "sync_window_title": "Sincronização do Tema %s",
25 | "sync_success_message": "Tema do sistema %s sincronizado com sucesso.\nClique em salvar para aplicar as mudanças na janela atual.",
26 | "changes_message": "Algumas alterações só serão efetizadas quando o Anki for reiniciado."
27 | }
28 |
--------------------------------------------------------------------------------
/translation/vi_VN.json:
--------------------------------------------------------------------------------
1 | {
2 | "configuration_window_title": "Cửa sổ cấu hình Anki-redesign",
3 | "theme_editor_window_title": "Soạn thảo văn bản Anki-redesign",
4 | "theme_label": "Giao diện:",
5 | "font_label": "Nét chữ:",
6 | "addon_compatibility_fix_label": "Bật những tiện ích đã được sửa:",
7 | "settings_tab": "Cài đặt",
8 | "general_tab": "Cài đặt chung",
9 | "decks_tab": "Bộ thẻ",
10 | "browse_tab": "Duyệt",
11 | "cancel_button": "Đóng",
12 | "save_button": "Lưu",
13 | "advanced_button": "Tùy chọn nâng cao",
14 | "clone_button": "Sao chép",
15 | "delete_button": "Xóa",
16 | "sync_button": "Đồng bộ hóa",
17 | "clone_message": "Bạn có muốn sao chép giao diện %s đã chọn không?",
18 | "clone_window_title": "Sao chép giao diện %s",
19 | "clone_success_message": "Sao chép giao diện %s thành công",
20 | "delete_message": "Bạn có muốn xóa giao diện %s đã chọn không?",
21 | "delete_window_title": "Xóa giao diện %s",
22 | "delete_success_message": "Xóa giao điện %s thành công",
23 | "sync_message": "Ban có muốn đồng bộ hóa giao diện %s đã chọn không?",
24 | "sync_window_title": "Đồng bộ hóa giao điện %s",
25 | "sync_success_message": "Đồng bộ hóa giao điện %s thành công.\nXin hãy nhấn nút lưu để áp dụng giao diện mới trên cửa sổ hiện tại.",
26 | "changes_message": "Một số thay đổi sẽ hiệu lực khi bạn khởi động lại Anki."
27 | }
28 |
--------------------------------------------------------------------------------
/user_files/readme.txt:
--------------------------------------------------------------------------------
1 | To create your own customized style design,
2 | copy over the css files from ./files to ./user_files
3 | you would like to edit.
4 |
5 | CSS files starting with "Q" indicates that the syntax is of
6 | Qt CSS, which is in it's core quite similar to the usual CSS.
7 | Documentation here:
8 | - https://doc.qt.io/qt-5/stylesheet-syntax.html
9 |
10 | User edited themes that is also customized will be saved
11 | in this folder.
12 |
--------------------------------------------------------------------------------
/user_files/themes/Catppuccin-Frappé.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#e78284",
7 | "#ca9ee6",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef9f76",
14 | "#e78284",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#e5c890",
21 | "#ef9f76",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#45475a",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#51576d",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#51576d",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#414559",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#414559",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#292c3c",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#f99988",
77 | "#171922",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#292c3c",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#292c3c",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#292c3c",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#f99988",
105 | "#171922",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#f99988",
112 | "#171922",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#f99988",
119 | "#171922",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#f99988",
126 | "#171922",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafbfc",
133 | "#303446",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "#fcfdff",
140 | "#232634",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "#fcfdff",
147 | "#292c3c",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "#fcfdff",
154 | "#232634",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#414559",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "#fcfdff",
168 | "#292c3c",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#838ba7",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#414559",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "#1f1f1f",
189 | "#cdd6f4",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#838ba7",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#838ba7",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#e58e7d",
210 | "#f2d5cf",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#838ba7",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#e78284",
224 | "#ca9ee6",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#e78284",
231 | "#ca9ee6",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ef9f76",
238 | "#e78284",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ef9f76",
245 | "#e78284",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#e5c890",
252 | "#ef9f76",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#e5c890",
259 | "#ef9f76",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#a6d189",
266 | "#e5c890",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#a6d189",
273 | "#e5c890",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#99d1db",
280 | "#a6d189",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#99d1db",
287 | "#a6d189",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#85c1dc",
294 | "#99d1db",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#85c1dc",
301 | "#99d1db",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#ca9ee6",
308 | "#8caaee",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#ca9ee6",
315 | "#8caaee",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#e78284",
322 | "#ca9ee6",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#ef9f76",
329 | "#e78284",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#e5c890",
336 | "#ef9f76",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#a6d189",
343 | "#e5c890",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#99d1db",
350 | "#a6d189",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#85c1dc",
357 | "#99d1db",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#ca9ee6",
364 | "#8caaee",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#232634",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "#fcfdff",
378 | "#292c3c",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#e78f7e",
385 | "#626880",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "#black",
392 | "#b5bfe2",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#d20f39",
399 | "#e78284",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#e58e7d",
406 | "#f2d5cf",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#51576d",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#1e66f5",
427 | "#8caaee",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#40a02b",
434 | "#a6d189",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "#fcfdff",
441 | "#232634",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#626880",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#45475a",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#e78f7e",
462 | "#626880",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "#black",
469 | "#b5bfe2",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#232634",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#232634",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#232634",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#232634",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#838ba7",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#d20f39",
518 | "#e78284",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#1e66f5",
532 | "#8caaee",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#40a02b",
539 | "#a6d189",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "#1f1f1f",
567 | "#cdd6f4",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#414559",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafbfc",
581 | "#303446",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#45475a",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/user_files/themes/Catppuccin-Macchiato.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#e78284",
7 | "#c6a0f6",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef9f76",
14 | "#ed8796",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#e5c890",
21 | "#f5a97f",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#494d64",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#363a4f",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#363a4f",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#1e2030",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#363a4f",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#1e2030",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#f99988",
77 | "#0b0b12",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#1e2030",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#1e2030",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#1e2030",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#f99988",
105 | "#0b0b12",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#f99988",
112 | "#0b0b12",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#f99988",
119 | "#0b0b12",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#f99988",
126 | "#0b0b12",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafbfc",
133 | "#24273a",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "fcfdff",
140 | "#181926",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "fcfdff",
147 | "#1e2030",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "fcfdff",
154 | "#181926",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#363a4f",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "fcfdff",
168 | "#181926",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#8087a2",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#1e2030",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "1f1f1f",
189 | "#cad3f5",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#8087a2",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#8087a2",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#e58e7d",
210 | "#f4dbd6",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#8087a2",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#e78284",
224 | "#c6a0f6",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#e78284",
231 | "#c6a0f6",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ef9f76",
238 | "#ed8796",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ef9f76",
245 | "#ed8796",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#e5c890",
252 | "#f5a97f",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#e5c890",
259 | "#f5a97f",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#a6d189",
266 | "#eed49f",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#a6d189",
273 | "#eed49f",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#99d1db",
280 | "#a6da95",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#99d1db",
287 | "#a6da95",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#85c1dc",
294 | "#91d7e3",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#85c1dc",
301 | "#91d7e3",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#ca9ee6",
308 | "#8aadf4",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#ca9ee6",
315 | "#8aadf4",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#e78284",
322 | "#c6a0f6",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#ef9f76",
329 | "#ed8796",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#e5c890",
336 | "#f5a97f",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#a6d189",
343 | "#eed49f",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#99d1db",
350 | "#a6da95",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#85c1dc",
357 | "#91d7e3",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#ca9ee6",
364 | "#8aadf4",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#ee99a0",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "fcfdff",
378 | "#181926",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#e78f7e",
385 | "#5b6078",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "black",
392 | "#bac2de",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#d20f39",
399 | "#ed8796",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#e58e7d",
406 | "#f4dbd6",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#363a4f",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#1e66f5",
427 | "#8aadf4",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#40a02b",
434 | "#a6da95",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "fcfdff",
441 | "#181926",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#5b6078",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#494d64",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#e78f7e",
462 | "#5b6078",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "#bac2de",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#181926",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#181926",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#181926",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#181926",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#8087a2",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#d20f39",
518 | "#ed8796",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#1e66f5",
532 | "#8aadf4",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#40a02b",
539 | "#a6da95",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "1f1f1f",
567 | "#cad3f5",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#5b6078",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafbfc",
581 | "#24273a",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#494d64",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/user_files/themes/Catppuccin-Mocha.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#e78284",
7 | "#cba6f7",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#ef9f76",
14 | "#f38ba8",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#e5c890",
21 | "#fab387",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#45475a",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#313244",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#313244",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#1A1826",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#313244",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#181825",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#f99988",
77 | "#11111b",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#181825",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#181825",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#181825",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#f99988",
105 | "#11111b",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#f99988",
112 | "#11111b",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#f99988",
119 | "#11111b",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#f99988",
126 | "#11111b",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafbfc",
133 | "#1e1e2e",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "fcfdff",
140 | "#11111b",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "fcfdff",
147 | "#181825",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "fcfdff",
154 | "#11111b",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#313244",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "fcfdff",
168 | "#181825",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#7f849c",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#1A1826",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "1f1f1f",
189 | "#cdd6f4",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#7f849c",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#7f849c",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#e58e7d",
210 | "#f5e0dc",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#7f849c",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#e78284",
224 | "#cba6f7",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#e78284",
231 | "#cba6f7",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#ef9f76",
238 | "#f38ba8",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#ef9f76",
245 | "#f38ba8",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#e5c890",
252 | "#fab387",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#e5c890",
259 | "#fab387",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#a6d189",
266 | "#f9e2af",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#a6d189",
273 | "#f9e2af",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#85c1dc",
280 | "#a6e3a1",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#85c1dc",
287 | "#a6e3a1",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#85c1dc",
294 | "#89dceb",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#85c1dc",
301 | "#89dceb",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#ca9ee6",
308 | "#89b4fa",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#ca9ee6",
315 | "#89b4fa",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#e78284",
322 | "#cba6f7",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#ef9f76",
329 | "#f38ba8",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#e5c890",
336 | "#fab387",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#a6d189",
343 | "#f9e2af",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#85c1dc",
350 | "#a6e3a1",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#85c1dc",
357 | "#89dceb",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#ca9ee6",
364 | "#89b4fa",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#11111b",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "fcfdff",
378 | "#181825",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#e78f7e",
385 | "#585b70",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "black",
392 | "#bac2de",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#d20f39",
399 | "#f38ba8",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#e58e7d",
406 | "#f5e0dc",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#313244",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#1e66f5",
427 | "#89b4fa",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#40a02b",
434 | "#a6e3a1",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "fcfdff",
441 | "#11111b",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#585b70",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#45475a",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#e78f7e",
462 | "#585b70",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "#bac2de",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#11111b",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#11111b",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#11111b",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#11111b",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#7f849c",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#d20f39",
518 | "#f38ba8",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#1e66f5",
532 | "#89b4fa",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#40a02b",
539 | "#a6e3a1",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "1f1f1f",
567 | "#cdd6f4",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#313244",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafbfc",
581 | "#1e1e2e",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#45475a",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/user_files/themes/Catppuccin.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#BF616A",
7 | "#e78284",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#D08770",
14 | "#ef9f76",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#A3BE8C",
21 | "#e5c890",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#aaa",
28 | "#434c5e",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#b6b6b6",
35 | "#434C5E",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#b6b6b6",
42 | "#434C5E",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#e7e7e7",
49 | "#1A1826",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#e7e7e7",
63 | "#313244",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#e7e7e7",
70 | "#1A1826",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#e7e7e7",
77 | "#1A1826",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#e7e7e7",
84 | "#1A1826",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#e7e7e7",
91 | "#1A1826",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#e7e7e7",
98 | "#1A1826",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#e7e7e7",
105 | "#1A1826",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#e7e7e7",
112 | "#1A1826",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#e7e7e7",
119 | "#1A1826",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#e7e7e7",
126 | "#1A1826",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "#fafafa",
133 | "#1E1E2E",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "white",
140 | "#333442",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "white",
147 | "#181825",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "white",
154 | "#333442",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#fcfcfc",
161 | "#313244",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "white",
168 | "#181825",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#777",
175 | "#C3BAC6",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#e7e7e7",
182 | "#1A1826",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "black",
189 | "#d9e0ee",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#777",
196 | "#C3BAC6",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#777",
203 | "#C3BAC6",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#6e9fda",
210 | "#89DCEB",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#777",
217 | "#C3BAC6",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#BF616A",
224 | "#e78284",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#BF616A",
231 | "#e78284",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#D08770",
238 | "#ef9f76",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#D08770",
245 | "#ef9f76",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#A3BE8C",
252 | "#e5c890",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#A3BE8C",
259 | "#e5c890",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#5E81AC",
266 | "#a6d189",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#5E81AC",
273 | "#a6d189",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#B48EAD",
280 | "#99d1db",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#B48EAD",
287 | "#99d1db",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#00d1b5",
294 | "#8caaee",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#00d1b5",
301 | "#8caaee",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#9649dd",
308 | "#ca9ee6",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#9649dd",
315 | "#ca9ee6",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#BF616A",
322 | "#e78284",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#D08770",
329 | "#ef9f76",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#A3BE8C",
336 | "#e5c890",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#5E81AC",
343 | "#a6d189",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#B48EAD",
350 | "#99d1db",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#00d1b5",
357 | "#8caaee",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#9649dd",
364 | "#ca9ee6",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#1e1e2e",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "white",
378 | "#181825",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#77ccff",
385 | "#585b70",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "black",
392 | "#ECEFF4",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#c35617",
399 | "#D08770",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#6e9fda",
406 | "#89DCEB",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#cce",
413 | "#ebcb8b",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#b6b6b6",
420 | "#434C5E",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#00a",
427 | "#5E81AC",
428 | "--new-count"
429 | ],
430 | "REVIEW_COUNT": [
431 | "Review Count",
432 | "",
433 | "#0a0",
434 | "#A3BE8C",
435 | "--review-count"
436 | ],
437 | "SCROLLBAR_BG": [
438 | "Scrollbar Background",
439 | "Background of scrollbar in idle state (Win/Lin only)",
440 | "white",
441 | "#1A1826",
442 | "--scrollbar-bg"
443 | ],
444 | "SCROLLBAR_BG_ACTIVE": [
445 | "Scrollbar Background Active",
446 | "Background of scrollbar in pressed state (Win/Lin only)",
447 | "#fcfcfc",
448 | "#4C566A",
449 | "--scrollbar-bg-active"
450 | ],
451 | "SCROLLBAR_BG_HOVER": [
452 | "Scrollbar Background Hover",
453 | "Background of scrollbar in hover state (Win/Lin only)",
454 | "#aaa",
455 | "#434c5e",
456 | "--scrollbar-bg-hover"
457 | ],
458 | "SELECTED_BG": [
459 | "Selected Background",
460 | "Background color of selected text",
461 | "#77ccff",
462 | "#585b70",
463 | "--selected-bg"
464 | ],
465 | "SELECTED_FG": [
466 | "Selected Foreground",
467 | "Foreground color of selected text",
468 | "black",
469 | "#ECEFF4",
470 | "--selected-fg"
471 | ],
472 | "SHADOW": [
473 | "Shadow",
474 | "Default box-shadow color",
475 | "#ff93d0",
476 | "#1e1e2e",
477 | "--shadow"
478 | ],
479 | "SHADOW_FOCUS": [
480 | "Shadow Focus",
481 | "Box-shadow color for elements in focused state",
482 | "#ff93d0",
483 | "#181825",
484 | "--shadow-focus"
485 | ],
486 | "SHADOW_INSET": [
487 | "Shadow Inset",
488 | "Inset box-shadow color",
489 | "#ff93d0",
490 | "#002a3b",
491 | "--shadow-inset"
492 | ],
493 | "SHADOW_SUBTLE": [
494 | "Shadow Subtle",
495 | "Box-shadow color with lower contrast against window background",
496 | "#ff93d0",
497 | "#000e14",
498 | "--shadow-subtle"
499 | ],
500 | "SLIGHTLY_GREY_TEXT": [
501 | "Switch Text",
502 | "",
503 | "#777",
504 | "#C3BAC6",
505 | "--slightly-grey-text"
506 | ],
507 | "STATE_BURIED": [
508 | "State Buried",
509 | "Accent color for buried cards",
510 | "#aaaa33",
511 | "#777733",
512 | "--state-buried"
513 | ],
514 | "STATE_LEARN": [
515 | "State Learn",
516 | "Accent color for cards in learning state",
517 | "#c35617",
518 | "#D08770",
519 | "--state-learn"
520 | ],
521 | "STATE_MARKED": [
522 | "State Marked",
523 | "Accent color for marked cards",
524 | "#cce",
525 | "#ebcb8b",
526 | "--state-marked"
527 | ],
528 | "STATE_NEW": [
529 | "State New",
530 | "Accent color for new cards",
531 | "#00a",
532 | "#5E81AC",
533 | "--state-new"
534 | ],
535 | "STATE_REVIEW": [
536 | "State Review",
537 | "Accent color for cards in review state",
538 | "#0a0",
539 | "#A3BE8C",
540 | "--state-review"
541 | ],
542 | "STATE_SUSPENDED": [
543 | "State Suspended",
544 | "Accent color for suspended cards",
545 | "#dd0",
546 | "#ECEFF4",
547 | "--state-suspended"
548 | ],
549 | "SUSPENDED_BG": [
550 | "Suspended Background",
551 | "",
552 | "#dd0",
553 | "#ECEFF4",
554 | "--suspended-bg"
555 | ],
556 | "SUSPENDED_FG": [
557 | "Suspended Foreground",
558 | "",
559 | "#dd0",
560 | "#ECEFF4",
561 | "--suspended-fg"
562 | ],
563 | "TEXT_FG": [
564 | "Text Foreground",
565 | "",
566 | "black",
567 | "#d9e0ee",
568 | "--text-fg"
569 | ],
570 | "TOOLTIP_BG": [
571 | "Tooltip Background",
572 | "",
573 | "#fcfcfc",
574 | "#313244",
575 | "--tooltip-bg"
576 | ],
577 | "WINDOW_BG": [
578 | "Window Background",
579 | "",
580 | "#fafafa",
581 | "#1E1E2E",
582 | "--window-bg"
583 | ],
584 | "ZERO_COUNT": [
585 | "Zero Count",
586 | "",
587 | "#aaa",
588 | "#434c5e",
589 | "--zero-count"
590 | ]
591 | },
592 | "version": {
593 | "major": 1,
594 | "minor": 5
595 | }
596 | }
--------------------------------------------------------------------------------
/user_files/themes/Nord.json:
--------------------------------------------------------------------------------
1 | {
2 | "colors": {
3 | "ACCENT_CARD": [
4 | "Accent Card",
5 | "Accent color for cards",
6 | "#BF616A",
7 | "#BF616A",
8 | "--accent-card"
9 | ],
10 | "ACCENT_DANGER": [
11 | "Accent Danger",
12 | "Saturated accent color to grab attention",
13 | "#D08770",
14 | "#D08770",
15 | "--accent-danger"
16 | ],
17 | "ACCENT_NOTE": [
18 | "Accent Note",
19 | "Accent color for notes",
20 | "#A3BE8C",
21 | "#A3BE8C",
22 | "--accent-note"
23 | ],
24 | "BORDER": [
25 | "Border",
26 | "",
27 | "#D8DEE9",
28 | "#434C5E",
29 | "--border"
30 | ],
31 | "BORDER_FOCUS": [
32 | "Border Focus",
33 | "Border color of focused input elements",
34 | "#E5E9F0",
35 | "#434C5E",
36 | "--border-focus"
37 | ],
38 | "BORDER_STRONG": [
39 | "Border Strong",
40 | "Border color with high contrast against window background",
41 | "#E5E9F0",
42 | "#434C5E",
43 | "--border-strong"
44 | ],
45 | "BORDER_SUBTLE": [
46 | "Border Subtle",
47 | "Border color with low contrast against window background",
48 | "#ECEFF4",
49 | "#3B4252",
50 | "--border-subtle"
51 | ],
52 | "BURIED_FG": [
53 | "Buried Foreground",
54 | "",
55 | "#aaaa33",
56 | "#777733",
57 | "--buried-fg"
58 | ],
59 | "BUTTON_BG": [
60 | "Button Background",
61 | "",
62 | "#D8DEE9",
63 | "#3B4252",
64 | "--button-bg"
65 | ],
66 | "BUTTON_DISABLED": [
67 | "Button Disabled",
68 | "Background color of disabled button",
69 | "#D8DEE9",
70 | "#3B4252",
71 | "--button-disabled"
72 | ],
73 | "BUTTON_FOCUS_BG": [
74 | "Button Focus Background",
75 | "",
76 | "#0093d0",
77 | "#0093d0",
78 | "--button-focus-bg"
79 | ],
80 | "BUTTON_GRADIENT_END": [
81 | "Button Gradient End",
82 | "End value of default button gradient",
83 | "#D8DEE9",
84 | "#3B4252",
85 | "--button-grandient-end"
86 | ],
87 | "BUTTON_GRADIENT_START": [
88 | "Button Gradient Start",
89 | "Start value of default button gradient",
90 | "#D8DEE9",
91 | "#3B4252",
92 | "--button-gradient-start"
93 | ],
94 | "BUTTON_HOVER_BORDER": [
95 | "Button Hover Border",
96 | "Border color of default button in hover state",
97 | "#D8DEE9",
98 | "#3B4252",
99 | "--button-hover-border"
100 | ],
101 | "BUTTON_PRIMARY_BG": [
102 | "Button Primary Background",
103 | "Background color of primary button",
104 | "#0093d0",
105 | "#434c5e",
106 | "--button-primary-bg"
107 | ],
108 | "BUTTON_PRIMARY_DISABLED": [
109 | "Button Primary Disabled",
110 | "Background color of primary button in disabled state",
111 | "#0093d0",
112 | "#434c5e",
113 | "--button-primary-disabled"
114 | ],
115 | "BUTTON_PRIMARY_GRADIENT_END": [
116 | "Button Primary Gradient End",
117 | "End value of primary button gradient",
118 | "#0093d0",
119 | "#434c5e",
120 | "--button-primary-gradient-end"
121 | ],
122 | "BUTTON_PRIMARY_GRADIENT_START": [
123 | "Button Primary Gradient Start",
124 | "Start value of primary button gradient",
125 | "#0093d0",
126 | "#434c5e",
127 | "--button-primary-gradient-start"
128 | ],
129 | "CANVAS": [
130 | "Canvas",
131 | "Window background",
132 | "white",
133 | "#2E3440",
134 | "--canvas"
135 | ],
136 | "CANVAS_CODE": [
137 | "Canvas code",
138 | "Background of code editors",
139 | "#E5E9F0",
140 | "#4c566a",
141 | "--canvas-code"
142 | ],
143 | "CANVAS_ELEVATED": [
144 | "Canvas Elevated",
145 | "Background of containers",
146 | "#E5E9F0",
147 | "#3B4252",
148 | "--canvas-elevated"
149 | ],
150 | "CANVAS_INSET": [
151 | "Canvas Inset",
152 | "Background of inputs inside containers",
153 | "#E5E9F0",
154 | "#4c566a",
155 | "--canvas-inset"
156 | ],
157 | "CANVAS_OVERLAY": [
158 | "Canvas Overlay",
159 | "Background of floating elements (menus, tooltips)",
160 | "#D8DEE9",
161 | "#4C566A",
162 | "--canvas-overlay"
163 | ],
164 | "CURRENT_DECK": [
165 | "Selected Deck",
166 | "",
167 | "#E5E9F0",
168 | "#3B4252",
169 | "--current-deck"
170 | ],
171 | "DISABLED": [
172 | "Disabled",
173 | "",
174 | "#D8DEE9",
175 | "#D8DEE9",
176 | "--disabled"
177 | ],
178 | "FAINT_BORDER": [
179 | "Faint Border",
180 | "",
181 | "#ECEFF4",
182 | "#3B4252",
183 | "--faint-border"
184 | ],
185 | "FG": [
186 | "Foreground",
187 | "Default text/icon color",
188 | "#2E3440",
189 | "#E5E9F0",
190 | "--fg"
191 | ],
192 | "FG_DISABLED": [
193 | "Foreground Disabled",
194 | "Foreground color of disabled UI elements",
195 | "#D8DEE9",
196 | "#D8DEE9",
197 | "--fg-disabled"
198 | ],
199 | "FG_FAINT": [
200 | "Foreground Faint",
201 | "Foreground color that barely stands out against canvas",
202 | "#D8DEE9",
203 | "#D8DEE9",
204 | "--fg-faint"
205 | ],
206 | "FG_LINK": [
207 | "Foreground Link",
208 | "Hyperlink foreground color",
209 | "#8FBCBB",
210 | "#8FBCBB",
211 | "--fg-link"
212 | ],
213 | "FG_SUBTLE": [
214 | "Foreground Subtle",
215 | "Placeholder text, icons in idle state",
216 | "#D8DEE9",
217 | "#D8DEE9",
218 | "--fg-subtle"
219 | ],
220 | "FLAG1_BG": [
221 | "Flag1 (Browse Cards List)",
222 | "",
223 | "#BF616A",
224 | "#BF616A",
225 | "--flag1-bg"
226 | ],
227 | "FLAG1_FG": [
228 | "Flag1 (BrowseSidebar)",
229 | "",
230 | "#BF616A",
231 | "#BF616A",
232 | "--flag1-fg"
233 | ],
234 | "FLAG2_BG": [
235 | "Flag2 (Browse Cards List)",
236 | "",
237 | "#D08770",
238 | "#D08770",
239 | "--flag2-bg"
240 | ],
241 | "FLAG2_FG": [
242 | "Flag2 (Browse Sidebar)",
243 | "",
244 | "#D08770",
245 | "#D08770",
246 | "--flag2-fg"
247 | ],
248 | "FLAG3_BG": [
249 | "Flag3 (Browse Cards List)",
250 | "",
251 | "#A3BE8C",
252 | "#A3BE8C",
253 | "--flag3-bg"
254 | ],
255 | "FLAG3_FG": [
256 | "Flag3 (Browse Sidebar)",
257 | "",
258 | "#A3BE8C",
259 | "#A3BE8C",
260 | "--flag3-fg"
261 | ],
262 | "FLAG4_BG": [
263 | "Flag4 (Browse Cards List)",
264 | "",
265 | "#5E81AC",
266 | "#5E81AC",
267 | "--flag4-bg"
268 | ],
269 | "FLAG4_FG": [
270 | "Flag4 (Browse Sidebar)",
271 | "",
272 | "#5E81AC",
273 | "#5E81AC",
274 | "--flag4-fg"
275 | ],
276 | "FLAG5_BG": [
277 | "Flag5 (Browse Cards List)",
278 | "",
279 | "#B48EAD",
280 | "#B48EAD",
281 | "--flag5-bg"
282 | ],
283 | "FLAG5_FG": [
284 | "Flag5 (Browse Sidebar)",
285 | "",
286 | "#B48EAD",
287 | "#B48EAD",
288 | "--flag5-fg"
289 | ],
290 | "FLAG6_BG": [
291 | "Flag6 (Browse Cards List)",
292 | "",
293 | "#00d1b5",
294 | "#5ccfca",
295 | "--flag6-bg"
296 | ],
297 | "FLAG6_FG": [
298 | "Flag6 (Browse Sidebar)",
299 | "",
300 | "#00d1b5",
301 | "#5ccfca",
302 | "--flag6-fg"
303 | ],
304 | "FLAG7_BG": [
305 | "Flag7 (Browse Cards List)",
306 | "",
307 | "#9649dd",
308 | "#9f63d3",
309 | "--flag7-bg"
310 | ],
311 | "FLAG7_FG": [
312 | "Flag7 (Browse Sidebar)",
313 | "",
314 | "#9649dd",
315 | "#9f63d3",
316 | "--flag7-fg"
317 | ],
318 | "FLAG_1": [
319 | "Flag 1 (red)",
320 | "",
321 | "#BF616A",
322 | "#BF616A",
323 | "--flag-1"
324 | ],
325 | "FLAG_2": [
326 | "Flag 2 (orange)",
327 | "",
328 | "#D08770",
329 | "#D08770",
330 | "--flag-2"
331 | ],
332 | "FLAG_3": [
333 | "Flag 3 (green)",
334 | "",
335 | "#A3BE8C",
336 | "#A3BE8C",
337 | "--flag-3"
338 | ],
339 | "FLAG_4": [
340 | "Flag 4 (blue)",
341 | "",
342 | "#5E81AC",
343 | "#5E81AC",
344 | "--flag-4"
345 | ],
346 | "FLAG_5": [
347 | "Flag 5 (pink)",
348 | "",
349 | "#B48EAD",
350 | "#B48EAD",
351 | "--flag-5"
352 | ],
353 | "FLAG_6": [
354 | "Flag 6 (turquoise)",
355 | "",
356 | "#00d1b5",
357 | "#5ccfca",
358 | "--flag-6"
359 | ],
360 | "FLAG_7": [
361 | "Flag 7 (purple)",
362 | "",
363 | "#9649dd",
364 | "#9f63d3",
365 | "--flag-7"
366 | ],
367 | "FOCUS_SHADOW": [
368 | "Focus Shadow",
369 | "",
370 | "#ff93d0",
371 | "#2e3440",
372 | "--focus-shadow-color"
373 | ],
374 | "FRAME_BG": [
375 | "Frame Background",
376 | "",
377 | "#E5E9F0",
378 | "#3B4252",
379 | "--frame-bg"
380 | ],
381 | "HIGHLIGHT_BG": [
382 | "Highlighted Background",
383 | "",
384 | "#81A1C1",
385 | "#81A1C1",
386 | "--highlight-bg"
387 | ],
388 | "HIGHLIGHT_FG": [
389 | "Highlighted Text",
390 | "",
391 | "white",
392 | "#ECEFF4",
393 | "--highlight-fg"
394 | ],
395 | "LEARN_COUNT": [
396 | "Learn Count",
397 | "",
398 | "#D08770",
399 | "#D08770",
400 | "--learn-count"
401 | ],
402 | "LINK": [
403 | "Hyperlink",
404 | "",
405 | "#8FBCBB",
406 | "#8FBCBB",
407 | "--link"
408 | ],
409 | "MARKED_BG": [
410 | "Marked Background",
411 | "",
412 | "#EBCB8B",
413 | "#EBCB8B",
414 | "--marked-bg"
415 | ],
416 | "MEDIUM_BORDER": [
417 | "Medium Border",
418 | "",
419 | "#E5E9F0",
420 | "#434C5E",
421 | "--medium-border"
422 | ],
423 | "NEW_COUNT": [
424 | "New Count",
425 | "",
426 | "#5E81AC",
427 | "#5E81AC",
428 | "--new-count"
429 | ],
430 | "PRIMARY_COLOR": [
431 | "Primary Color",
432 | "",
433 | "#0093d0",
434 | "#0093d0",
435 | "--primary-color"
436 | ],
437 | "REVIEW_COUNT": [
438 | "Review Count",
439 | "",
440 | "#A3BE8C",
441 | "#A3BE8C",
442 | "--review-count"
443 | ],
444 | "SCROLLBAR_BG": [
445 | "Scrollbar Background",
446 | "Background of scrollbar in idle state (Win/Lin only)",
447 | "#E5E9F0",
448 | "#3B4252",
449 | "--scrollbar-bg"
450 | ],
451 | "SCROLLBAR_BG_ACTIVE": [
452 | "Scrollbar Background Active",
453 | "Background of scrollbar in pressed state (Win/Lin only)",
454 | "#D8DEE9",
455 | "#4C566A",
456 | "--scrollbar-bg-active"
457 | ],
458 | "SCROLLBAR_BG_HOVER": [
459 | "Scrollbar Background Hover",
460 | "Background of scrollbar in hover state (Win/Lin only)",
461 | "#D8DEE9",
462 | "#434C5E",
463 | "--scrollbar-bg-hover"
464 | ],
465 | "SELECTED_BG": [
466 | "Selected Background",
467 | "Background color of selected text",
468 | "#81A1C1",
469 | "#81A1C1",
470 | "--selected-bg"
471 | ],
472 | "SELECTED_FG": [
473 | "Selected Foreground",
474 | "Foreground color of selected text",
475 | "white",
476 | "#ECEFF4",
477 | "--selected-fg"
478 | ],
479 | "SHADOW": [
480 | "Shadow",
481 | "Default box-shadow color",
482 | "#ff93d0",
483 | "#2e3440",
484 | "--shadow"
485 | ],
486 | "SHADOW_FOCUS": [
487 | "Shadow Focus",
488 | "Box-shadow color for elements in focused state",
489 | "#ff93d0",
490 | "#2e3440",
491 | "--shadow-focus"
492 | ],
493 | "SHADOW_INSET": [
494 | "Shadow Inset",
495 | "Inset box-shadow color",
496 | "#ff93d0",
497 | "#2e3440",
498 | "--shadow-inset"
499 | ],
500 | "SHADOW_SUBTLE": [
501 | "Shadow Subtle",
502 | "Box-shadow color with lower contrast against window background",
503 | "#ff93d0",
504 | "#2e3440",
505 | "--shadow-subtle"
506 | ],
507 | "SLIGHTLY_GREY_TEXT": [
508 | "Switch Text",
509 | "",
510 | "#D8DEE9",
511 | "#D8DEE9",
512 | "--slightly-grey-text"
513 | ],
514 | "STATE_BURIED": [
515 | "State Buried",
516 | "Accent color for buried cards",
517 | "#aaaa33",
518 | "#777733",
519 | "--state-buried"
520 | ],
521 | "STATE_LEARN": [
522 | "State Learn",
523 | "Accent color for cards in learning state",
524 | "#D08770",
525 | "#D08770",
526 | "--state-learn"
527 | ],
528 | "STATE_MARKED": [
529 | "State Marked",
530 | "Accent color for marked cards",
531 | "#EBCB8B",
532 | "#EBCB8B",
533 | "--state-marked"
534 | ],
535 | "STATE_NEW": [
536 | "State New",
537 | "Accent color for new cards",
538 | "#5E81AC",
539 | "#5E81AC",
540 | "--state-new"
541 | ],
542 | "STATE_REVIEW": [
543 | "State Review",
544 | "Accent color for cards in review state",
545 | "#A3BE8C",
546 | "#A3BE8C",
547 | "--state-review"
548 | ],
549 | "STATE_SUSPENDED": [
550 | "State Suspended",
551 | "Accent color for suspended cards",
552 | "#3B4252",
553 | "#ECEFF4",
554 | "--state-suspended"
555 | ],
556 | "SUSPENDED_BG": [
557 | "Suspended Background",
558 | "",
559 | "#3B4252",
560 | "#ECEFF4",
561 | "--suspended-bg"
562 | ],
563 | "SUSPENDED_FG": [
564 | "Suspended Foreground",
565 | "",
566 | "#3B4252",
567 | "#ECEFF4",
568 | "--suspended-fg"
569 | ],
570 | "TEXT_FG": [
571 | "Text Foreground",
572 | "",
573 | "#2E3440",
574 | "#E5E9F0",
575 | "--text-fg"
576 | ],
577 | "TOOLTIP_BG": [
578 | "Tooltip Background",
579 | "",
580 | "#D8DEE9",
581 | "#4C566A",
582 | "--tooltip-bg"
583 | ],
584 | "WINDOW_BG": [
585 | "Window Background",
586 | "",
587 | "white",
588 | "#2E3440",
589 | "--window-bg"
590 | ],
591 | "ZERO_COUNT": [
592 | "Zero Count",
593 | "",
594 | "#D8DEE9",
595 | "#434C5E",
596 | "--zero-count"
597 | ]
598 | },
599 | "version": {
600 | "major": 1,
601 | "minor": 5
602 | }
603 | }
--------------------------------------------------------------------------------
/user_files/themes/readme.txt:
--------------------------------------------------------------------------------
1 | To create your own customized themes
2 | make a copy of Anki.json from ./themes to ./user_files/themes,
3 | name and edit it according to your wishes.
4 |
5 | User edited themes should be placed in the ./user_files/themes
6 | folder.
7 |
8 | This addon is also compatible with the themes of ReColor,
9 | which means that the uploaded community themes can also
10 | be downloaded and used:
11 | - https://github.com/AnKingMed/AnkiRecolor/wiki/Themes
12 |
13 | Place the downloaded themes in the ./user_files/themes folder
14 | as well.
15 |
--------------------------------------------------------------------------------
/utils/css_files.py:
--------------------------------------------------------------------------------
1 | import os
2 | from aqt import mw
3 |
4 | mw.addonManager.setWebExports(__name__, r"files/.*\.(css|svg|gif|png)|user_files/.*\.(css|svg|gif|png)")
5 | addon_package = mw.addonManager.addonFromModule(__name__)
6 |
7 | this_script_dir = os.path.join(os.path.dirname(__file__), "..")
8 | files_dir = os.path.join(this_script_dir, 'files')
9 | user_files_dir = os.path.join(this_script_dir, 'user_files')
10 | css_files_dir = {
11 | 'BottomBar': f"/_addons/{addon_package}/files/BottomBar.css",
12 | 'CardLayout': f"/_addons/{addon_package}/files/CardLayout.css",
13 | 'DeckBrowser': f"/_addons/{addon_package}/files/DeckBrowser.css",
14 | 'Editor': f"/_addons/{addon_package}/files/Editor.css",
15 | 'global': f"/_addons/{addon_package}/files/global.css",
16 | 'legacy': f"/_addons/{addon_package}/files/legacy.css",
17 | 'Overview': f"/_addons/{addon_package}/files/Overview.css",
18 | 'QAbout': os.path.join(files_dir, 'QAbout.css'),
19 | 'QAddCards': os.path.join(files_dir, 'QAddCards.css'),
20 | 'QAddonsDialog': os.path.join(files_dir, 'QAddonsDialog.css'),
21 | 'QBrowser': os.path.join(files_dir, 'QBrowser.css'),
22 | 'QFilteredDeckConfigDialog': os.path.join(files_dir, 'QFilteredDeckConfigDialog.css'),
23 | 'QEditCurrent': os.path.join(files_dir, 'QEditCurrent.css'),
24 | 'QNewDeckStats': os.path.join(files_dir, 'QNewDeckStats.css'),
25 | 'QPreferences': os.path.join(files_dir, 'QPreferences.css'),
26 | 'Reviewer': f"/_addons/{addon_package}/files/Reviewer.css",
27 | 'ReviewerBottomBar': f"/_addons/{addon_package}/files/ReviewerBottomBar.css",
28 | 'TopToolbar': f"/_addons/{addon_package}/files/TopToolbar.css",
29 | }
30 | # Replace pathing for user customised styled files
31 | for file in os.listdir(user_files_dir):
32 | file = file.replace(".css", "")
33 | if css_files_dir.get(file, "") != "":
34 | if file.startswith("Q"):
35 | css_files_dir[file] = os.path.join(user_files_dir, file+'.css')
36 | else:
37 | css_files_dir[file] = f"/_addons/{addon_package}/user_files/{file}.css"
38 |
--------------------------------------------------------------------------------
/utils/dark_title_bar.py:
--------------------------------------------------------------------------------
1 | from .logger import logger
2 | from aqt.theme import theme_manager
3 | from platform import system, version, release
4 | from ctypes import *
5 | from aqt.qt import Qt
6 | from aqt import mw
7 |
8 | dwmapi = None
9 | ## Darkmode windows titlebar thanks to @miere43
10 | def set_dark_titlebar(window, dwmapi) -> None:
11 | if dwmapi:
12 | # Contanki compatibility fix, don't set NatieWindow on any dialogs
13 | mw.app.setAttribute(Qt.ApplicationAttribute.AA_DontCreateNativeWidgetSiblings)
14 | handler_window = c_void_p(int(window.winId()))
15 |
16 | DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1 = c_int(19)
17 | DWMWA_USE_IMMERSIVE_DARK_MODE = c_int(20)
18 | windows_version = int(version().split('.')[2])
19 | attribute = DWMWA_USE_IMMERSIVE_DARK_MODE if windows_version >= 18985 else DWMWA_USE_IMMERSIVE_DARK_MODE_BEFORE_20H1
20 | if windows_version >= 17763 and int(release()) >= 10:
21 | dwmapi.DwmSetWindowAttribute(handler_window, attribute, byref(c_int(1)), c_size_t(4))
22 | pass
23 |
24 | def set_dark_titlebar_qt(obj, dwmapi, fix=True) -> None:
25 | if dwmapi and theme_manager.get_night_mode():
26 | set_dark_titlebar(obj, dwmapi)
27 | # Trick to refresh the titlebar after dark titlebar is set
28 | if fix:
29 | obj.showFullScreen()
30 | obj.showNormal()
31 |
32 | if system() == "Windows" and theme_manager.get_night_mode():
33 | dwmapi = WinDLL("dwmapi")
34 | if dwmapi:
35 | dwmapi.DwmSetWindowAttribute.argtypes = [c_void_p, c_int, c_void_p, c_size_t]
36 | dwmapi.DwmSetWindowAttribute.restype = c_int
37 | logger.debug(dwmapi)
--------------------------------------------------------------------------------
/utils/logger.py:
--------------------------------------------------------------------------------
1 | import os
2 | import logging
3 | # declare an empty logger class
4 | class EmptyLogger():
5 | def debug(self, *_):
6 | return None
7 | logger = EmptyLogger()
8 | # init logger
9 | if 'ANKI_REDESIGN_DEBUG_LOGGING' in os.environ:
10 | filename = os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "user_files", "test.log")
11 | logging.basicConfig(format='%(asctime)s %(levelname)-8s [%(filename)s:%(lineno)d] %(message)s',
12 | datefmt='%Y%m%d-%H:%M:%S',
13 | filename=filename,
14 | level=logging.DEBUG)
15 | logger = logging.getLogger('anki-redesign')
16 | logger.setLevel(logging.DEBUG)
17 | logger.debug("Initialized anki")
18 |
--------------------------------------------------------------------------------
/utils/modules.py:
--------------------------------------------------------------------------------
1 | def module_exists(module_name):
2 | try:
3 | __import__(module_name)
4 | except ImportError:
5 | return False
6 | else:
7 | return True
8 |
9 | def module_has_attribute(module_name, attribute):
10 | if module_exists(module_name):
11 | return hasattr(__import__(module_name), attribute)
12 | return False
13 |
14 | def attribute_exists(object, attribute):
15 | return attribute in object.__dict__
16 |
17 | def context_name_includes(context, classname):
18 | return classname in str(context.__class__)
--------------------------------------------------------------------------------
/utils/translation.py:
--------------------------------------------------------------------------------
1 |
2 | import os
3 | import json
4 |
5 | this_script_dir = os.path.join(os.path.dirname(__file__), "..")
6 | translation_dir = os.path.join(this_script_dir, 'translation')
7 |
8 | def get_texts_dict() -> dict:
9 | texts = {}
10 | for file in os.listdir(translation_dir):
11 | if "json" in file:
12 | file = file.replace(".json", "")
13 | if texts.get(file, "") == "":
14 | texts_path = os.path.join(translation_dir, file+'.json')
15 | texts_parsed = json.loads(open(texts_path, encoding='utf-8').read())
16 | texts[file] = texts_parsed
17 | return texts
18 |
19 | def get_texts(lang: str) -> dict:
20 | texts = get_texts_dict()
21 | return texts.get(lang, texts["en_US"])
22 |
23 | texts = get_texts_dict()
--------------------------------------------------------------------------------