git.sophuwu.com > statlog   
              58
            
             package main

import (
	"fmt"
	"git.sophuwu.com/statlog"
	"git.sophuwu.com/statlog/types"
	"os"
	"os/signal"
)

func fatal(e error) {
	if e != nil {
		fmt.Println("\033[?1049l\033[?25h")
		os.Exit(1)
	}
}

func main() {
	fmt.Println("\033[?25l\033[?1049h\033[2J")
	defer fmt.Println("\033[?1049l\033[?25h")
	hw := &statlog.HWInfo{}
	ch := make(chan os.Signal, 1)
	bl := true
	go func() {
		signal.Notify(ch, os.Interrupt, os.Kill)
		<-ch
		bl = false
	}()
	var s string
	var ss string
	var e error
	var fn func(w, h, val int) (string, error)
	fn, e = types.Graph("CPU Load", 100)
	w, _ := types.TermSize()
	fatal(e)
	for bl {
		s = ""
		hw.Update()
		w, _ = types.TermSize()
		ss, e = fn(w/2, 4, int(hw.CPU.LoadAvg))
		fatal(e)
		s += ss + "\n\n"

		// s += "MEM: " + hw.MEM.String()
		// s += "\nCPU: " + hw.CPU.MHzAvg.String() + " MHz  " + hw.CPU.Temp.String() + "\n\n"
		// ss, e = hw.CPU.LoadAvg.Bar("CPU Avg", 0)
		// fatal(e)
		// s += ss + "\n\n"
		// ss, e = hw.MEM.Bar()
		// fatal(e)
		// s += ss + "\n\nCPU CORES:\n\n"
		// ss, e = hw.CPU.LoadBar()
		// fatal(e)
		// s += ss + "\n"

		fmt.Printf("\033[2J\033[1;1H\r%s\n", s)
	}
}