star/bed/editor/suspend_linux.go

24 lines
434 B
Go
Raw Normal View History

2025-04-26 19:33:14 +08:00
//go:build linux
package editor
import "syscall"
func suspend(e *Editor) error {
if err := e.ui.Close(); err != nil {
return err
}
pid, tid := syscall.Getpid(), syscall.Gettid()
if err := syscall.Tgkill(pid, tid, syscall.SIGSTOP); err != nil {
return err
}
if err := e.ui.Init(e.uiEventCh); err != nil {
return err
}
if err := e.redraw(); err != nil {
return err
}
go e.ui.Run(defaultKeyManagers())
return nil
}