// Copyright 2017-2025 WIT.COM Inc. All rights reserved. // Use of this source code is governed by the GPL 3.0 package main import ( "fmt" "github.com/awesome-gocui/gocui" "go.wit.com/log" ) func theStdout(g *gocui.Gui, v *gocui.View) error { // me.stdout.pager = 0 infos := fmt.Sprintf("stdout moved off screen pager=%d len(%d) ", me.stdout.pager, len(me.stdout.outputS)) infos += fmt.Sprintf("last(%d,%d)", me.stdout.lastW, me.stdout.lastH) if me.stdout.outputOnTop { if me.stdout.outputOffscreen { me.stdout.outputOffscreen = false log.Info("stdout moved off screen", infos) me.stdout.lastW = me.stdout.tk.gocuiSize.w0 me.stdout.lastH = me.stdout.tk.gocuiSize.h0 relocateStdoutOffscreen() return nil } else { me.stdout.outputOffscreen = true log.Info("stdout moved on screen", infos) } // move the stdout window back onscreen me.stdout.tk.relocateStdout(me.stdout.lastW, me.stdout.lastH) me.stdout.outputOnTop = false setThingsOnTop() // me.baseGui.SetViewOnBottom("msg") // setBottomBG() } else { me.stdout.outputOnTop = true setThingsOnTop() // me.baseGui.SetViewOnTop("msg") } return nil } func stdoutPgup(g *gocui.Gui, v *gocui.View) error { me.stdout.pager -= 40 if me.stdout.pager < 0 { me.stdout.pager = 0 } tk := me.stdout.tk tk.refreshStdout() return nil } func stdoutHome(g *gocui.Gui, v *gocui.View) error { me.stdout.pager = 0 me.stdout.tk.refreshStdout() return nil } func stdoutArrowUp(g *gocui.Gui, v *gocui.View) error { me.stdout.pager += 1 me.stdout.tk.refreshStdout() return nil } func stdoutArrowDown(g *gocui.Gui, v *gocui.View) error { me.stdout.pager -= 1 me.stdout.tk.refreshStdout() return nil } func stdoutPgdn(g *gocui.Gui, v *gocui.View) error { me.stdout.pager += 10 tk := me.stdout.tk tk.refreshStdout() return nil }