1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-29 16:02:51 -05:00

matugen: make signalByName helper not use exec

This commit is contained in:
bbedward
2025-12-07 20:10:31 -05:00
parent 18ca571944
commit cffb16d7f7

View File

@@ -549,27 +549,31 @@ func refreshGTK(configDir, mode string) {
} }
func signalTerminals() { func signalTerminals() {
signalProcess("kitty", syscall.SIGUSR1) signalByName("kitty", syscall.SIGUSR1)
signalProcess("ghostty", syscall.SIGUSR2) signalByName("ghostty", syscall.SIGUSR2)
signalProcess(".kitty-wrapped", syscall.SIGUSR1) signalByName(".kitty-wrapped", syscall.SIGUSR1)
signalProcess(".ghostty-wrappe", syscall.SIGUSR2) signalByName(".ghostty-wrappe", syscall.SIGUSR2)
} }
func signalProcess(name string, sig syscall.Signal) { func signalByName(name string, sig syscall.Signal) {
cmd := exec.Command("pgrep", "-x", name) entries, err := os.ReadDir("/proc")
output, err := cmd.Output()
if err != nil { if err != nil {
return return
} }
pids := strings.Fields(string(output)) for _, entry := range entries {
for _, pidStr := range pids { pid, err := strconv.Atoi(entry.Name())
pid, err := strconv.Atoi(pidStr)
if err != nil { if err != nil {
continue continue
} }
comm, err := os.ReadFile(filepath.Join("/proc", entry.Name(), "comm"))
if err != nil {
continue
}
if strings.TrimSpace(string(comm)) == name {
syscall.Kill(pid, sig) syscall.Kill(pid, sig)
} }
} }
}
func syncColorScheme(mode string) { func syncColorScheme(mode string) {
scheme := "prefer-dark" scheme := "prefer-dark"