diff options
Diffstat (limited to 'xterm.go')
| -rw-r--r-- | xterm.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/xterm.go b/xterm.go new file mode 100644 index 0000000..9722209 --- /dev/null +++ b/xterm.go @@ -0,0 +1,45 @@ +package repolist + +import ( + "os" + "os/exec" + "strings" + + "go.wit.com/lib/gui/shell" + "go.wit.com/log" +) + +func (rs *RepoRow) XtermNohup(cmdline string) { + p := rs.pb.GetFullPath() + shell.XtermCmd(p, []string{cmdline}) +} +func (rs *RepoRow) Xterm(cmdline string) { + p := rs.pb.GetFullPath() + shell.XtermCmd(p, []string{cmdline}) +} +func (rs *RepoRow) XtermWait(cmdline string) { + p := rs.pb.GetFullPath() + shell.XtermCmdWait(p, []string{cmdline}) +} + +func (rs *RepoRow) XtermBash(args []string) { + var argsX = []string{"-geometry", "120x40"} + tmp := strings.Join(args, " ") + ";bash" + argsX = append(argsX, "-e", "bash", "-c", tmp) + 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.pb.GetFullPath() + cmd.Dir = path + if err := cmd.Run(); err != nil { + log.Log(WARN, "xterm.Run() failed") + log.Log(WARN, "path =", path) + log.Log(WARN, "cmd = xterm", argsX) + } else { + log.Log(WARN, "xterm.Run() worked") + log.Log(WARN, "path =", path) + log.Log(WARN, "cmd = xterm", argsX) + } +} |
