1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 21:42:51 -05:00

matugen: add option to disable DMS templates

fixes #983
This commit is contained in:
bbedward
2025-12-11 11:48:59 -05:00
parent 597e21d44d
commit 56ff9368be
17 changed files with 363 additions and 63 deletions

View File

@@ -271,6 +271,23 @@ Singleton {
property bool syncModeWithPortal: true
property bool terminalsAlwaysDark: false
property bool runDmsMatugenTemplates: true
property bool matugenTemplateGtk: true
property bool matugenTemplateNiri: true
property bool matugenTemplateQt5ct: true
property bool matugenTemplateQt6ct: true
property bool matugenTemplateFirefox: true
property bool matugenTemplatePywalfox: true
property bool matugenTemplateVesktop: true
property bool matugenTemplateGhostty: true
property bool matugenTemplateKitty: true
property bool matugenTemplateFoot: true
property bool matugenTemplateAlacritty: true
property bool matugenTemplateWezterm: true
property bool matugenTemplateDgop: true
property bool matugenTemplateKcolorscheme: true
property bool matugenTemplateVscode: true
property bool showDock: false
property bool dockAutoHide: false
property bool dockGroupByApp: false

View File

@@ -815,17 +815,7 @@ Singleton {
console.log("Theme: Starting matugen worker");
workerRunning = true;
const args = [
"dms", "matugen", "queue",
"--state-dir", stateDir,
"--shell-dir", shellDir,
"--config-dir", configDir,
"--kind", desired.kind,
"--value", desired.value,
"--mode", desired.mode,
"--icon-theme", desired.iconTheme,
"--matugen-type", desired.matugenType,
];
const args = ["dms", "matugen", "queue", "--state-dir", stateDir, "--shell-dir", shellDir, "--config-dir", configDir, "--kind", desired.kind, "--value", desired.value, "--mode", desired.mode, "--icon-theme", desired.iconTheme, "--matugen-type", desired.matugenType,];
if (!desired.runUserTemplates) {
args.push("--run-user-templates=false");
@@ -840,6 +830,47 @@ Singleton {
args.push("--terminals-always-dark");
}
if (typeof SettingsData !== "undefined") {
const skipTemplates = [];
if (!SettingsData.runDmsMatugenTemplates) {
skipTemplates.push("gtk", "niri", "qt5ct", "qt6ct", "firefox", "pywalfox", "vesktop", "ghostty", "kitty", "foot", "alacritty", "wezterm", "dgop", "kcolorscheme", "vscode");
} else {
if (!SettingsData.matugenTemplateGtk)
skipTemplates.push("gtk");
if (!SettingsData.matugenTemplateNiri)
skipTemplates.push("niri");
if (!SettingsData.matugenTemplateQt5ct)
skipTemplates.push("qt5ct");
if (!SettingsData.matugenTemplateQt6ct)
skipTemplates.push("qt6ct");
if (!SettingsData.matugenTemplateFirefox)
skipTemplates.push("firefox");
if (!SettingsData.matugenTemplatePywalfox)
skipTemplates.push("pywalfox");
if (!SettingsData.matugenTemplateVesktop)
skipTemplates.push("vesktop");
if (!SettingsData.matugenTemplateGhostty)
skipTemplates.push("ghostty");
if (!SettingsData.matugenTemplateKitty)
skipTemplates.push("kitty");
if (!SettingsData.matugenTemplateFoot)
skipTemplates.push("foot");
if (!SettingsData.matugenTemplateAlacritty)
skipTemplates.push("alacritty");
if (!SettingsData.matugenTemplateWezterm)
skipTemplates.push("wezterm");
if (!SettingsData.matugenTemplateDgop)
skipTemplates.push("dgop");
if (!SettingsData.matugenTemplateKcolorscheme)
skipTemplates.push("kcolorscheme");
if (!SettingsData.matugenTemplateVscode)
skipTemplates.push("vscode");
}
if (skipTemplates.length > 0) {
args.push("--skip-templates", skipTemplates.join(","));
}
}
systemThemeGenerator.command = args;
systemThemeGenerator.running = true;
}
@@ -1014,16 +1045,11 @@ Singleton {
}
function blendAlpha(c, a) {
return Qt.rgba(c.r, c.g, c.b, c.a*a);
return Qt.rgba(c.r, c.g, c.b, c.a * a);
}
function blend(c1, c2, r) {
return Qt.rgba(
c1.r * (1-r) + c2.r * r,
c1.g * (1-r) + c2.g * r,
c1.b * (1-r) + c2.b * r,
c1.a * (1-r) + c2.a * r,
);
return Qt.rgba(c1.r * (1 - r) + c2.r * r, c1.g * (1 - r) + c2.g * r, c1.b * (1 - r) + c2.b * r, c1.a * (1 - r) + c2.a * r);
}
function getFillMode(modeName) {

View File

@@ -170,6 +170,23 @@ var SPEC = {
syncModeWithPortal: { def: true },
terminalsAlwaysDark: { def: false, onChange: "regenSystemThemes" },
runDmsMatugenTemplates: { def: true },
matugenTemplateGtk: { def: true },
matugenTemplateNiri: { def: true },
matugenTemplateQt5ct: { def: true },
matugenTemplateQt6ct: { def: true },
matugenTemplateFirefox: { def: true },
matugenTemplatePywalfox: { def: true },
matugenTemplateVesktop: { def: true },
matugenTemplateGhostty: { def: true },
matugenTemplateKitty: { def: true },
matugenTemplateFoot: { def: true },
matugenTemplateAlacritty: { def: true },
matugenTemplateWezterm: { def: true },
matugenTemplateDgop: { def: true },
matugenTemplateKcolorscheme: { def: true },
matugenTemplateVscode: { def: true },
showDock: { def: false },
dockAutoHide: { def: false },
dockGroupByApp: { def: false },

View File

@@ -714,6 +714,199 @@ Item {
}
}
SettingsCard {
tab: "theme"
tags: ["matugen", "templates", "theming"]
title: I18n.tr("Matugen Templates")
iconName: "auto_awesome"
visible: Theme.matugenAvailable
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "user", "templates"]
settingKey: "runUserMatugenTemplates"
text: I18n.tr("Run User Templates")
description: ""
checked: SettingsData.runUserMatugenTemplates
onToggled: checked => SettingsData.set("runUserMatugenTemplates", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "dms", "templates"]
settingKey: "runDmsMatugenTemplates"
text: I18n.tr("Run DMS Templates")
description: ""
checked: SettingsData.runDmsMatugenTemplates
onToggled: checked => SettingsData.set("runDmsMatugenTemplates", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "gtk", "template"]
settingKey: "matugenTemplateGtk"
text: "GTK"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateGtk
onToggled: checked => SettingsData.set("matugenTemplateGtk", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "niri", "template"]
settingKey: "matugenTemplateNiri"
text: "niri"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateNiri
onToggled: checked => SettingsData.set("matugenTemplateNiri", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "qt5ct", "template"]
settingKey: "matugenTemplateQt5ct"
text: "qt5ct"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateQt5ct
onToggled: checked => SettingsData.set("matugenTemplateQt5ct", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "qt6ct", "template"]
settingKey: "matugenTemplateQt6ct"
text: "qt6ct"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateQt6ct
onToggled: checked => SettingsData.set("matugenTemplateQt6ct", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "firefox", "template"]
settingKey: "matugenTemplateFirefox"
text: "Firefox"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateFirefox
onToggled: checked => SettingsData.set("matugenTemplateFirefox", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "pywalfox", "template"]
settingKey: "matugenTemplatePywalfox"
text: "pywalfox"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplatePywalfox
onToggled: checked => SettingsData.set("matugenTemplatePywalfox", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "vesktop", "discord", "template"]
settingKey: "matugenTemplateVesktop"
text: "vesktop"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateVesktop
onToggled: checked => SettingsData.set("matugenTemplateVesktop", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "ghostty", "terminal", "template"]
settingKey: "matugenTemplateGhostty"
text: "Ghostty"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateGhostty
onToggled: checked => SettingsData.set("matugenTemplateGhostty", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "kitty", "terminal", "template"]
settingKey: "matugenTemplateKitty"
text: "kitty"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateKitty
onToggled: checked => SettingsData.set("matugenTemplateKitty", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "foot", "terminal", "template"]
settingKey: "matugenTemplateFoot"
text: "foot"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateFoot
onToggled: checked => SettingsData.set("matugenTemplateFoot", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "alacritty", "terminal", "template"]
settingKey: "matugenTemplateAlacritty"
text: "Alacritty"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateAlacritty
onToggled: checked => SettingsData.set("matugenTemplateAlacritty", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "wezterm", "terminal", "template"]
settingKey: "matugenTemplateWezterm"
text: "WezTerm"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateWezterm
onToggled: checked => SettingsData.set("matugenTemplateWezterm", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "dgop", "template"]
settingKey: "matugenTemplateDgop"
text: "dgop"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateDgop
onToggled: checked => SettingsData.set("matugenTemplateDgop", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "kcolorscheme", "kde", "template"]
settingKey: "matugenTemplateKcolorscheme"
text: "KColorScheme"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateKcolorscheme
onToggled: checked => SettingsData.set("matugenTemplateKcolorscheme", checked)
}
SettingsToggleRow {
tab: "theme"
tags: ["matugen", "vscode", "code", "template"]
settingKey: "matugenTemplateVscode"
text: "VS Code"
description: ""
visible: SettingsData.runDmsMatugenTemplates
checked: SettingsData.matugenTemplateVscode
onToggled: checked => SettingsData.set("matugenTemplateVscode", checked)
}
}
Rectangle {
width: parent.width
height: warningText.implicitHeight + Theme.spacingM * 2

View File

@@ -1,17 +1 @@
[config]
[templates.dmsgtk4]
input_path = 'SHELL_DIR/matugen/templates/gtk-colors.css'
output_path = '~/.config/gtk-4.0/dank-colors.css'
[templates.dmskcolorscheme]
input_path = 'SHELL_DIR/matugen/templates/kcolorscheme.colors'
output_path = '~/.local/share/color-schemes/DankMatugen.colors'
[templates.dmslightkcolorscheme]
input_path = 'SHELL_DIR/matugen/templates/light-kcolorscheme.colors'
output_path = '~/.local/share/color-schemes/DankMatugenLight.colors'
[templates.dmsdarkkcolorscheme]
input_path = 'SHELL_DIR/matugen/templates/dark-kcolorscheme.colors'
output_path = '~/.local/share/color-schemes/DankMatugenDark.colors'

View File

@@ -1,3 +1,7 @@
[templates.dmsgtk3]
input_path = 'SHELL_DIR/matugen/templates/gtk-colors.css'
output_path = '~/.config/gtk-3.0/dank-colors.css'
[templates.dmsgtk4]
input_path = 'SHELL_DIR/matugen/templates/gtk-colors.css'
output_path = '~/.config/gtk-4.0/dank-colors.css'

View File

@@ -1,3 +1,7 @@
[templates.dmsgtk3]
input_path = 'SHELL_DIR/matugen/templates/gtk-light-colors.css'
output_path = '~/.config/gtk-3.0/dank-colors.css'
[templates.dmsgtk4]
input_path = 'SHELL_DIR/matugen/templates/gtk-light-colors.css'
output_path = '~/.config/gtk-4.0/dank-colors.css'

View File

@@ -0,0 +1,11 @@
[templates.dmskcolorscheme]
input_path = 'SHELL_DIR/matugen/templates/kcolorscheme.colors'
output_path = '~/.local/share/color-schemes/DankMatugen.colors'
[templates.dmslightkcolorscheme]
input_path = 'SHELL_DIR/matugen/templates/light-kcolorscheme.colors'
output_path = '~/.local/share/color-schemes/DankMatugenLight.colors'
[templates.dmsdarkkcolorscheme]
input_path = 'SHELL_DIR/matugen/templates/dark-kcolorscheme.colors'
output_path = '~/.local/share/color-schemes/DankMatugenDark.colors'