From f4f2d95a627a6b5169d70d1af56dc03a17d6b853 Mon Sep 17 00:00:00 2001 From: Lennart Buhl Date: Sun, 7 Feb 2016 03:33:03 +0100 Subject: [PATCH] data.RenderFrame() now draws in the vertical middle of the screen --- cmd/client.go | 12 ++++++------ data/screen.go | 6 ++++-- 2 files changed, 10 insertions(+), 8 deletions(-) diff --git a/cmd/client.go b/cmd/client.go index 686ad68..79e3870 100644 --- a/cmd/client.go +++ b/cmd/client.go @@ -28,7 +28,7 @@ var ( ) func register(con net.Conn, id int) error { - w, h := 0, 0 //data.TestNC() + w, h := data.GetXY() enc := gob.NewEncoder(con) // Encoder err := enc.Encode(data.Handshake{ID: id, H: h, W: w}) return err @@ -42,11 +42,11 @@ func render() { } func runClient(cmd *cobra.Command, args []string) { - c := make(chan os.Signal) - signal.Notify(c, os.Interrupt, os.Kill) - signal.Notify(c, syscall.SIGTERM) + osChan := make(chan os.Signal) + signal.Notify(osChan, os.Interrupt, os.Kill) + signal.Notify(osChan, syscall.SIGTERM) - data.InitNC(c) + data.InitNC(osChan) // really important??? defer data.ExitNC() @@ -78,7 +78,7 @@ func runClient(cmd *cobra.Command, args []string) { renderQueue <- oFrame select { - case <-c: + case _ = <-osChan: // funzt noch nicht: log.Println("Got a KILL") con.Close() diff --git a/data/screen.go b/data/screen.go index cf9f3b8..396f238 100644 --- a/data/screen.go +++ b/data/screen.go @@ -19,8 +19,10 @@ func RenderFrame(f *Frame) { winMutex.Lock() if win != nil { //win.Clear() + winY, _ := win.MaxYX() + yOff := (winY - f.H) / 2 for k, _ := range f.Data { - win.MovePrint(k, 0, string(f.Data[k])) + win.MovePrint(yOff+k, 0, string(f.Data[k])) } } winMutex.Unlock() @@ -65,7 +67,7 @@ func GetChar() int { return 0 } -func testNC() (int, int) { +func GetXY() (int, int) { win, err := nc.Init() if err != nil { log.Fatal(err)