diff options
| author | Jeff Carr <[email protected]> | 2025-09-03 01:56:01 -0500 | 
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-09-03 01:56:01 -0500 | 
| commit | 86aa5fb001bb873da1a491391f12b17a1a1990a0 (patch) | |
| tree | 772cb747816a01d109d7f870389bce582eec39eb | |
| parent | 262426fb448d8bd616d1ed687f3da7e1ed2dc6a2 (diff) | |
reverse in STDOUT is no longer the defaultv0.22.59v0.22.58v0.22.57v0.22.56v0.22.55v0.22.54v0.22.53v0.22.52v0.22.51v0.22.50v0.22.49v0.22.48
| -rw-r--r-- | eventBindings.go | 14 | ||||
| -rw-r--r-- | eventBindingsStdout.go | 12 | ||||
| -rw-r--r-- | help.go | 20 | ||||
| -rw-r--r-- | stdoutShow.go | 4 | ||||
| -rw-r--r-- | structs.go | 1 | 
5 files changed, 40 insertions, 11 deletions
diff --git a/eventBindings.go b/eventBindings.go index 5e06f8b..d355156 100644 --- a/eventBindings.go +++ b/eventBindings.go @@ -58,6 +58,7 @@ func registerHandlers(g *gocui.Gui) {  	g.SetKeybinding("", 'L', gocui.ModNone, printWidgetTree)       // 'L' list all widgets in tree view  	g.SetKeybinding("", 'f', gocui.ModNone, theFind)               // 'f' shows what is under your mouse  	g.SetKeybinding("", 'd', gocui.ModNone, theLetterD)            // 'd' toggles on and off debugging buttons +	g.SetKeybinding("", 'r', gocui.ModNone, reverseStdout)         // 'r' turns scrolling of STDOUT upside down  	g.SetKeybinding("", 'q', gocui.ModNone, quit)                  // 'q' only exits gocui. plugin stays alive (?)  } @@ -184,6 +185,19 @@ func theFind(g *gocui.Gui, v *gocui.View) error {  	return nil  } +func reverseStdout(g *gocui.Gui, v *gocui.View) error { +	if me.stdout.reverse { +		me.stdout.reverse = false +		log.Info("stdout scrolling normal") +	} else { +		me.stdout.reverse = true +		log.Info("stdout scrolling is reversed. this is sometimes useful when you") +		log.Info("only need to see a few most recent lines and have the STDOUT window") +		log.Info("take up minimal realestate at the bottom of your window") +	} +	return nil +} +  // is run whenever anyone hits 'd' (in an open space)  func theLetterD(g *gocui.Gui, v *gocui.View) error {  	// widgets that don't have physical existance in diff --git a/eventBindingsStdout.go b/eventBindingsStdout.go index 8387ea2..8e59b7d 100644 --- a/eventBindingsStdout.go +++ b/eventBindingsStdout.go @@ -77,12 +77,20 @@ func stdoutHome(g *gocui.Gui, v *gocui.View) error {  }  func stdoutArrowUp(g *gocui.Gui, v *gocui.View) error { -	stdoutWheelsUp() +	if me.stdout.reverse { +		stdoutWheelsDown() +	} else { +		stdoutWheelsUp() +	}  	return nil  }  func stdoutArrowDown(g *gocui.Gui, v *gocui.View) error { -	stdoutWheelsDown() +	if me.stdout.reverse { +		stdoutWheelsUp() +	} else { +		stdoutWheelsDown() +	}  	return nil  } @@ -25,16 +25,20 @@ import (  var helpText []string = []string{"Help Menu",  	"", -	"Tab:    toggle through windows", -	"'O': toggle STDOUT", -	"'H': toggle this gocui menu", -	"'D': toggle light/dark mode", -	"CTRL-c: quit()", +	"Tab     toggle through windows", +	"'O'     toggle STDOUT", +	"'H'     toggle this gocui menu", +	"'D'     toggle light/dark mode", +	"CTRL-z  background to shell", +	"CTRL-c  quit()",  	"",  	"Debugging:", -	"'S': Supermouse mode", -	"'M': list all widget positions", -	"'L': list all widgets in tree", +	"'S'     Supermouse mode", +	"'M'     list all widget positions", +	"'L'     list all widgets in tree", +	"<Pgup>  scroll up the STDOUT window", +	"<Pgdn>  scroll down the STDOUT window", +	"'r'     reverse STDOUT scrolling",  }  func hideHelp() { diff --git a/stdoutShow.go b/stdoutShow.go index 429294c..9d67d5e 100644 --- a/stdoutShow.go +++ b/stdoutShow.go @@ -211,7 +211,9 @@ func (tk *guiWidget) refreshStdout() {  	// chop off the last lines in the buffer  	chop := len(me.stdout.outputS) - (me.stdout.pager + me.stdout.h)  	cur = append(cur, me.stdout.outputS[chop:chop+me.stdout.h]...) -	slices.Reverse(cur) +	if me.stdout.reverse { +		slices.Reverse(cur) +	}  	tk.v.Clear()  	fmt.Fprintln(tk.v, strings.Join(cur, "\n"))  } @@ -120,6 +120,7 @@ type stdout struct {  	outputS         []string   // the buffer of all the output  	pager           int        // allows the user to page through the buffer  	changed         bool       // indicates the user has changed stdout. gocui should remember the state here +	reverse         bool       // flip the STDOUT upside down so new STDOUT lines are at the top  }  // settings for the dropdown window  | 
