1
0
mirror of https://github.com/AvengeMedia/DankMaterialShell.git synced 2026-01-24 13: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() {
signalProcess("kitty", syscall.SIGUSR1)
signalProcess("ghostty", syscall.SIGUSR2)
signalProcess(".kitty-wrapped", syscall.SIGUSR1)
signalProcess(".ghostty-wrappe", syscall.SIGUSR2)
signalByName("kitty", syscall.SIGUSR1)
signalByName("ghostty", syscall.SIGUSR2)
signalByName(".kitty-wrapped", syscall.SIGUSR1)
signalByName(".ghostty-wrappe", syscall.SIGUSR2)
}
func signalProcess(name string, sig syscall.Signal) {
cmd := exec.Command("pgrep", "-x", name)
output, err := cmd.Output()
func signalByName(name string, sig syscall.Signal) {
entries, err := os.ReadDir("/proc")
if err != nil {
return
}
pids := strings.Fields(string(output))
for _, pidStr := range pids {
pid, err := strconv.Atoi(pidStr)
for _, entry := range entries {
pid, err := strconv.Atoi(entry.Name())
if err != nil {
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)
}
}
}