├── .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() --------------------------------------------------------------------------------