1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-04-05 05:12:05 -04:00

mautgen: post-hook reload GTK4 and qt6ct

fixes #1643
This commit is contained in:
bbedward
2026-02-10 15:06:44 -05:00
parent 5342647bfb
commit 2c360dc3e8
2 changed files with 34 additions and 1 deletions

View File

@@ -11,6 +11,7 @@ import (
"strings"
"sync"
"syscall"
"time"
"github.com/AvengeMedia/DankMaterialShell/core/internal/dank16"
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
@@ -260,6 +261,11 @@ func buildOnce(opts *Options) error {
syncAccentColor(primaryDark)
}
refreshGTK(opts.Mode)
refreshGTK4()
}
if !opts.ShouldSkipTemplate("qt6ct") && appExists(opts.AppChecker, []string{"qt6ct"}, nil) {
refreshQt6ct()
}
signalTerminals()
@@ -650,6 +656,33 @@ func refreshGTK(mode ColorMode) {
exec.Command("gsettings", "set", "org.gnome.desktop.interface", "gtk-theme", mode.GTKTheme()).Run()
}
func refreshGTK4() {
output, err := exec.Command("gsettings", "get", "org.gnome.desktop.interface", "color-scheme").Output()
if err != nil {
return
}
current := strings.Trim(strings.TrimSpace(string(output)), "'")
var toggle string
if current == "prefer-dark" {
toggle = "default"
} else {
toggle = "prefer-dark"
}
if err := exec.Command("gsettings", "set", "org.gnome.desktop.interface", "color-scheme", toggle).Run(); err != nil {
return
}
time.Sleep(50 * time.Millisecond)
exec.Command("gsettings", "set", "org.gnome.desktop.interface", "color-scheme", current).Run()
}
func refreshQt6ct() {
confPath := filepath.Join(utils.XDGConfigHome(), "qt6ct", "qt6ct.conf")
now := time.Now()
_ = os.Chtimes(confPath, now, now)
}
func signalTerminals() {
signalByName("kitty", syscall.SIGUSR1)
signalByName("ghostty", syscall.SIGUSR2)