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:
@@ -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)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user