//go:build linux || darwin package notify import ( "fmt" "os/exec" ) // send prefers notify-send (Linux) and falls back to osascript (macOS). // If neither is installed the notification is dropped silently. func send(title, body string) error { if _, err := exec.LookPath("notify-send"); err == nil { return exec.Command("notify-send", "-a", "gitflow", "--", title, body).Run() } if _, err := exec.LookPath("osascript"); err == nil { script := fmt.Sprintf("display notification %q with title %q", body, title) return exec.Command("osascript", "-e", script).Run() } return nil }