From b4a571fb70905d69161b204784fff77517ee5022 Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Mon, 12 Feb 2024 15:27:40 -0600 Subject: add option to spawn xterm. used for this commit --- unix.go | 60 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 60 insertions(+) diff --git a/unix.go b/unix.go index 0b2df4b..8af9871 100644 --- a/unix.go +++ b/unix.go @@ -321,3 +321,63 @@ func formatDuration(d time.Duration) string { } return result } + +func (rs *RepoStatus) XtermNohup(args []string) { + var argsX = []string{"xterm", "-geometry", "120x40"} + /* + if xtermHold.Checked() { + log.Println("hold = true") + argsXterm = append(argsXterm, "-hold") + } else { + log.Println("hold = false") + } + */ + argsX = append(argsX, "-e", "bash", "-c") + argsX = append(argsX, args...) + log.Info("xterm cmd=", argsX) + // set less to not exit on small diff's + os.Setenv("LESS", "-+F -+X -R") + cmd := exec.Command("nohup", argsX...) + path := rs.realPath.String() + cmd.Dir = path + log.Info("path =", path) + log.Info("cmd =", strings.Join(args, " ")) + if err := cmd.Run(); err != nil { + log.Info("xterm.Run() failed") + log.Info("path =", path) + log.Info("cmd =", argsX) + } else { + log.Info("xterm.Run() worked") + log.Info("path =", path) + log.Info("cmd =", argsX) + } +} + +func (rs *RepoStatus) Xterm(args []string) { + var argsX = []string{"-geometry", "120x40"} + /* + if xtermHold.Checked() { + log.Println("hold = true") + argsXterm = append(argsXterm, "-hold") + } else { + log.Println("hold = false") + } + */ + argsX = append(argsX, "-e", "bash", "-c") + argsX = append(argsX, args...) + log.Info("xterm cmd=", argsX) + // set less to not exit on small diff's + os.Setenv("LESS", "-+F -+X -R") + cmd := exec.Command("xterm", argsX...) + path := rs.realPath.String() + cmd.Dir = path + if err := cmd.Run(); err != nil { + log.Info("xterm.Run() failed") + log.Info("path =", path) + log.Info("cmd = xterm", argsX) + } else { + log.Info("xterm.Run() worked") + log.Info("path =", path) + log.Info("cmd = xterm", argsX) + } +} -- cgit v1.2.3