From cdc4ca7e1f3c93ee697b6ea11edea18689f834be Mon Sep 17 00:00:00 2001 From: Archit Arora Date: Fri, 1 May 2026 01:46:55 +0530 Subject: [PATCH] matugen: generate theme for Vencord (#2320) --- core/internal/matugen/matugen.go | 1 + quickshell/Common/SettingsData.qml | 1 + quickshell/Common/Theme.qml | 4 +++- quickshell/Common/settings/SettingsSpec.js | 1 + quickshell/Modules/Settings/ThemeColorsTab.qml | 12 ++++++++++++ quickshell/matugen/configs/vencord.toml | 3 +++ .../translations/settings_search_index.json | 18 ++++++++++++++++++ 7 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 quickshell/matugen/configs/vencord.toml diff --git a/core/internal/matugen/matugen.go b/core/internal/matugen/matugen.go index a29d324f..bdf84673 100644 --- a/core/internal/matugen/matugen.go +++ b/core/internal/matugen/matugen.go @@ -60,6 +60,7 @@ var templateRegistry = []TemplateDef{ {ID: "pywalfox", Commands: []string{"pywalfox"}, ConfigFile: "pywalfox.toml"}, {ID: "zenbrowser", Commands: []string{"zen", "zen-browser", "zen-beta", "zen-twilight"}, Flatpaks: []string{"app.zen_browser.zen"}, ConfigFile: "zenbrowser.toml"}, {ID: "vesktop", Commands: []string{"vesktop"}, Flatpaks: []string{"dev.vencord.Vesktop"}, ConfigFile: "vesktop.toml"}, + {ID: "vencord", Commands: []string{"discord", "Discord", "discord-canary", "DiscordCanary"}, Flatpaks: []string{"com.discordapp.Discord", "com.discordapp.DiscordCanary"}, ConfigFile: "vencord.toml"}, {ID: "equibop", Commands: []string{"equibop"}, ConfigFile: "equibop.toml"}, {ID: "ghostty", Commands: []string{"ghostty"}, ConfigFile: "ghostty.toml", Kind: TemplateKindTerminal}, {ID: "kitty", Commands: []string{"kitty"}, ConfigFile: "kitty.toml", Kind: TemplateKindTerminal}, diff --git a/quickshell/Common/SettingsData.qml b/quickshell/Common/SettingsData.qml index 9c8b6ffb..5969d412 100644 --- a/quickshell/Common/SettingsData.qml +++ b/quickshell/Common/SettingsData.qml @@ -494,6 +494,7 @@ Singleton { property bool matugenTemplatePywalfox: true property bool matugenTemplateZenBrowser: true property bool matugenTemplateVesktop: true + property bool matugenTemplateVencord: true property bool matugenTemplateEquibop: true property bool matugenTemplateGhostty: true property bool matugenTemplateKitty: true diff --git a/quickshell/Common/Theme.qml b/quickshell/Common/Theme.qml index 7a692a8f..875ad38e 100644 --- a/quickshell/Common/Theme.qml +++ b/quickshell/Common/Theme.qml @@ -1582,7 +1582,7 @@ Singleton { if (typeof SettingsData !== "undefined") { const skipTemplates = []; if (!SettingsData.runDmsMatugenTemplates) { - skipTemplates.push("gtk", "nvim", "niri", "qt5ct", "qt6ct", "firefox", "pywalfox", "zenbrowser", "vesktop", "equibop", "ghostty", "kitty", "foot", "alacritty", "wezterm", "dgop", "kcolorscheme", "vscode", "emacs", "zed"); + skipTemplates.push("gtk", "nvim", "niri", "qt5ct", "qt6ct", "firefox", "pywalfox", "zenbrowser", "vesktop", "vencord", "equibop", "ghostty", "kitty", "foot", "alacritty", "wezterm", "dgop", "kcolorscheme", "vscode", "emacs", "zed"); } else { if (!SettingsData.matugenTemplateGtk) skipTemplates.push("gtk"); @@ -1604,6 +1604,8 @@ Singleton { skipTemplates.push("zenbrowser"); if (!SettingsData.matugenTemplateVesktop) skipTemplates.push("vesktop"); + if (!SettingsData.matugenTemplateVencord) + skipTemplates.push("vencord"); if (!SettingsData.matugenTemplateEquibop) skipTemplates.push("equibop"); if (!SettingsData.matugenTemplateGhostty) diff --git a/quickshell/Common/settings/SettingsSpec.js b/quickshell/Common/settings/SettingsSpec.js index 57a39e4a..1ed73cf7 100644 --- a/quickshell/Common/settings/SettingsSpec.js +++ b/quickshell/Common/settings/SettingsSpec.js @@ -302,6 +302,7 @@ var SPEC = { matugenTemplatePywalfox: { def: true }, matugenTemplateZenBrowser: { def: true }, matugenTemplateVesktop: { def: true }, + matugenTemplateVencord: { def: true }, matugenTemplateEquibop: { def: true }, matugenTemplateGhostty: { def: true }, matugenTemplateKitty: { def: true }, diff --git a/quickshell/Modules/Settings/ThemeColorsTab.qml b/quickshell/Modules/Settings/ThemeColorsTab.qml index 67650baf..b0df7192 100644 --- a/quickshell/Modules/Settings/ThemeColorsTab.qml +++ b/quickshell/Modules/Settings/ThemeColorsTab.qml @@ -2645,6 +2645,18 @@ Item { onToggled: checked => SettingsData.set("matugenTemplateVesktop", checked) } + SettingsToggleRow { + tab: "theme" + tags: ["matugen", "vencord", "discord", "template"] + settingKey: "matugenTemplateVencord" + text: "vencord" + description: getTemplateDescription("vencord", "") + descriptionColor: getTemplateDescriptionColor("vencord") + visible: SettingsData.runDmsMatugenTemplates + checked: SettingsData.matugenTemplateVencord + onToggled: checked => SettingsData.set("matugenTemplateVencord", checked) + } + SettingsToggleRow { tab: "theme" tags: ["matugen", "equibop", "discord", "template"] diff --git a/quickshell/matugen/configs/vencord.toml b/quickshell/matugen/configs/vencord.toml new file mode 100644 index 00000000..25c150c4 --- /dev/null +++ b/quickshell/matugen/configs/vencord.toml @@ -0,0 +1,3 @@ +[templates.dmsvencord] +input_path = 'SHELL_DIR/matugen/templates/vesktop.css' +output_path = 'CONFIG_DIR/Vencord/themes/dank-discord.css' diff --git a/quickshell/translations/settings_search_index.json b/quickshell/translations/settings_search_index.json index aecd59d9..14343b1b 100644 --- a/quickshell/translations/settings_search_index.json +++ b/quickshell/translations/settings_search_index.json @@ -4455,6 +4455,24 @@ "vesktop" ] }, + { + "section": "matugenTemplateVencord", + "label": "vencord", + "tabIndex": 10, + "category": "Theme & Colors", + "keywords": [ + "appearance", + "colors", + "discord", + "vencord", + "look", + "matugen", + "scheme", + "style", + "template", + "theme" + ] + }, { "section": "matugenTemplateZenBrowser", "label": "zenbrowser",