1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2025-12-06 05:25:41 -05:00

Remove wallpaper engine support in favor of plugin (#601)

* Remove wallpaper engine support in favor of plugin

* i18n: update source strings from codebase

* Add migration notification for WallpaperEngine support

---------

Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
This commit is contained in:
Aziz Hasanain
2025-11-02 21:44:06 +03:00
committed by GitHub
parent 113ac42814
commit 414ce5610d
12 changed files with 111 additions and 307 deletions

View File

@@ -84,7 +84,21 @@ Singleton {
if (content && content.trim()) { if (content && content.trim()) {
var settings = JSON.parse(content) var settings = JSON.parse(content)
isLightMode = settings.isLightMode !== undefined ? settings.isLightMode : false isLightMode = settings.isLightMode !== undefined ? settings.isLightMode : false
wallpaperPath = settings.wallpaperPath !== undefined ? settings.wallpaperPath : ""
if (settings.wallpaperPath && settings.wallpaperPath.startsWith("we:")) {
console.warn("WallpaperEngine wallpaper detected, resetting wallpaper")
wallpaperPath = ""
Quickshell.execDetached([
"notify-send",
"-u", "critical",
"-a", "DMS",
"-i", "dialog-warning",
"WallpaperEngine Support Moved",
"WallpaperEngine support has been moved to a plugin. Please enable the Linux Wallpaper Engine plugin in Settings → Plugins to continue using WallpaperEngine."
])
} else {
wallpaperPath = settings.wallpaperPath !== undefined ? settings.wallpaperPath : ""
}
perMonitorWallpaper = settings.perMonitorWallpaper !== undefined ? settings.perMonitorWallpaper : false perMonitorWallpaper = settings.perMonitorWallpaper !== undefined ? settings.perMonitorWallpaper : false
monitorWallpapers = settings.monitorWallpapers !== undefined ? settings.monitorWallpapers : {} monitorWallpapers = settings.monitorWallpapers !== undefined ? settings.monitorWallpapers : {}
perModeWallpaper = settings.perModeWallpaper !== undefined ? settings.perModeWallpaper : false perModeWallpaper = settings.perModeWallpaper !== undefined ? settings.perModeWallpaper : false

View File

@@ -43,23 +43,11 @@ Singleton {
var screens = Quickshell.screens var screens = Quickshell.screens
if (screens.length > 0) { if (screens.length > 0) {
var firstMonitorWallpaper = SessionData.getMonitorWallpaper(screens[0].name) var firstMonitorWallpaper = SessionData.getMonitorWallpaper(screens[0].name)
var wallpaperPath = firstMonitorWallpaper || SessionData.wallpaperPath return firstMonitorWallpaper || SessionData.wallpaperPath
if (wallpaperPath && wallpaperPath.startsWith("we:")) {
return stateDir + "/we_screenshots/" + wallpaperPath.substring(3) + ".jpg"
}
return wallpaperPath
} }
} }
var wallpaperPath = SessionData.wallpaperPath return SessionData.wallpaperPath
var screens = Quickshell.screens
if (screens.length > 0 && wallpaperPath && wallpaperPath.startsWith("we:")) {
return stateDir + "/we_screenshots/" + wallpaperPath.substring(3) + ".jpg"
}
return wallpaperPath
} }
readonly property string rawWallpaperPath: { readonly property string rawWallpaperPath: {
if (typeof SessionData === "undefined") if (typeof SessionData === "undefined")
@@ -112,11 +100,10 @@ Singleton {
const isLight = (typeof SessionData !== "undefined" && SessionData.isLightMode) const isLight = (typeof SessionData !== "undefined" && SessionData.isLightMode)
const iconTheme = (typeof SettingsData !== "undefined" && SettingsData.iconTheme) ? SettingsData.iconTheme : "System Default" const iconTheme = (typeof SettingsData !== "undefined" && SettingsData.iconTheme) ? SettingsData.iconTheme : "System Default"
const selectedMatugenType = (typeof SettingsData !== "undefined" && SettingsData.matugenScheme) ? SettingsData.matugenScheme : "scheme-tonal-spot" const selectedMatugenType = (typeof SettingsData !== "undefined" && SettingsData.matugenScheme) ? SettingsData.matugenScheme : "scheme-tonal-spot"
const effectivePath = rawWallpaperPath.startsWith("we:") ? (stateDir + "/we_screenshots/" + rawWallpaperPath.substring(3) + ".jpg") : rawWallpaperPath if (rawWallpaperPath.startsWith("#")) {
if (effectivePath.startsWith("#")) { setDesiredTheme("hex", rawWallpaperPath, isLight, iconTheme, selectedMatugenType)
setDesiredTheme("hex", effectivePath, isLight, iconTheme, selectedMatugenType)
} else { } else {
setDesiredTheme("image", effectivePath, isLight, iconTheme, selectedMatugenType) setDesiredTheme("image", rawWallpaperPath, isLight, iconTheme, selectedMatugenType)
} }
return return
} }
@@ -127,11 +114,10 @@ Singleton {
if (currentTheme === dynamic) { if (currentTheme === dynamic) {
if (rawWallpaperPath) { if (rawWallpaperPath) {
const selectedMatugenType = (typeof SettingsData !== "undefined" && SettingsData.matugenScheme) ? SettingsData.matugenScheme : "scheme-tonal-spot" const selectedMatugenType = (typeof SettingsData !== "undefined" && SettingsData.matugenScheme) ? SettingsData.matugenScheme : "scheme-tonal-spot"
const effectivePath = rawWallpaperPath.startsWith("we:") ? (stateDir + "/we_screenshots/" + rawWallpaperPath.substring(3) + ".jpg") : rawWallpaperPath if (rawWallpaperPath.startsWith("#")) {
if (effectivePath.startsWith("#")) { setDesiredTheme("hex", rawWallpaperPath, isLight, iconTheme, selectedMatugenType)
setDesiredTheme("hex", effectivePath, isLight, iconTheme, selectedMatugenType)
} else { } else {
setDesiredTheme("image", effectivePath, isLight, iconTheme, selectedMatugenType) setDesiredTheme("image", rawWallpaperPath, isLight, iconTheme, selectedMatugenType)
} }
} }
} else { } else {
@@ -813,13 +799,8 @@ Singleton {
Quickshell.execDetached(["sh", "-c", `mkdir -p '${stateDir}' && cat > '${desiredPath}' << 'EOF'\n${json}\nEOF`]) Quickshell.execDetached(["sh", "-c", `mkdir -p '${stateDir}' && cat > '${desiredPath}' << 'EOF'\n${json}\nEOF`])
workerRunning = true workerRunning = true
const syncModeWithPortal = (typeof SettingsData !== "undefined" && SettingsData.syncModeWithPortal) ? "true" : "false" const syncModeWithPortal = (typeof SettingsData !== "undefined" && SettingsData.syncModeWithPortal) ? "true" : "false"
if (rawWallpaperPath.startsWith("we:")) { console.log("Theme: Starting matugen worker")
console.log("Theme: Starting matugen worker (WE wallpaper, waiting for screenshot)") systemThemeGenerator.command = [shellDir + "/scripts/matugen-worker.sh", stateDir, shellDir, configDir, syncModeWithPortal, "--run"]
systemThemeGenerator.command = ["sh", "-c", `sleep 3 && ${shellDir}/scripts/matugen-worker.sh '${stateDir}' '${shellDir}' '${configDir}' '${syncModeWithPortal}' --run`]
} else {
console.log("Theme: Starting matugen worker")
systemThemeGenerator.command = [shellDir + "/scripts/matugen-worker.sh", stateDir, shellDir, configDir, syncModeWithPortal, "--run"]
}
systemThemeGenerator.running = true systemThemeGenerator.running = true
} }
@@ -836,11 +817,10 @@ Singleton {
return return
} }
const selectedMatugenType = (typeof SettingsData !== "undefined" && SettingsData.matugenScheme) ? SettingsData.matugenScheme : "scheme-tonal-spot" const selectedMatugenType = (typeof SettingsData !== "undefined" && SettingsData.matugenScheme) ? SettingsData.matugenScheme : "scheme-tonal-spot"
const effectivePath = rawWallpaperPath.startsWith("we:") ? (stateDir + "/we_screenshots/" + rawWallpaperPath.substring(3) + ".jpg") : rawWallpaperPath if (rawWallpaperPath.startsWith("#")) {
if (effectivePath.startsWith("#")) { setDesiredTheme("hex", rawWallpaperPath, isLight, iconTheme, selectedMatugenType)
setDesiredTheme("hex", effectivePath, isLight, iconTheme, selectedMatugenType)
} else { } else {
setDesiredTheme("image", effectivePath, isLight, iconTheme, selectedMatugenType) setDesiredTheme("image", rawWallpaperPath, isLight, iconTheme, selectedMatugenType)
} }
} else { } else {
let primaryColor let primaryColor

View File

@@ -39,9 +39,6 @@ DankModal {
property bool selectedFileIsDir: false property bool selectedFileIsDir: false
property bool showOverwriteConfirmation: false property bool showOverwriteConfirmation: false
property string pendingFilePath: "" property string pendingFilePath: ""
property bool weAvailable: false
property string wePath: ""
property bool weMode: false
property var parentModal: null property var parentModal: null
property bool showSidebar: true property bool showSidebar: true
property string viewMode: "grid" property string viewMode: "grid"
@@ -220,22 +217,6 @@ DankModal {
StandardPaths.HomeLocation) + "/snap/steam/common/.local/share/Steam/steamapps/workshop/content/431960"] StandardPaths.HomeLocation) + "/snap/steam/common/.local/share/Steam/steamapps/workshop/content/431960"]
property int currentPathIndex: 0 property int currentPathIndex: 0
function discoverWallpaperEngine() {
currentPathIndex = 0
checkNextPath()
}
function checkNextPath() {
if (currentPathIndex >= steamPaths.length) {
return
}
const wePath = steamPaths[currentPathIndex]
const cleanPath = wePath.replace(/^file:\/\//, '')
weDiscoveryProcess.command = ["test", "-d", cleanPath]
weDiscoveryProcess.wePath = wePath
weDiscoveryProcess.running = true
}
width: 800 width: 800
height: 600 height: 600
enableShadow: true enableShadow: true
@@ -266,9 +247,6 @@ DankModal {
selectedIndex = -1 selectedIndex = -1
keyboardNavigationActive = false keyboardNavigationActive = false
backButtonFocused = false backButtonFocused = false
if (browserType === "wallpaper" && !weAvailable) {
discoverWallpaperEngine()
}
} }
} }
onCurrentPathChanged: { onCurrentPathChanged: {
@@ -572,23 +550,6 @@ DankModal {
} }
} }
Process {
id: weDiscoveryProcess
property string wePath: ""
running: false
onExited: exitCode => {
if (exitCode === 0) {
fileBrowserModal.weAvailable = true
fileBrowserModal.wePath = wePath
} else {
currentPathIndex++
checkNextPath()
}
}
}
content: Component { content: Component {
Item { Item {
anchors.fill: parent anchors.fill: parent
@@ -644,7 +605,6 @@ DankModal {
iconName: showHiddenFiles ? "visibility_off" : "visibility" iconName: showHiddenFiles ? "visibility_off" : "visibility"
iconSize: Theme.iconSize - 4 iconSize: Theme.iconSize - 4
iconColor: showHiddenFiles ? Theme.primary : Theme.surfaceText iconColor: showHiddenFiles ? Theme.primary : Theme.surfaceText
visible: !weMode
onClicked: showHiddenFiles = !showHiddenFiles onClicked: showHiddenFiles = !showHiddenFiles
} }
@@ -653,7 +613,6 @@ DankModal {
iconName: viewMode === "grid" ? "view_list" : "grid_view" iconName: viewMode === "grid" ? "view_list" : "grid_view"
iconSize: Theme.iconSize - 4 iconSize: Theme.iconSize - 4
iconColor: Theme.surfaceText iconColor: Theme.surfaceText
visible: !weMode
onClicked: viewMode = viewMode === "grid" ? "list" : "grid" onClicked: viewMode = viewMode === "grid" ? "list" : "grid"
} }
@@ -662,26 +621,10 @@ DankModal {
iconName: iconSizeIndex === 0 ? "photo_size_select_small" : iconSizeIndex === 1 ? "photo_size_select_large" : iconSizeIndex === 2 ? "photo_size_select_actual" : "zoom_in" iconName: iconSizeIndex === 0 ? "photo_size_select_small" : iconSizeIndex === 1 ? "photo_size_select_large" : iconSizeIndex === 2 ? "photo_size_select_actual" : "zoom_in"
iconSize: Theme.iconSize - 4 iconSize: Theme.iconSize - 4
iconColor: Theme.surfaceText iconColor: Theme.surfaceText
visible: !weMode && viewMode === "grid" visible: viewMode === "grid"
onClicked: iconSizeIndex = (iconSizeIndex + 1) % iconSizes.length onClicked: iconSizeIndex = (iconSizeIndex + 1) % iconSizes.length
} }
DankActionButton {
circular: false
iconName: "movie"
iconSize: Theme.iconSize - 4
iconColor: weMode ? Theme.primary : Theme.surfaceText
visible: weAvailable && browserType === "wallpaper"
onClicked: {
weMode = !weMode
if (weMode) {
navigateTo(wePath)
} else {
navigateTo(getLastPath())
}
}
}
DankActionButton { DankActionButton {
circular: false circular: false
iconName: "info" iconName: "info"
@@ -769,8 +712,8 @@ DankModal {
height: parent.height - 41 height: parent.height - 41
clip: true clip: true
property real gridCellWidth: weMode ? 255 : iconSizes[iconSizeIndex] + 24 property real gridCellWidth: iconSizes[iconSizeIndex] + 24
property real gridCellHeight: weMode ? 215 : iconSizes[iconSizeIndex] + 56 property real gridCellHeight: iconSizes[iconSizeIndex] + 56
property real availableGridWidth: width - Theme.spacingM * 2 property real availableGridWidth: width - Theme.spacingM * 2
property int gridColumns: Math.max(1, Math.floor(availableGridWidth / gridCellWidth)) property int gridColumns: Math.max(1, Math.floor(availableGridWidth / gridCellWidth))
property real gridLeftMargin: Theme.spacingM + Math.max(0, (availableGridWidth - (gridColumns * gridCellWidth)) / 2) property real gridLeftMargin: Theme.spacingM + Math.max(0, (availableGridWidth - (gridColumns * gridCellWidth)) / 2)
@@ -809,7 +752,6 @@ DankModal {
} }
delegate: FileBrowserGridDelegate { delegate: FileBrowserGridDelegate {
weMode: fileBrowserModal.weMode
iconSizes: fileBrowserModal.iconSizes iconSizes: fileBrowserModal.iconSizes
iconSizeIndex: fileBrowserModal.iconSizeIndex iconSizeIndex: fileBrowserModal.iconSizeIndex
selectedIndex: fileBrowserModal.selectedIndex selectedIndex: fileBrowserModal.selectedIndex
@@ -817,11 +759,7 @@ DankModal {
onItemClicked: (index, path, name, isDir) => { onItemClicked: (index, path, name, isDir) => {
selectedIndex = index selectedIndex = index
setSelectedFileData(path, name, isDir) setSelectedFileData(path, name, isDir)
if (weMode && isDir) { if (isDir) {
var sceneId = path.split("/").pop()
fileSelected("we:" + sceneId)
fileBrowserModal.close()
} else if (isDir) {
navigateTo(path) navigateTo(path)
} else { } else {
fileSelected(path) fileSelected(path)
@@ -838,11 +776,7 @@ DankModal {
fileBrowserModal.keyboardSelectionRequested = false fileBrowserModal.keyboardSelectionRequested = false
selectedIndex = index selectedIndex = index
setSelectedFileData(filePath, fileName, fileIsDir) setSelectedFileData(filePath, fileName, fileIsDir)
if (weMode && fileIsDir) { if (fileIsDir) {
var sceneId = filePath.split("/").pop()
fileSelected("we:" + sceneId)
fileBrowserModal.close()
} else if (fileIsDir) {
navigateTo(filePath) navigateTo(filePath)
} else { } else {
fileSelected(filePath) fileSelected(filePath)

View File

@@ -76,11 +76,6 @@ Variants {
} }
} }
WallpaperEngineProc {
id: weProc
monitor: modelData.name
}
Component.onCompleted: { Component.onCompleted: {
if (source) { if (source) {
const formattedSource = source.startsWith("file://") ? source : "file://" + source const formattedSource = source.startsWith("file://") ? source : "file://" + source
@@ -89,34 +84,23 @@ Variants {
isInitialized = true isInitialized = true
} }
Component.onDestruction: {
weProc.stop()
}
property bool isInitialized: false property bool isInitialized: false
property real transitionProgress: 0 property real transitionProgress: 0
readonly property bool transitioning: transitionAnimation.running readonly property bool transitioning: transitionAnimation.running
onSourceChanged: { onSourceChanged: {
const isWE = source.startsWith("we:")
const isColor = source.startsWith("#") const isColor = source.startsWith("#")
if (isWE) { if (!source) {
setWallpaperImmediate("")
} else if (isColor) {
setWallpaperImmediate("") setWallpaperImmediate("")
weProc.start(source.substring(3))
} else { } else {
weProc.stop() if (!isInitialized || !currentWallpaper.source) {
if (!source) { setWallpaperImmediate(source.startsWith("file://") ? source : "file://" + source)
setWallpaperImmediate("") isInitialized = true
} else if (isColor) {
setWallpaperImmediate("")
} else { } else {
if (!isInitialized || !currentWallpaper.source) { changeWallpaper(source.startsWith("file://") ? source : "file://" + source)
setWallpaperImmediate(source.startsWith("file://") ? source : "file://" + source)
isInitialized = true
} else {
changeWallpaper(source.startsWith("file://") ? source : "file://" + source)
}
} }
} }
} }

View File

@@ -202,7 +202,7 @@ Item {
function loadWallpaperDirectory() { function loadWallpaperDirectory() {
const currentWallpaper = getCurrentWallpaper() const currentWallpaper = getCurrentWallpaper()
if (!currentWallpaper || currentWallpaper.startsWith("#") || currentWallpaper.startsWith("we:")) { if (!currentWallpaper || currentWallpaper.startsWith("#")) {
if (CacheData.wallpaperLastPath && CacheData.wallpaperLastPath !== "") { if (CacheData.wallpaperLastPath && CacheData.wallpaperLastPath !== "") {
wallpaperDir = CacheData.wallpaperLastPath wallpaperDir = CacheData.wallpaperLastPath
} else { } else {

View File

@@ -147,12 +147,6 @@ Item {
anchors.fill: parent anchors.fill: parent
source: { source: {
var currentWallpaper = SessionData.getMonitorWallpaper(screenName) var currentWallpaper = SessionData.getMonitorWallpaper(screenName)
if (screenName && currentWallpaper && currentWallpaper.startsWith("we:")) {
const cacheHome = StandardPaths.writableLocation(StandardPaths.GenericCacheLocation).toString()
const baseDir = Paths.strip(cacheHome)
const screenshotPath = baseDir + "/DankMaterialShell/we_screenshots" + "/" + currentWallpaper.substring(3) + ".jpg"
return screenshotPath
}
return (currentWallpaper && !currentWallpaper.startsWith("#")) ? currentWallpaper : "" return (currentWallpaper && !currentWallpaper.startsWith("#")) ? currentWallpaper : ""
} }
fillMode: Theme.getFillMode(SettingsData.wallpaperFillMode) fillMode: Theme.getFillMode(SettingsData.wallpaperFillMode)

View File

@@ -157,12 +157,6 @@ Item {
anchors.fill: parent anchors.fill: parent
source: { source: {
var currentWallpaper = SessionData.getMonitorWallpaper(screenName) var currentWallpaper = SessionData.getMonitorWallpaper(screenName)
if (screenName && currentWallpaper && currentWallpaper.startsWith("we:")) {
const cacheHome = StandardPaths.writableLocation(StandardPaths.GenericCacheLocation).toString()
const baseDir = Paths.strip(cacheHome)
const screenshotPath = baseDir + "/DankMaterialShell/we_screenshots" + "/" + currentWallpaper.substring(3) + ".jpg"
return screenshotPath
}
return (currentWallpaper && !currentWallpaper.startsWith("#")) ? currentWallpaper : "" return (currentWallpaper && !currentWallpaper.startsWith("#")) ? currentWallpaper : ""
} }
fillMode: Theme.getFillMode(SettingsData.wallpaperFillMode) fillMode: Theme.getFillMode(SettingsData.wallpaperFillMode)

View File

@@ -130,27 +130,10 @@ Item {
CachingImage { CachingImage {
anchors.fill: parent anchors.fill: parent
anchors.margins: 1 anchors.margins: 1
property var weExtensions: [".jpg", ".jpeg", ".png", ".webp", ".gif", ".bmp", ".tga"]
property int weExtIndex: 0
source: { source: {
var currentWallpaper = SessionData.perMonitorWallpaper ? SessionData.getMonitorWallpaper(selectedMonitorName) : SessionData.wallpaperPath var currentWallpaper = SessionData.perMonitorWallpaper ? SessionData.getMonitorWallpaper(selectedMonitorName) : SessionData.wallpaperPath
if (currentWallpaper && currentWallpaper.startsWith("we:")) {
var sceneId = currentWallpaper.substring(3)
return StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/.local/share/Steam/steamapps/workshop/content/431960/" + sceneId + "/preview" + weExtensions[weExtIndex]
}
return (currentWallpaper !== "" && !currentWallpaper.startsWith("#")) ? "file://" + currentWallpaper : "" return (currentWallpaper !== "" && !currentWallpaper.startsWith("#")) ? "file://" + currentWallpaper : ""
} }
onStatusChanged: {
var currentWallpaper = SessionData.perMonitorWallpaper ? SessionData.getMonitorWallpaper(selectedMonitorName) : SessionData.wallpaperPath
if (currentWallpaper && currentWallpaper.startsWith("we:") && status === Image.Error) {
if (weExtIndex < weExtensions.length - 1) {
weExtIndex++
source = StandardPaths.writableLocation(StandardPaths.HomeLocation) + "/.local/share/Steam/steamapps/workshop/content/431960/" + currentWallpaper.substring(3) + "/preview" + weExtensions[weExtIndex]
} else {
visible = false
}
}
}
fillMode: Image.PreserveAspectCrop fillMode: Image.PreserveAspectCrop
visible: { visible: {
var currentWallpaper = SessionData.perMonitorWallpaper ? SessionData.getMonitorWallpaper(selectedMonitorName) : SessionData.wallpaperPath var currentWallpaper = SessionData.perMonitorWallpaper ? SessionData.getMonitorWallpaper(selectedMonitorName) : SessionData.wallpaperPath

View File

@@ -104,11 +104,6 @@ Variants {
} }
} }
WallpaperEngineProc {
id: weProc
monitor: modelData.name
}
Component.onCompleted: { Component.onCompleted: {
if (source) { if (source) {
const formattedSource = source.startsWith("file://") ? source : "file://" + source const formattedSource = source.startsWith("file://") ? source : "file://" + source
@@ -117,30 +112,19 @@ Variants {
isInitialized = true isInitialized = true
} }
Component.onDestruction: {
weProc.stop()
}
onSourceChanged: { onSourceChanged: {
const isWE = source.startsWith("we:")
const isColor = source.startsWith("#") const isColor = source.startsWith("#")
if (isWE) { if (!source) {
setWallpaperImmediate("")
} else if (isColor) {
setWallpaperImmediate("") setWallpaperImmediate("")
weProc.start(source.substring(3))
} else { } else {
weProc.stop() if (!isInitialized || !currentWallpaper.source) {
if (!source) { setWallpaperImmediate(source.startsWith("file://") ? source : "file://" + source)
setWallpaperImmediate("") isInitialized = true
} else if (isColor) {
setWallpaperImmediate("")
} else { } else {
if (!isInitialized || !currentWallpaper.source) { changeWallpaper(source.startsWith("file://") ? source : "file://" + source)
setWallpaperImmediate(source.startsWith("file://") ? source : "file://" + source)
isInitialized = true
} else {
changeWallpaper(source.startsWith("file://") ? source : "file://" + source)
}
} }
} }
} }

View File

@@ -1,63 +0,0 @@
import QtCore
import QtQuick
import Quickshell.Io
import Quickshell
import qs.Common
Item {
id: root
property string monitor: ""
property string sceneId: ""
property string pendingSceneId: ""
Process {
id: weProcess
running: false
command: []
}
Process {
id: killer
running: false
command: []
onExited: (code) => {
if (pendingSceneId !== "") {
const cacheHome = StandardPaths.writableLocation(StandardPaths.GenericCacheLocation).toString()
const baseDir = Paths.strip(cacheHome)
const outDir = baseDir + "/DankMaterialShell/we_screenshots"
const outPath = outDir + "/" + pendingSceneId + ".jpg"
Quickshell.execDetached(["mkdir", "-p", outDir])
weProcess.command = [
"linux-wallpaperengine",
"--screen-root", monitor,
"--screenshot", outPath,
"--bg", pendingSceneId,
"--silent"
]
weProcess.running = true
sceneId = pendingSceneId
pendingSceneId = ""
}
}
}
function start(newSceneId) {
if (sceneId === newSceneId && weProcess.running) {
return
}
pendingSceneId = newSceneId
stop()
}
function stop() {
if (weProcess.running) {
weProcess.running = false
}
killer.command = [
"pkill", "-f",
"linux-wallpaperengine --screen-root " + monitor
]
killer.running = true
}
}

View File

@@ -123,7 +123,7 @@ Singleton {
var settings = SessionData.getMonitorCyclingSettings(screenName) var settings = SessionData.getMonitorCyclingSettings(screenName)
var wallpaper = SessionData.getMonitorWallpaper(screenName) var wallpaper = SessionData.getMonitorWallpaper(screenName)
if (settings.enabled && wallpaper && !wallpaper.startsWith("#") && !wallpaper.startsWith("we:")) { if (settings.enabled && wallpaper && !wallpaper.startsWith("#")) {
startMonitorCycling(screenName, settings) startMonitorCycling(screenName, settings)
} else { } else {
stopMonitorCycling(screenName) stopMonitorCycling(screenName)
@@ -330,7 +330,7 @@ Singleton {
var settings = SessionData.getMonitorCyclingSettings(screenName) var settings = SessionData.getMonitorCyclingSettings(screenName)
var wallpaper = SessionData.getMonitorWallpaper(screenName) var wallpaper = SessionData.getMonitorWallpaper(screenName)
if (settings.enabled && settings.mode === "time" && wallpaper && !wallpaper.startsWith("#") && !wallpaper.startsWith("we:")) { if (settings.enabled && settings.mode === "time" && wallpaper && !wallpaper.startsWith("#")) {
var lastCheck = monitorLastTimeChecks[screenName] || "" var lastCheck = monitorLastTimeChecks[screenName] || ""
if (currentTime === settings.time && currentTime !== lastCheck) { if (currentTime === settings.time && currentTime !== lastCheck) {

View File

@@ -38,7 +38,7 @@
{ {
"term": "24-hour format", "term": "24-hour format",
"context": "24-hour format", "context": "24-hour format",
"reference": "Modules/Settings/PersonalizationTab.qml:963", "reference": "Modules/Settings/PersonalizationTab.qml:946",
"comment": "" "comment": ""
}, },
{ {
@@ -152,7 +152,7 @@
{ {
"term": "Animation Speed", "term": "Animation Speed",
"context": "Animation Speed", "context": "Animation Speed",
"reference": "Modules/Settings/PersonalizationTab.qml:1185", "reference": "Modules/Settings/PersonalizationTab.qml:1168",
"comment": "" "comment": ""
}, },
{ {
@@ -350,7 +350,7 @@
{ {
"term": "Automatic Cycling", "term": "Automatic Cycling",
"context": "Automatic Cycling", "context": "Automatic Cycling",
"reference": "Modules/Settings/PersonalizationTab.qml:716", "reference": "Modules/Settings/PersonalizationTab.qml:699",
"comment": "" "comment": ""
}, },
{ {
@@ -362,7 +362,7 @@
{ {
"term": "Automatically cycle through wallpapers in the same folder", "term": "Automatically cycle through wallpapers in the same folder",
"context": "Automatically cycle through wallpapers in the same folder", "context": "Automatically cycle through wallpapers in the same folder",
"reference": "Modules/Settings/PersonalizationTab.qml:723", "reference": "Modules/Settings/PersonalizationTab.qml:706",
"comment": "" "comment": ""
}, },
{ {
@@ -380,7 +380,7 @@
{ {
"term": "Automatically extract colors from wallpaper", "term": "Automatically extract colors from wallpaper",
"context": "Automatically extract colors from wallpaper", "context": "Automatically extract colors from wallpaper",
"reference": "Modules/Settings/PersonalizationTab.qml:1389", "reference": "Modules/Settings/PersonalizationTab.qml:1372",
"comment": "" "comment": ""
}, },
{ {
@@ -428,7 +428,7 @@
{ {
"term": "Balanced palette with focused accents (default).", "term": "Balanced palette with focused accents (default).",
"context": "Balanced palette with focused accents (default).", "context": "Balanced palette with focused accents (default).",
"reference": "Common/Theme.qml:215", "reference": "Common/Theme.qml:201",
"comment": "" "comment": ""
}, },
{ {
@@ -470,19 +470,19 @@
{ {
"term": "Blur Layer", "term": "Blur Layer",
"context": "Blur Layer", "context": "Blur Layer",
"reference": "Modules/Settings/PersonalizationTab.qml:1072", "reference": "Modules/Settings/PersonalizationTab.qml:1055",
"comment": "" "comment": ""
}, },
{ {
"term": "Blur on Overview", "term": "Blur on Overview",
"context": "Blur on Overview", "context": "Blur on Overview",
"reference": "Modules/Settings/PersonalizationTab.qml:483", "reference": "Modules/Settings/PersonalizationTab.qml:466",
"comment": "" "comment": ""
}, },
{ {
"term": "Blur wallpaper when niri overview is open", "term": "Blur wallpaper when niri overview is open",
"context": "Blur wallpaper when niri overview is open", "context": "Blur wallpaper when niri overview is open",
"reference": "Modules/Settings/PersonalizationTab.qml:490", "reference": "Modules/Settings/PersonalizationTab.qml:473",
"comment": "" "comment": ""
}, },
{ {
@@ -704,7 +704,7 @@
{ {
"term": "Colorful mix of bright contrasting accents.", "term": "Colorful mix of bright contrasting accents.",
"context": "Colorful mix of bright contrasting accents.", "context": "Colorful mix of bright contrasting accents.",
"reference": "Common/Theme.qml:239", "reference": "Common/Theme.qml:225",
"comment": "" "comment": ""
}, },
{ {
@@ -944,7 +944,7 @@
{ {
"term": "DEMO MODE - Click anywhere to exit", "term": "DEMO MODE - Click anywhere to exit",
"context": "DEMO MODE - Click anywhere to exit", "context": "DEMO MODE - Click anywhere to exit",
"reference": "Modules/Lock/LockScreenContent.qml:751", "reference": "Modules/Lock/LockScreenContent.qml:745",
"comment": "" "comment": ""
}, },
{ {
@@ -968,7 +968,7 @@
{ {
"term": "Daily at:", "term": "Daily at:",
"context": "Daily at:", "context": "Daily at:",
"reference": "Modules/Settings/PersonalizationTab.qml:888", "reference": "Modules/Settings/PersonalizationTab.qml:871",
"comment": "" "comment": ""
}, },
{ {
@@ -1040,7 +1040,7 @@
{ {
"term": "Derives colors that closely match the underlying image.", "term": "Derives colors that closely match the underlying image.",
"context": "Derives colors that closely match the underlying image.", "context": "Derives colors that closely match the underlying image.",
"reference": "Common/Theme.qml:227", "reference": "Common/Theme.qml:213",
"comment": "" "comment": ""
}, },
{ {
@@ -1142,7 +1142,7 @@
{ {
"term": "Diverse palette spanning the full spectrum.", "term": "Diverse palette spanning the full spectrum.",
"context": "Diverse palette spanning the full spectrum.", "context": "Diverse palette spanning the full spectrum.",
"reference": "Common/Theme.qml:251", "reference": "Common/Theme.qml:237",
"comment": "" "comment": ""
}, },
{ {
@@ -1190,13 +1190,13 @@
{ {
"term": "Duration", "term": "Duration",
"context": "Duration", "context": "Duration",
"reference": "Modules/Settings/PersonalizationTab.qml:1238", "reference": "Modules/Settings/PersonalizationTab.qml:1221",
"comment": "" "comment": ""
}, },
{ {
"term": "Dynamic Theming", "term": "Dynamic Theming",
"context": "Dynamic Theming", "context": "Dynamic Theming",
"reference": "Modules/Settings/PersonalizationTab.qml:1382", "reference": "Modules/Settings/PersonalizationTab.qml:1365",
"comment": "" "comment": ""
}, },
{ {
@@ -1226,7 +1226,7 @@
{ {
"term": "Enable System Sounds", "term": "Enable System Sounds",
"context": "Enable System Sounds", "context": "Enable System Sounds",
"reference": "Modules/Settings/PersonalizationTab.qml:1538", "reference": "Modules/Settings/PersonalizationTab.qml:1521",
"comment": "" "comment": ""
}, },
{ {
@@ -1244,7 +1244,7 @@
{ {
"term": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.", "term": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.",
"context": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.", "context": "Enable compositor-targetable blur layer (namespace: dms:blurwallpaper). Requires manual niri configuration.",
"reference": "Modules/Settings/PersonalizationTab.qml:1079", "reference": "Modules/Settings/PersonalizationTab.qml:1062",
"comment": "" "comment": ""
}, },
{ {
@@ -1334,7 +1334,7 @@
{ {
"term": "Execute templates from ~/.config/matugen/config.toml", "term": "Execute templates from ~/.config/matugen/config.toml",
"context": "Execute templates from ~/.config/matugen/config.toml", "context": "Execute templates from ~/.config/matugen/config.toml",
"reference": "Modules/Settings/PersonalizationTab.qml:1475", "reference": "Modules/Settings/PersonalizationTab.qml:1458",
"comment": "" "comment": ""
}, },
{ {
@@ -1622,13 +1622,13 @@
{ {
"term": "High-contrast palette for strong visual distinction.", "term": "High-contrast palette for strong visual distinction.",
"context": "High-contrast palette for strong visual distinction.", "context": "High-contrast palette for strong visual distinction.",
"reference": "Common/Theme.qml:223", "reference": "Common/Theme.qml:209",
"comment": "" "comment": ""
}, },
{ {
"term": "High-fidelity palette that preserves source hues.", "term": "High-fidelity palette that preserves source hues.",
"context": "High-fidelity palette that preserves source hues.", "context": "High-fidelity palette that preserves source hues.",
"reference": "Common/Theme.qml:235", "reference": "Common/Theme.qml:221",
"comment": "" "comment": ""
}, },
{ {
@@ -1640,7 +1640,7 @@
{ {
"term": "How often to change wallpaper", "term": "How often to change wallpaper",
"context": "How often to change wallpaper", "context": "How often to change wallpaper",
"reference": "Modules/Settings/PersonalizationTab.qml:834", "reference": "Modules/Settings/PersonalizationTab.qml:817",
"comment": "" "comment": ""
}, },
{ {
@@ -1694,7 +1694,7 @@
{ {
"term": "Include Transitions", "term": "Include Transitions",
"context": "Include Transitions", "context": "Include Transitions",
"reference": "Modules/Settings/PersonalizationTab.qml:1000", "reference": "Modules/Settings/PersonalizationTab.qml:983",
"comment": "" "comment": ""
}, },
{ {
@@ -1736,7 +1736,7 @@
{ {
"term": "Interval", "term": "Interval",
"context": "Interval", "context": "Interval",
"reference": "Modules/Settings/PersonalizationTab.qml:833", "reference": "Modules/Settings/PersonalizationTab.qml:816",
"comment": "" "comment": ""
}, },
{ {
@@ -1838,7 +1838,7 @@
{ {
"term": "Light Mode", "term": "Light Mode",
"context": "Light Mode", "context": "Light Mode",
"reference": "Modules/Settings/PersonalizationTab.qml:1129", "reference": "Modules/Settings/PersonalizationTab.qml:1112",
"comment": "" "comment": ""
}, },
{ {
@@ -1850,7 +1850,7 @@
{ {
"term": "Lively palette with saturated accents.", "term": "Lively palette with saturated accents.",
"context": "Lively palette with saturated accents.", "context": "Lively palette with saturated accents.",
"reference": "Common/Theme.qml:219", "reference": "Common/Theme.qml:205",
"comment": "" "comment": ""
}, },
{ {
@@ -1940,19 +1940,19 @@
{ {
"term": "Matugen Palette", "term": "Matugen Palette",
"context": "Matugen Palette", "context": "Matugen Palette",
"reference": "Modules/Settings/PersonalizationTab.qml:1414, Modules/Settings/ThemeColorsTab.qml:629", "reference": "Modules/Settings/PersonalizationTab.qml:1397, Modules/Settings/ThemeColorsTab.qml:629",
"comment": "" "comment": ""
}, },
{ {
"term": "Matugen Settings", "term": "Matugen Settings",
"context": "Matugen Settings", "context": "Matugen Settings",
"reference": "Modules/Settings/PersonalizationTab.qml:1357", "reference": "Modules/Settings/PersonalizationTab.qml:1340",
"comment": "" "comment": ""
}, },
{ {
"term": "Matugen Target Monitor", "term": "Matugen Target Monitor",
"context": "Matugen Target Monitor", "context": "Matugen Target Monitor",
"reference": "Modules/Settings/PersonalizationTab.qml:657", "reference": "Modules/Settings/PersonalizationTab.qml:640",
"comment": "" "comment": ""
}, },
{ {
@@ -2006,7 +2006,7 @@
{ {
"term": "Minimal palette built around a single hue.", "term": "Minimal palette built around a single hue.",
"context": "Minimal palette built around a single hue.", "context": "Minimal palette built around a single hue.",
"reference": "Common/Theme.qml:243", "reference": "Common/Theme.qml:229",
"comment": "" "comment": ""
}, },
{ {
@@ -2018,19 +2018,19 @@
{ {
"term": "Mode:", "term": "Mode:",
"context": "Mode:", "context": "Mode:",
"reference": "Modules/Settings/PersonalizationTab.qml:765", "reference": "Modules/Settings/PersonalizationTab.qml:748",
"comment": "" "comment": ""
}, },
{ {
"term": "Monitor Selection:", "term": "Monitor Selection:",
"context": "Monitor Selection:", "context": "Monitor Selection:",
"reference": "Modules/Settings/PersonalizationTab.qml:629", "reference": "Modules/Settings/PersonalizationTab.qml:612",
"comment": "" "comment": ""
}, },
{ {
"term": "Monitor whose wallpaper drives dynamic theming colors", "term": "Monitor whose wallpaper drives dynamic theming colors",
"context": "Monitor whose wallpaper drives dynamic theming colors", "context": "Monitor whose wallpaper drives dynamic theming colors",
"reference": "Modules/Settings/PersonalizationTab.qml:658", "reference": "Modules/Settings/PersonalizationTab.qml:641",
"comment": "" "comment": ""
}, },
{ {
@@ -2048,7 +2048,7 @@
{ {
"term": "Muted palette with subdued, calming tones.", "term": "Muted palette with subdued, calming tones.",
"context": "Muted palette with subdued, calming tones.", "context": "Muted palette with subdued, calming tones.",
"reference": "Common/Theme.qml:247", "reference": "Common/Theme.qml:233",
"comment": "" "comment": ""
}, },
{ {
@@ -2120,7 +2120,7 @@
{ {
"term": "New Notification", "term": "New Notification",
"context": "New Notification", "context": "New Notification",
"reference": "Modules/Settings/PersonalizationTab.qml:1652", "reference": "Modules/Settings/PersonalizationTab.qml:1635",
"comment": "" "comment": ""
}, },
{ {
@@ -2390,13 +2390,13 @@
{ {
"term": "Per-Mode Wallpapers", "term": "Per-Mode Wallpapers",
"context": "Per-Mode Wallpapers", "context": "Per-Mode Wallpapers",
"reference": "Modules/Settings/PersonalizationTab.qml:540", "reference": "Modules/Settings/PersonalizationTab.qml:523",
"comment": "" "comment": ""
}, },
{ {
"term": "Per-Monitor Wallpapers", "term": "Per-Monitor Wallpapers",
"context": "Per-Monitor Wallpapers", "context": "Per-Monitor Wallpapers",
"reference": "Modules/Settings/PersonalizationTab.qml:597", "reference": "Modules/Settings/PersonalizationTab.qml:580",
"comment": "" "comment": ""
}, },
{ {
@@ -2444,31 +2444,31 @@
{ {
"term": "Play sound when new notification arrives", "term": "Play sound when new notification arrives",
"context": "Play sound when new notification arrives", "context": "Play sound when new notification arrives",
"reference": "Modules/Settings/PersonalizationTab.qml:1658", "reference": "Modules/Settings/PersonalizationTab.qml:1641",
"comment": "" "comment": ""
}, },
{ {
"term": "Play sound when power cable is connected", "term": "Play sound when power cable is connected",
"context": "Play sound when power cable is connected", "context": "Play sound when power cable is connected",
"reference": "Modules/Settings/PersonalizationTab.qml:1727", "reference": "Modules/Settings/PersonalizationTab.qml:1710",
"comment": "" "comment": ""
}, },
{ {
"term": "Play sound when volume is adjusted", "term": "Play sound when volume is adjusted",
"context": "Play sound when volume is adjusted", "context": "Play sound when volume is adjusted",
"reference": "Modules/Settings/PersonalizationTab.qml:1692", "reference": "Modules/Settings/PersonalizationTab.qml:1675",
"comment": "" "comment": ""
}, },
{ {
"term": "Play sounds for system events", "term": "Play sounds for system events",
"context": "Play sounds for system events", "context": "Play sounds for system events",
"reference": "Modules/Settings/PersonalizationTab.qml:1545", "reference": "Modules/Settings/PersonalizationTab.qml:1528",
"comment": "" "comment": ""
}, },
{ {
"term": "Plugged In", "term": "Plugged In",
"context": "Plugged In", "context": "Plugged In",
"reference": "Modules/Settings/PersonalizationTab.qml:1721", "reference": "Modules/Settings/PersonalizationTab.qml:1704",
"comment": "" "comment": ""
}, },
{ {
@@ -2690,7 +2690,7 @@
{ {
"term": "Run User Templates", "term": "Run User Templates",
"context": "Run User Templates", "context": "Run User Templates",
"reference": "Modules/Settings/PersonalizationTab.qml:1468", "reference": "Modules/Settings/PersonalizationTab.qml:1451",
"comment": "" "comment": ""
}, },
{ {
@@ -2804,7 +2804,7 @@
{ {
"term": "Select a preset or drag the slider to customize", "term": "Select a preset or drag the slider to customize",
"context": "Select a preset or drag the slider to customize", "context": "Select a preset or drag the slider to customize",
"reference": "Modules/Settings/PersonalizationTab.qml:1319", "reference": "Modules/Settings/PersonalizationTab.qml:1302",
"comment": "" "comment": ""
}, },
{ {
@@ -2828,7 +2828,7 @@
{ {
"term": "Select monitor to configure wallpaper", "term": "Select monitor to configure wallpaper",
"context": "Select monitor to configure wallpaper", "context": "Select monitor to configure wallpaper",
"reference": "Modules/Settings/PersonalizationTab.qml:639", "reference": "Modules/Settings/PersonalizationTab.qml:622",
"comment": "" "comment": ""
}, },
{ {
@@ -2846,19 +2846,19 @@
{ {
"term": "Select system sound theme", "term": "Select system sound theme",
"context": "Select system sound theme", "context": "Select system sound theme",
"reference": "Modules/Settings/PersonalizationTab.qml:1616", "reference": "Modules/Settings/PersonalizationTab.qml:1599",
"comment": "" "comment": ""
}, },
{ {
"term": "Select the palette algorithm used for wallpaper-based colors", "term": "Select the palette algorithm used for wallpaper-based colors",
"context": "Select the palette algorithm used for wallpaper-based colors", "context": "Select the palette algorithm used for wallpaper-based colors",
"reference": "Modules/Settings/PersonalizationTab.qml:1415, Modules/Settings/ThemeColorsTab.qml:630", "reference": "Modules/Settings/PersonalizationTab.qml:1398, Modules/Settings/ThemeColorsTab.qml:630",
"comment": "" "comment": ""
}, },
{ {
"term": "Select which transitions to include in randomization", "term": "Select which transitions to include in randomization",
"context": "Select which transitions to include in randomization", "context": "Select which transitions to include in randomization",
"reference": "Modules/Settings/PersonalizationTab.qml:1007", "reference": "Modules/Settings/PersonalizationTab.qml:990",
"comment": "" "comment": ""
}, },
{ {
@@ -2876,13 +2876,13 @@
{ {
"term": "Set different wallpapers for each connected monitor", "term": "Set different wallpapers for each connected monitor",
"context": "Set different wallpapers for each connected monitor", "context": "Set different wallpapers for each connected monitor",
"reference": "Modules/Settings/PersonalizationTab.qml:604", "reference": "Modules/Settings/PersonalizationTab.qml:587",
"comment": "" "comment": ""
}, },
{ {
"term": "Set different wallpapers for light and dark mode", "term": "Set different wallpapers for light and dark mode",
"context": "Set different wallpapers for light and dark mode", "context": "Set different wallpapers for light and dark mode",
"reference": "Modules/Settings/PersonalizationTab.qml:547", "reference": "Modules/Settings/PersonalizationTab.qml:530",
"comment": "" "comment": ""
}, },
{ {
@@ -3044,7 +3044,7 @@
{ {
"term": "Sound Theme", "term": "Sound Theme",
"context": "Sound Theme", "context": "Sound Theme",
"reference": "Modules/Settings/PersonalizationTab.qml:1615", "reference": "Modules/Settings/PersonalizationTab.qml:1598",
"comment": "" "comment": ""
}, },
{ {
@@ -3122,7 +3122,7 @@
{ {
"term": "Switch User", "term": "Switch User",
"context": "Switch User", "context": "Switch User",
"reference": "Modules/Greetd/GreeterContent.qml:647", "reference": "Modules/Greetd/GreeterContent.qml:641",
"comment": "" "comment": ""
}, },
{ {
@@ -3350,7 +3350,7 @@
{ {
"term": "Transition Effect", "term": "Transition Effect",
"context": "Transition Effect", "context": "Transition Effect",
"reference": "Modules/Settings/PersonalizationTab.qml:980", "reference": "Modules/Settings/PersonalizationTab.qml:963",
"comment": "" "comment": ""
}, },
{ {
@@ -3446,7 +3446,7 @@
{ {
"term": "Use System Theme", "term": "Use System Theme",
"context": "Use System Theme", "context": "Use System Theme",
"reference": "Modules/Settings/PersonalizationTab.qml:1587", "reference": "Modules/Settings/PersonalizationTab.qml:1570",
"comment": "" "comment": ""
}, },
{ {
@@ -3470,13 +3470,13 @@
{ {
"term": "Use light theme instead of dark theme", "term": "Use light theme instead of dark theme",
"context": "Use light theme instead of dark theme", "context": "Use light theme instead of dark theme",
"reference": "Modules/Settings/PersonalizationTab.qml:1136", "reference": "Modules/Settings/PersonalizationTab.qml:1119",
"comment": "" "comment": ""
}, },
{ {
"term": "Use sound theme from system settings", "term": "Use sound theme from system settings",
"context": "Use sound theme from system settings", "context": "Use sound theme from system settings",
"reference": "Modules/Settings/PersonalizationTab.qml:1593", "reference": "Modules/Settings/PersonalizationTab.qml:1576",
"comment": "" "comment": ""
}, },
{ {
@@ -3530,7 +3530,7 @@
{ {
"term": "Vibrant palette with playful saturation.", "term": "Vibrant palette with playful saturation.",
"context": "Vibrant palette with playful saturation.", "context": "Vibrant palette with playful saturation.",
"reference": "Common/Theme.qml:231", "reference": "Common/Theme.qml:217",
"comment": "" "comment": ""
}, },
{ {
@@ -3548,13 +3548,13 @@
{ {
"term": "Visual effect used when wallpaper changes", "term": "Visual effect used when wallpaper changes",
"context": "Visual effect used when wallpaper changes", "context": "Visual effect used when wallpaper changes",
"reference": "Modules/Settings/PersonalizationTab.qml:981", "reference": "Modules/Settings/PersonalizationTab.qml:964",
"comment": "" "comment": ""
}, },
{ {
"term": "Volume Changed", "term": "Volume Changed",
"context": "Volume Changed", "context": "Volume Changed",
"reference": "Modules/Settings/PersonalizationTab.qml:1686", "reference": "Modules/Settings/PersonalizationTab.qml:1669",
"comment": "" "comment": ""
}, },
{ {
@@ -3572,7 +3572,7 @@
{ {
"term": "Wallpaper Monitor", "term": "Wallpaper Monitor",
"context": "Wallpaper Monitor", "context": "Wallpaper Monitor",
"reference": "Modules/Settings/PersonalizationTab.qml:638", "reference": "Modules/Settings/PersonalizationTab.qml:621",
"comment": "" "comment": ""
}, },
{ {
@@ -3722,7 +3722,7 @@
{ {
"term": "matugen not detected - dynamic theming unavailable", "term": "matugen not detected - dynamic theming unavailable",
"context": "matugen not detected - dynamic theming unavailable", "context": "matugen not detected - dynamic theming unavailable",
"reference": "Modules/Settings/PersonalizationTab.qml:1495", "reference": "Modules/Settings/PersonalizationTab.qml:1478",
"comment": "" "comment": ""
}, },
{ {