mirror of
https://github.com/AvengeMedia/DankMaterialShell.git
synced 2026-04-12 08:42:13 -04:00
@@ -11,6 +11,7 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
"sync"
|
"sync"
|
||||||
"syscall"
|
"syscall"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/dank16"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/dank16"
|
||||||
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
|
"github.com/AvengeMedia/DankMaterialShell/core/internal/log"
|
||||||
@@ -260,6 +261,11 @@ func buildOnce(opts *Options) error {
|
|||||||
syncAccentColor(primaryDark)
|
syncAccentColor(primaryDark)
|
||||||
}
|
}
|
||||||
refreshGTK(opts.Mode)
|
refreshGTK(opts.Mode)
|
||||||
|
refreshGTK4()
|
||||||
|
}
|
||||||
|
|
||||||
|
if !opts.ShouldSkipTemplate("qt6ct") && appExists(opts.AppChecker, []string{"qt6ct"}, nil) {
|
||||||
|
refreshQt6ct()
|
||||||
}
|
}
|
||||||
|
|
||||||
signalTerminals()
|
signalTerminals()
|
||||||
@@ -650,6 +656,33 @@ func refreshGTK(mode ColorMode) {
|
|||||||
exec.Command("gsettings", "set", "org.gnome.desktop.interface", "gtk-theme", mode.GTKTheme()).Run()
|
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() {
|
func signalTerminals() {
|
||||||
signalByName("kitty", syscall.SIGUSR1)
|
signalByName("kitty", syscall.SIGUSR1)
|
||||||
signalByName("ghostty", syscall.SIGUSR2)
|
signalByName("ghostty", syscall.SIGUSR2)
|
||||||
|
|||||||
@@ -124,7 +124,7 @@ Rectangle {
|
|||||||
font.family: Theme.fontFamily
|
font.family: Theme.fontFamily
|
||||||
color: Theme.surfaceText
|
color: Theme.surfaceText
|
||||||
elide: Text.ElideRight
|
elide: Text.ElideRight
|
||||||
horizontalAlignment: Text.AlignHCenter
|
horizontalAlignment: Text.AlignLeft
|
||||||
verticalAlignment: Text.AlignVCenter
|
verticalAlignment: Text.AlignVCenter
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user