ColorSchemeTab: add matugen type option

This commit is contained in:
Ly-sec
2025-09-27 17:16:00 +02:00
parent 65cd95c62b
commit 35bf30ef5e
9 changed files with 72 additions and 4 deletions
+4
View File
@@ -478,6 +478,10 @@
"enable-matugen": {
"label": "Matugen aktivieren",
"description": "Automatisch Farben basierend auf Ihrem aktiven Hintergrundbild generieren."
},
"matugen-scheme-type": {
"label": "Matugen-Schema-Typ",
"description": "Wähle einen Farbstil für Matugen aus."
}
},
"predefined": {
+4
View File
@@ -478,6 +478,10 @@
"enable-matugen": {
"label": "Enable Matugen",
"description": "Automatically generate colors based on your active wallpaper."
},
"matugen-scheme-type": {
"label": "Matugen scheme type",
"description": "Choose the color scheme generation algorithm for Matugen."
}
},
"predefined": {
+4
View File
@@ -476,6 +476,10 @@
"enable-matugen": {
"label": "Activar Matugen",
"description": "Genera colores automáticamente basados en tu fondo de pantalla activo."
},
"matugen-scheme-type": {
"label": "Tipo de esquema Matugen",
"description": "Elige el algoritmo de generación de esquema de colores para Matugen."
}
},
"predefined": {
+4
View File
@@ -476,6 +476,10 @@
"enable-matugen": {
"label": "Activer Matugen",
"description": "Générez automatiquement des couleurs en fonction de votre fond d'écran actif."
},
"matugen-scheme-type": {
"label": "Type de schéma Matugen",
"description": "Choisissez l'algorithme de génération de schéma de couleurs pour Matugen."
}
},
"predefined": {
+4
View File
@@ -442,6 +442,10 @@
"enable-matugen": {
"label": "Ativar Matugen",
"description": "Gera cores automaticamente com base no seu papel de parede ativo."
},
"matugen-scheme-type": {
"label": "Tipo de esquema Matugen",
"description": "Escolha o algoritmo de geração de esquema de cores para Matugen."
}
},
"predefined": {
+4
View File
@@ -476,6 +476,10 @@
"enable-matugen": {
"label": "启用 Matugen",
"description": "根据您的活动壁纸自动生成颜色。"
},
"matugen-scheme-type": {
"label": "Matugen 配色方案类型",
"description": "为 Matugen 选择配色方案生成算法。"
}
},
"predefined": {
+2 -1
View File
@@ -156,7 +156,7 @@ Singleton {
"id": "Battery"
}, {
"id": "Volume"
}, {
}, {
"id": "Brightness"
}, {
"id": "Clock"
@@ -291,6 +291,7 @@ Singleton {
property bool useWallpaperColors: false
property string predefinedScheme: "Noctalia (default)"
property bool darkMode: true
property string matugenSchemeType: "scheme-fruit-salad"
}
// matugen templates toggles
+43
View File
@@ -140,6 +140,49 @@ ColumnLayout {
}
}
// Matugen Scheme Type Selection
NComboBox {
label: I18n.tr("settings.color-scheme.color-source.matugen-scheme-type.label")
description: I18n.tr("settings.color-scheme.color-source.matugen-scheme-type.description")
enabled: Settings.data.colorSchemes.useWallpaperColors
opacity: Settings.data.colorSchemes.useWallpaperColors ? 1.0 : 0.6
model: [{
"key": "scheme-content",
"name": "Content"
}, {
"key": "scheme-expressive",
"name": "Expressive"
}, {
"key": "scheme-fidelity",
"name": "Fidelity"
}, {
"key": "scheme-fruit-salad",
"name": "Fruit Salad"
}, {
"key": "scheme-monochrome",
"name": "Monochrome"
}, {
"key": "scheme-neutral",
"name": "Neutral"
}, {
"key": "scheme-rainbow",
"name": "Rainbow"
}, {
"key": "scheme-tonal-spot",
"name": "Tonal Spot"
}]
currentKey: Settings.data.colorSchemes.matugenSchemeType
onSelected: key => {
Settings.data.colorSchemes.matugenSchemeType = key
if (Settings.data.colorSchemes.useWallpaperColors) {
MatugenService.generateFromWallpaper()
}
}
}
NDivider {
Layout.fillWidth: true
Layout.topMargin: Style.marginXL * scaling
+3 -3
View File
@@ -66,14 +66,14 @@ Singleton {
var extraUser = (Settings.configDir + "matugen.d").replace(/'/g, "'\\''")
// Build the main script
var script = "cat > '" + pathEsc + "' << 'EOF'\n" + content + "EOF\n" + "for d in '" + extraRepo + "' '" + extraUser + "'; do\n" + " if [ -d \"$d\" ]; then\n" + " for f in \"$d\"/*.toml; do\n" + " [ -f \"$f\" ] && { echo; echo \"# extra: $f\"; cat \"$f\"; } >> '" + pathEsc + "'\n" + " done\n" + " fi\n" + "done\n" + "matugen image '"
+ wp + "' --config '" + pathEsc + "' --mode " + mode
var script = "cat > '" + pathEsc + "' << 'EOF'\n" + content + "EOF\n" + "for d in '" + extraRepo + "' '" + extraUser + "'; do\n" + " if [ -d \"$d\" ]; then\n" + " for f in \"$d\"/*.toml; do\n" + " [ -f \"$f\" ] && { echo; echo \"# extra: $f\"; cat \"$f\"; } >> '" + pathEsc + "'\n" + " done\n" + " fi\n"
+ "done\n" + "matugen image '" + wp + "' --config '" + pathEsc + "' --mode " + mode + " --type " + Settings.data.colorSchemes.matugenSchemeType
// Add user config execution if enabled
if (Settings.data.matugen.enableUserTemplates) {
var userConfigDir = (Quickshell.env("HOME") + "/.config/matugen/").replace(/'/g, "'\\''")
script += "\n# Execute user config if it exists\nif [ -f '" + userConfigDir + "config.toml' ]; then\n"
script += " matugen image '" + wp + "' --config '" + userConfigDir + "config.toml' --mode " + mode + "\n"
script += " matugen image '" + wp + "' --config '" + userConfigDir + "config.toml' --mode " + mode + " --type " + Settings.data.colorSchemes.matugenSchemeType + "\n"
script += "fi"
}