summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2025-01-07 18:53:10 -0600
committerJeff Carr <[email protected]>2025-01-07 18:53:10 -0600
commit51e34a86ff471e4e4a9f1641da6419cfc3066671 (patch)
tree344879aedf367f39d4dffe5bd7ca48a6e603ee33
parenta8088938d255c068b1c465ad19cdaf8e9b07c56c (diff)
move xterm here
-rw-r--r--flags.go4
-rw-r--r--newRepo.go16
-rw-r--r--scan.go4
-rw-r--r--watchdog.go2
-rw-r--r--xterm.go45
5 files changed, 58 insertions, 13 deletions
diff --git a/flags.go b/flags.go
index f4893e5..b71fbe4 100644
--- a/flags.go
+++ b/flags.go
@@ -9,12 +9,12 @@ import (
)
var REPO *log.LogFlag
-var REPOWARN *log.LogFlag
+var WARN *log.LogFlag
func init() {
full := "go.wit.com/lib/gui/repo"
short := "repo"
REPO = log.NewFlag("REPO", false, full, short, "general repo things")
- REPOWARN = log.NewFlag("REPOWARN", true, full, short, "repo warnings")
+ WARN = log.NewFlag("REPOWARN", true, full, short, "repo warnings")
}
diff --git a/newRepo.go b/newRepo.go
index 7f0a953..d0e5588 100644
--- a/newRepo.go
+++ b/newRepo.go
@@ -103,10 +103,10 @@ func (r *RepoList) AddRepo(pb *gitpb.Repo) (*RepoRow, error) {
newRepo.endBox.NewButton("show diff", func() {
r.reposbox.Disable()
- log.Log(REPOWARN, "show diff currentName =", newRepo.currentName.String())
- log.Log(REPOWARN, "show diff masterVersion =", newRepo.masterVersion.String())
+ log.Log(WARN, "show diff currentName =", newRepo.currentName.String())
+ log.Log(WARN, "show diff masterVersion =", newRepo.masterVersion.String())
// newRepo.Status.XtermNohup([]string{"git diff"})
- newRepo.Status.Xterm("git diff; bash")
+ newRepo.Xterm("git diff; bash")
r.reposbox.Enable()
})
@@ -117,17 +117,17 @@ func (r *RepoList) AddRepo(pb *gitpb.Repo) (*RepoRow, error) {
return
}
if !pb.IsUserBranch() {
- log.Log(REPOWARN, "can not commit on non user branch")
+ log.Log(WARN, "can not commit on non user branch")
return
}
r.reposbox.Disable()
// restore anything staged so everything can be reviewed
pb.RunRealtimeVerbose([]string{"git", "restore", "--staged", "."})
- newRepo.Status.XtermWait("git diff")
- newRepo.Status.XtermWait("git add --all")
- newRepo.Status.XtermWait("git commit -a")
- newRepo.Status.XtermWait("git push")
+ newRepo.XtermWait("git diff")
+ newRepo.XtermWait("git add --all")
+ newRepo.XtermWait("git commit -a")
+ newRepo.XtermWait("git push")
if newRepo.Status.CheckDirty() {
// commit was not done, restore diff
pb.RunRealtimeVerbose([]string{"git", "restore", "--staged", "."})
diff --git a/scan.go b/scan.go
index c68828d..f13f83a 100644
--- a/scan.go
+++ b/scan.go
@@ -47,12 +47,12 @@ func (r *RepoRow) UpdatePb(newpb *gitpb.Repo) {
func (r *RepoRow) NewScan() int {
var changed int = 0
if r.Status == nil {
- log.Log(REPOWARN, "repo.Status = nil. not initialized for some reason")
+ log.Log(WARN, "repo.Status = nil. not initialized for some reason")
return changed
}
pb := r.pb
if pb == nil {
- log.Log(REPOWARN, "NewScan() pb = nil")
+ log.Log(WARN, "NewScan() pb = nil")
return changed
}
diff --git a/watchdog.go b/watchdog.go
index a14b33b..87a2141 100644
--- a/watchdog.go
+++ b/watchdog.go
@@ -34,7 +34,7 @@ func (r *RepoList) Watchdog(f func()) {
}
// print every 'delay' seconds
if i%delay == 0 {
- log.Log(REPOWARN, "Not auto scanning", i, "REPO_AUTO_SCAN =", os.Getenv("REPO_AUTO_SCAN"))
+ log.Log(WARN, "Not auto scanning", i, "REPO_AUTO_SCAN =", os.Getenv("REPO_AUTO_SCAN"))
}
return
}
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)
+ }
+}