Added an example demonstrating the use of goroutines

This commit is contained in:
Sasha Koshka 2023-01-12 16:12:43 -05:00
parent 588c52b30a
commit 5eb3067a34
1 changed files with 33 additions and 0 deletions

View File

@ -0,0 +1,33 @@
package main
import "os"
import "time"
import "git.tebibyte.media/sashakoshka/tomo"
import "git.tebibyte.media/sashakoshka/tomo/elements/basic"
import _ "git.tebibyte.media/sashakoshka/tomo/backends/x"
func main () {
tomo.Run(run)
os.Exit(0)
}
func run () {
window, _ := tomo.NewWindow(2, 2)
window.SetTitle("clock")
label := basic.NewLabel(formatTime(), false)
window.Adopt(label)
window.OnClose(tomo.Stop)
window.Show()
go tick(label)
}
func formatTime () (timeString string) {
return time.Now().Format("2006-01-02 15:04:05")
}
func tick (label *basic.Label) {
for {
label.SetText(formatTime())
time.Sleep(time.Second)
}
}