diff options
| author | Jeff Carr <[email protected]> | 2025-03-02 18:04:08 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2025-03-02 18:04:08 -0600 |
| commit | dc329ed18c27c3b7d0467b5fc131438f41ece678 (patch) | |
| tree | a160c25ce688290b89f244e064ee855071558375 /init.go | |
| parent | 3e7287baea931b27770a6d7b33db51b889db50c5 (diff) | |
can refresh manually
Diffstat (limited to 'init.go')
| -rw-r--r-- | init.go | 22 |
1 files changed, 14 insertions, 8 deletions
@@ -197,12 +197,6 @@ func main() { // this hack is to wait for the application to send something // before trying to do anything. todo: rethink this someday func waitOK() { - defer func() { - if r := recover(); r != nil { - fmt.Fprintln(outf, "INIT PLUGIN recovered in r", r) - return - } - }() for { if me.ok { return @@ -238,12 +232,24 @@ func refreshGocui() { }() var lastRefresh time.Time lastRefresh = time.Now() + me.refresh = false for { time.Sleep(100 * time.Millisecond) // log.Info("refresh checking ok") if !me.ok { continue } + + // redraw the windows if something has changed + if time.Since(lastRefresh) > 1000*time.Millisecond { + if me.refresh { + log.Info("refresh triggered") + me.newWindowTrigger <- me.treeRoot.TK.(*guiWidget) + me.refresh = false + } + } + + // this code updates the clock if time.Since(lastRefresh) > 1000*time.Millisecond { // artificially pause clock while dragging. // this is a reminder to make this refresh code smarter @@ -289,9 +295,9 @@ func newWindowTrigger() { select { case tk := <-me.newWindowTrigger: // log.Log(NOW, "newWindowTrigger() got new window", tk.cuiName) - time.Sleep(200 * time.Millisecond) + // time.Sleep(200 * time.Millisecond) waitOK() - time.Sleep(200 * time.Millisecond) + // time.Sleep(200 * time.Millisecond) redoWindows(me.FirstWindowW, me.FirstWindowH) me.firstWindowOk = true if !me.stdout.init { |
