summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--eventBindings.go5
-rw-r--r--init.go2
-rw-r--r--structs.go2
-rw-r--r--treeInit.go1
4 files changed, 9 insertions, 1 deletions
diff --git a/eventBindings.go b/eventBindings.go
index c9a4a08..f78737c 100644
--- a/eventBindings.go
+++ b/eventBindings.go
@@ -5,6 +5,7 @@ package main
import (
"syscall"
+ "time"
"github.com/awesome-gocui/gocui"
"go.wit.com/log"
@@ -53,6 +54,10 @@ func registerHandlers(g *gocui.Gui) {
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("", 'q', gocui.ModNone, quit) // 'q' only exits gocui. plugin stays alive (?)
+
+ time.Sleep(100 * time.Millisecond)
+ // tell 'tree' that we are okay to start talking to
+ me.myTree.InitOK()
}
// flips on 'super mouse' mode // this was awesome for debugging gocui. never remove this code.
diff --git a/init.go b/init.go
index 0c649a5..3adaf1b 100644
--- a/init.go
+++ b/init.go
@@ -30,7 +30,7 @@ func toolkitClose() {
// sets defaults and establishes communication
// to this toolkit from the wit/gui golang package
-func init() {
+func initPlugin() {
log.Log(INFO, "Init() of awesome-gocui")
// init the config struct default values
diff --git a/structs.go b/structs.go
index c8c688b..e9cfc8f 100644
--- a/structs.go
+++ b/structs.go
@@ -22,6 +22,8 @@ import (
"go.wit.com/toolkits/tree"
)
+var initOnce sync.Once
+
// It's probably a terrible idea to call this 'me'
// 2025 note: doesn't seem terrible to call this 'me' anymore. notsure.
var me config
diff --git a/treeInit.go b/treeInit.go
index 40b5157..57db353 100644
--- a/treeInit.go
+++ b/treeInit.go
@@ -48,6 +48,7 @@ func Callback(guiCallback chan widget.Action) {
}
func PluginChannel() chan widget.Action {
+ initOnce.Do(initPlugin)
return me.myTree.PluginChannel()
}