1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-08-01 19:18:28 -04:00

theme: prevent failed portal writes from reverting theme mode

related: #2786

port 1.5

(cherry picked from commit d82d86df5c)
This commit is contained in:
bbedward
2026-07-10 15:44:36 -04:00
committed by dms-ci[bot]
parent fce1a09790
commit fe0214d522
3 changed files with 39 additions and 29 deletions
+11 -4
View File
@@ -260,15 +260,15 @@ func Run(opts Options) error {
return buildErr
}
if opts.SyncModeWithPortal {
syncColorScheme(opts.Mode)
}
if !changed {
log.Info("No color changes detected, skipping refresh")
return ErrNoChanges
}
if opts.SyncModeWithPortal {
syncColorScheme(opts.Mode)
}
log.Info("Done")
return nil
}
@@ -1006,6 +1006,13 @@ func syncColorScheme(mode ColorMode) {
scheme = "default"
}
if cur, err := utils.GsettingsGet("org.gnome.desktop.interface", "color-scheme"); err == nil {
cur = strings.Trim(cur, "'")
if cur == scheme || (mode == ColorModeLight && cur == "prefer-light") {
return
}
}
if err := utils.GsettingsSet("org.gnome.desktop.interface", "color-scheme", scheme); err != nil {
log.Warnf("Failed to sync color-scheme: %v", err)
}