ck/Main.go

68 lines
1.3 KiB
Go
Raw Normal View History

2021-07-20 23:22:07 +02:00
package main
import (
"log"
"os"
2021-09-04 11:50:23 +02:00
"time"
2021-07-20 23:22:07 +02:00
"github.com/gdamore/tcell/v2"
"gitlab.com/tvrdosrz/ck/drw"
"gitlab.com/tvrdosrz/ck/util"
2021-07-20 23:22:07 +02:00
)
func main() {
util.Today = time.Now()
util.SelTime = util.Today
2021-07-20 23:22:07 +02:00
var err error
drw.Wall, err = tcell.NewScreen()
2021-07-20 23:22:07 +02:00
if err != nil {
log.Fatalf("%+v", err)
}
if err := drw.Wall.Init(); err != nil {
2021-07-20 23:22:07 +02:00
log.Fatalf("%+v", err)
}
drw.DefStyle = tcell.StyleDefault.Background(tcell.ColorReset).Foreground(tcell.ColorReset)
drw.TodayStyle = tcell.StyleDefault.Background(tcell.ColorReset).Foreground(tcell.GetColor("blue")).Bold(true).Reverse(true)
drw.SelStyle = tcell.StyleDefault.Background(tcell.ColorReset).Foreground(tcell.GetColor("green")).Bold(true)
2021-07-20 23:22:07 +02:00
drw.Wall.SetStyle(drw.DefStyle)
drw.Wall.Clear()
drw.DrawWall()
2021-07-20 23:22:07 +02:00
quit := func() {
drw.Wall.Fini()
2021-07-20 23:22:07 +02:00
os.Exit(0)
}
for {
// Update screen
drw.Wall.Show()
2021-07-20 23:22:07 +02:00
// Poll event
ev := drw.Wall.PollEvent()
2021-07-20 23:22:07 +02:00
// Process event
switch ev := ev.(type) {
case *tcell.EventResize:
case *tcell.EventKey:
if ev.Key() == tcell.KeyEscape || ev.Key() == tcell.KeyCtrlC ||
ev.Rune() == 'Q' || ev.Rune() == 'q' {
quit()
}
switch ev.Rune() {
case 'h':
drw.MoveLeft()
case 'j':
drw.MoveDown()
case 'k':
drw.MoveUp()
case 'l':
drw.MoveRight()
}
2021-07-20 23:22:07 +02:00
}
drw.DrawWall()
drw.Wall.Sync()
2021-07-20 23:22:07 +02:00
}
}