stone/examples/hello/main.go

43 lines
1020 B
Go

package main
import "os"
import "fmt"
import "time"
import "git.tebibyte.media/sashakoshka/stone"
import _ "git.tebibyte.media/sashakoshka/stone/backends/x"
func main () {
application := &stone.Application { }
channel, err := application.Run()
if err != nil { panic(err) }
currentTime := time.Time { }
for {
event := <- channel
switch event.(type) {
case stone.EventQuit:
os.Exit(0)
case stone.EventResize:
currentTime = time.Now()
application.ResetDot()
fmt.Fprintln(application, "hellorld!")
hour := currentTime.Hour()
minute := currentTime.Minute()
second := currentTime.Second()
application.SetRune(0, 1, rune(hour / 10 + 48))
application.SetRune(1, 1, rune(hour % 10 + 48))
application.SetRune(2, 1, ':')
application.SetRune(3, 1, rune(minute / 10 + 48))
application.SetRune(4, 1, rune(minute % 10 + 48))
application.SetRune(5, 1, ':')
application.SetRune(6, 1, rune(second / 10 + 48))
application.SetRune(7, 1, rune(second % 10 + 48))
}
}
}