返回 DeepSeek-Reasonix
sender_linux.go
根目录 / internal / notify / sender_linux.go
1 //go:build linux
2
3 package notify
4
5 import (
6 "os/exec"
7
8 "reasonix/internal/secrets"
9 )
10
11 // PlatformSender delivers notifications through the host OS.
12 type PlatformSender struct{}
13
14 // NewPlatformSender returns the best-effort sender for the current platform.
15 func NewPlatformSender() PlatformSender { return PlatformSender{} }
16
17 func (PlatformSender) Send(m Message) error {
18 cmd := exec.Command("notify-send", m.Title, m.Body)
19 cmd.Env = secrets.ProcessEnv()
20 if err := cmd.Start(); err != nil {
21 return err
22 }
23 go func() { _ = cmd.Wait() }()
24 return nil
25 }
26
26 lines GO