diff options
| author | Jeff Carr <[email protected]> | 2025-01-07 18:53:10 -0600 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-01-07 18:53:10 -0600 | 
| commit | 51e34a86ff471e4e4a9f1641da6419cfc3066671 (patch) | |
| tree | 344879aedf367f39d4dffe5bd7ca48a6e603ee33 | |
| parent | a8088938d255c068b1c465ad19cdaf8e9b07c56c (diff) | |
move xterm here
| -rw-r--r-- | flags.go | 4 | ||||
| -rw-r--r-- | newRepo.go | 16 | ||||
| -rw-r--r-- | scan.go | 4 | ||||
| -rw-r--r-- | watchdog.go | 2 | ||||
| -rw-r--r-- | xterm.go | 45 | 
5 files changed, 58 insertions, 13 deletions
@@ -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")  } @@ -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", "."}) @@ -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) +	} +}  | 
