diff options
Diffstat (limited to 'main.go')
| -rw-r--r-- | main.go | 179 |
1 files changed, 0 insertions, 179 deletions
diff --git a/main.go b/main.go deleted file mode 100644 index c9272f2..0000000 --- a/main.go +++ /dev/null @@ -1,179 +0,0 @@ -//gjcarro:pjcarrlugin - -// Copyright 2014 The gocui Authors. All rights reserved. -// Use of this source code is governed by a BSD-style -// license that can be found in the LICENSE file. - -package main - -import ( - "errors" - "os" - "runtime/debug" - - "github.com/awesome-gocui/gocui" - "go.wit.com/log" - "go.wit.com/toolkits/tree" -) - -// sent via -ldflags -var VERSION string -var BUILDTIME string - -func queueToolkitClose() { - me.baseGui.Close() -} - -func queueSetChecked(n *tree.Node, b bool) { - setChecked(n, b) -} - -// sets defaults and establishes communication -// to this toolkit from the wit/gui golang package -func init() { - log.Log(INFO, "Init() of awesome-gocui") - - // init the config struct default values - Set(&me, "default") - - // Set(&me, "dense") - - me.myTree = tree.New() - me.myTree.PluginName = "gocui" - - me.myTree.NodeAction = newaction - me.myTree.Add = newAdd - me.myTree.SetTitle = newSetTitle - me.myTree.SetLabel = newSetLabel - me.myTree.SetText = newSetText - me.myTree.AddText = newAddText - me.myTree.SetChecked = queueSetChecked - me.myTree.ToolkitClose = queueToolkitClose - - log.Log(NOW, "Init() start pluginChan") - log.Sleep(.1) // probably not needed, but in here for now under development - go mainGogui() - log.Sleep(.1) // probably not needed, but in here for now under development -} - -func standardExit() { - log.Log(NOW, "standardExit() doing baseGui.Close()") - me.baseGui.Close() - log.Log(NOW, "standardExit() doing outf.Close()") - outf.Close() - // log(true, "standardExit() setOutput(os.Stdout)") - // setOutput(os.Stdout) - log.Log(NOW, "standardExit() send back Quit()") - // go sendBackQuit() // don't stall here in case the - // induces a delay in case the callback channel is broken - log.Sleep(1) - log.Log(NOW, "standardExit() exit()") - os.Exit(0) -} - -func standardClose() { - log.Log(NOW, "standardExit() doing baseGui.Close()") - me.baseGui.Close() - log.Log(NOW, "standardExit() doing outf.Close()") - outf.Close() - os.Stdin = os.Stdin - os.Stdout = os.Stdout - os.Stderr = os.Stderr - log.Log(NOW, "standardExit() send back Quit()") -} - -var outf *os.File - -func main() { -} - -var origStdout *os.File -var origStderr *os.File - -func mainGogui() { - defer func() { - if r := recover(); r != nil { - log.Warn("YAHOOOO Recovered in guiMain application:", r) - log.Warn("Recovered from panic:", r) - me.baseGui.Close() - log.CaptureMode(nil) - log.Warn("YAHOOOO Recovered in guiMain application:", r) - log.Warn("Recovered from panic:", r) - me.myTree.SendToolkitPanic() - - return - } - }() - - var err error - - outf, err = os.OpenFile("/tmp/captureMode.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) - if err != nil { - log.Error(err, "error opening file: %v") - os.Exit(0) - } - origStdout = os.Stdout - os.Stdout = outf - defer outf.Close() - - log.CaptureMode(outf) - - gocuiMain() -} - -// This initializes the gocui package -// it runs SetManagerFunc which passes every input -// event (keyboard, mouse, etc) to the function "gocuiEvent()" -func gocuiMain() { - defer func() { - if r := recover(); r != nil { - log.Warn("YAHOOOO Recovered in gocuiMain()", r) - log.Warn("Recovered from panic:", r) - me.baseGui.Close() - - // allow gocui to close if possible, then print stack - log.Sleep(1) - os.Stdout = origStdout - os.Stderr = origStderr - me.myTree.SendToolkitPanic() - log.Warn("Stack trace:") - debug.PrintStack() - // panic("BUMMER 2") - - // attempt to switch to the nocui toolkit - log.Sleep(1) - me.myTree.SendToolkitLoad("nocui") - log.Sleep(3) - me.myTree.SendToolkitLoad("nocui") - // panic("BUMMER") - return - } - }() - g, err := gocui.NewGui(gocui.OutputNormal, true) - if err != nil { - return - } - defer g.Close() - - me.baseGui = g - - g.Cursor = true - g.Mouse = true - - // this sets the function that is run on every event. For example: - // When you click the mouse, move the mouse, or press a key on the keyboard - // This is equivalent to xev or similar to cat /dev/input on linux - g.SetManagerFunc(gocuiEvent) - - if err := defaultKeybindings(g); err != nil { - // normally panic here - log.Log(NOW, "defaultKeybindings(g) panic err =", err) - panic("gocuiTKdefaultkeybindings OOPS") - } - - if err := g.MainLoop(); err != nil && !errors.Is(err, gocui.ErrQuit) { - log.Log(NOW, "g.MainLoop() panic err =", err) - // normally panic here - panic("gocuiTKmainloop OOPS") - } -} |
