46 lines
1.1 KiB
Go
46 lines
1.1 KiB
Go
|
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)
|
||
|
}
|
||
|
}
|