1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-28 15:32:50 -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,25 +549,29 @@ 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
} }
syscall.Kill(pid, sig) comm, err := os.ReadFile(filepath.Join("/proc", entry.Name(), "comm"))
if err != nil {
continue
}
if strings.TrimSpace(string(comm)) == name {
syscall.Kill(pid, sig)
}
} }
} }