summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthieu <matthieu.cneude@gmail.com>2019-02-02 15:43:39 +0100
committerMatthieu <matthieu.cneude@gmail.com>2019-02-02 15:43:39 +0100
commitaf316d5ad81a87cc5bb1a6b5269955f0fb73180e (patch)
tree46d2e0a89b375d15ae10c780e3e43cb9340d81e4
parentdad857b9ebfadd8363cbd7a2aa4eeb2e4c34514b (diff)
Try the new termui... I'm not convincedfeature/new-termui
-rw-r--r--Gopkg.lock37
-rw-r--r--Gopkg.toml6
-rwxr-xr-xcmd/devdash/devdashbin13812444 -> 13606397 bytes
-rw-r--r--internal/plateform/termui.go169
4 files changed, 103 insertions, 109 deletions
diff --git a/Gopkg.lock b/Gopkg.lock
index 37461a7..64bb112 100644
--- a/Gopkg.lock
+++ b/Gopkg.lock
@@ -10,6 +10,14 @@
version = "v0.27.0"
[[projects]]
+ branch = "master"
+ digest = "1:6ba6d8f52a0ea509e0073b27b13858a7f396382f6eab5f97f7570eb49f3ba165"
+ name = "github.com/cjbassi/drawille-go"
+ packages = ["."]
+ pruneopts = "UT"
+ revision = "27dc511fe6fd820bf8537298e1d447b450210b28"
+
+[[projects]]
digest = "1:abeb38ade3f32a92943e5be54f55ed6d6e3b6602761d74b4aab4c9dd45c18abd"
name = "github.com/fsnotify/fsnotify"
packages = ["."]
@@ -18,12 +26,15 @@
version = "v1.4.7"
[[projects]]
- digest = "1:0b98586be892040d424cdd4fb7e047f71ddfcdbfca59f975a4b4eb14b56ae33c"
+ branch = "master"
+ digest = "1:eabe64d852d1302e2f5cc58f6a322e3ebc7552cd02a808102ae377005f102bd1"
name = "github.com/gizak/termui"
- packages = ["."]
+ packages = [
+ ".",
+ "widgets",
+ ]
pruneopts = "UT"
- revision = "bf53c5cbea3f372f745e1d8e4660e29f73d41517"
- version = "v2.3.0"
+ revision = "5ece2b7178ff236574c7e88078b42150f724ff70"
[[projects]]
digest = "1:97df918963298c287643883209a2c3f642e6593379f97ab400c2a2e219ab647d"
@@ -61,14 +72,6 @@
version = "v1.8.0"
[[projects]]
- branch = "master"
- digest = "1:2eeeebccad4f052e6037527e86b8114c6bfd184a97f84d4449a5ea6ad202c216"
- name = "github.com/maruel/panicparse"
- packages = ["stack"]
- pruneopts = "UT"
- revision = "f20d4c4d746f810c9110e21928d4135e1f2a3efa"
-
-[[projects]]
digest = "1:cdb899c199f907ac9fb50495ec71212c95cb5b0e0a8ee0800da0238036091033"
name = "github.com/mattn/go-runewidth"
packages = ["."]
@@ -169,14 +172,6 @@
[[projects]]
branch = "master"
- digest = "1:9f3a60def1a1eb5ac184e71dde43c6f99606f54d106db7c95f8b8338629a777b"
- name = "github.com/tatsushid/go-fastping"
- packages = ["."]
- pruneopts = "UT"
- revision = "d7bb493dee3e090e2ffb6914adddf17c1e7c026c"
-
-[[projects]]
- branch = "master"
digest = "1:2092dc9eaa13ef38d2bedabf5b580c7d45a98f9ec8c508e18f1d9c389f075f83"
name = "golang.org/x/net"
packages = [
@@ -275,10 +270,10 @@
analyzer-version = 1
input-imports = [
"github.com/gizak/termui",
+ "github.com/gizak/termui/widgets",
"github.com/pkg/errors",
"github.com/sparrc/go-ping",
"github.com/spf13/viper",
- "github.com/tatsushid/go-fastping",
"golang.org/x/oauth2/google",
"golang.org/x/oauth2/jwt",
"google.golang.org/api/analytics/v3",
diff --git a/Gopkg.toml b/Gopkg.toml
index 4705439..02db113 100644
--- a/Gopkg.toml
+++ b/Gopkg.toml
@@ -34,8 +34,8 @@
version = "1.1.0"
[[constraint]]
+ branch="master"
name = "github.com/gizak/termui"
- version = "2.2.0"
[[constraint]]
branch = "master"
@@ -51,8 +51,4 @@
[[constraint]]
branch = "master"
- name = "github.com/tatsushid/go-fastping"
-
-[[constraint]]
- branch = "master"
name = "github.com/sparrc/go-ping"
diff --git a/cmd/devdash/devdash b/cmd/devdash/devdash
index 17a340b..9b05beb 100755
--- a/cmd/devdash/devdash
+++ b/cmd/devdash/devdash
Binary files differ
diff --git a/internal/plateform/termui.go b/internal/plateform/termui.go
index 71713d8..aca1840 100644
--- a/internal/plateform/termui.go
+++ b/internal/plateform/termui.go
@@ -1,19 +1,17 @@
package plateform
import (
- "fmt"
-
- "github.com/gizak/termui"
- "github.com/pkg/errors"
+ termui "github.com/gizak/termui"
+ "github.com/gizak/termui/widgets"
)
const maxRowSize = 12
type termUI struct {
body *termui.Grid
- widgets []termui.GridBufferer
- col []*termui.Row
- row []*termui.Row
+ widgets []interface{}
+ col []interface{}
+ row []interface{}
}
// NewTermUI returns a new Terminal Interface object with a given output mode.
@@ -24,66 +22,67 @@ func NewTermUI() (*termUI, error) {
// set the basic properties
body := termui.NewGrid()
- body.X = 0
- body.Y = 0
- body.BgColor = termui.ThemeAttr("bg")
- body.Width = termui.TermWidth()
+ termWidth, termHeight := termui.TerminalDimensions()
+ body.SetRect(0, 0, termWidth, termHeight)
+
+ // body.Y = 0
+ // body.BgColor = termui.ThemeAttr("bg")
+ // body.Width = termui.TermWidth()
return &termUI{
body: body,
- row: []*termui.Row{},
}, nil
}
func (t *termUI) Init() {
// set the basic properties
- body := termui.NewGrid()
- body.X = 0
- body.Y = 0
- body.BgColor = termui.ThemeAttr("bg")
- body.Width = termui.TermWidth()
-
- t.body = body
- t.widgets = []termui.GridBufferer{}
- t.col = []*termui.Row{}
- t.row = []*termui.Row{}
+ // body := termui.NewGrid()
+ // body.X = 0
+ // body.Y = 0
+ // body.BgColor = termui.ThemeAttr("bg")
+ // body.Width = termui.TermWidth()
+
+ // t.body = body
+ // t.widgets = []termui.Buffer{}
+ // t.col = []*termui.GridItem{}
+ // t.row = []*termui.GridItem{}
}
func (termUI) Close() {
- termui.Close()
+ // termui.Close()
}
func (t *termUI) AddCol(size int) {
- t.col = append(t.col, termui.NewCol(size, 0, t.widgets...))
- t.widgets = []termui.GridBufferer{}
+ t.col = append(t.col, termui.NewCol(0.3, t.widgets...))
+ t.widgets = nil
}
func (t *termUI) AddRow() error {
- t.body.AddRows(termui.NewRow(t.col...))
- t.body.Align()
- termui.Render(t.body)
+ t.row = append(t.row, termui.NewRow(0.5, t.col...))
+ t.col = nil
+ // termui.Render(t.body)
// clean the internal row
- t.row = []*termui.Row{}
- t.col = []*termui.Row{}
+ // t.row = []*termui.Row{}
+ // t.col = []*termui.Row{}
return nil
}
-func (t termUI) validateRowSize() error {
- var ts int
- for _, r := range t.row {
- for _, c := range r.Cols {
- ts += c.Offset
- }
- }
+// func (t termUI) validateRowSize() error {
+// var ts int
+// for _, r := range t.row {
+// for _, c := range r.Cols {
+// ts += c.Offset
+// }
+// }
- if ts > maxRowSize {
- return errors.Errorf("could not create row: size %d too big", ts)
- }
+// if ts > maxRowSize {
+// return errors.Errorf("could not create row: size %d too big", ts)
+// }
- return nil
-}
+// return nil
+// }
func (t *termUI) TextBox(
data string,
@@ -92,22 +91,24 @@ func (t *termUI) TextBox(
bdlabel string,
h int,
) {
- textBox := termui.NewPar(data)
+ p0 := widgets.NewParagraph()
+ p0.Text = data
+ p0.SetRect(0, 0, 20, 5)
+ p0.Border = false
- textBox.TextFgColor = termui.Attribute(fg)
- textBox.BorderFg = termui.Attribute(bd)
- textBox.BorderLabel = bdlabel
- textBox.Height = h
+ // textBox.TextFgColor = termui.Attribute(fg)
+ // textBox.BorderFg = termui.Attribute(bd)
+ // textBox.BorderLabel = bdlabel
+ // textBox.Height = h
- t.widgets = append(t.widgets, textBox)
+ t.widgets = append(t.widgets, p0)
}
func (t *termUI) Text(text string, fg uint16, size int) {
- pro := termui.NewPar(text)
- pro.Border = false
- pro.TextFgColor = termui.Attribute(fg)
+ textBox := widgets.NewParagraph()
+ textBox.Text = text
- t.body.AddRows(termui.NewCol(size, 0, pro))
+ t.widgets = append(t.widgets, textBox)
}
func (t *termUI) BarChart(
@@ -117,18 +118,19 @@ func (t *termUI) BarChart(
bd uint16,
bdLabel string,
) {
- bc := termui.NewBarChart()
- bc.BorderLabel = bdLabel
- bc.Data = data
- bc.BarWidth = barWidth
- bc.BarGap = 0
- bc.DataLabels = dimensions
- bc.Width = 200
- bc.Height = 10
- bc.TextColor = termui.ColorGreen
- bc.BarColor = termui.ColorBlue
- bc.NumColor = termui.ColorWhite
- bc.BorderFg = termui.Attribute(bd)
+ bc := widgets.NewBarChart()
+ // bc.Data = data
+ // bc.BorderLabel = bdLabel
+ // bc.Data = data
+ // bc.BarWidth = barWidth
+ // bc.BarGap = 0
+ // bc.DataLabels = dimensions
+ // bc.Width = 200
+ // bc.Height = 10
+ // bc.TextColor = termui.ColorGreen
+ // bc.BarColor = termui.ColorBlue
+ // bc.NumColor = termui.ColorWhite
+ // bc.BorderFg = termui.Attribute(bd)
t.widgets = append(t.widgets, bc)
}
@@ -140,16 +142,16 @@ func (t *termUI) StackedBarChart(
bd uint16,
bdLabel string,
) {
- bc := termui.NewMBarChart()
- bc.BorderLabel = bdLabel
- bc.Data = data
- bc.BarWidth = barWidth
- bc.DataLabels = dimensions
- bc.Width = 200
- bc.Height = 20
- bc.TextColor = termui.ColorGreen
- bc.BorderFg = termui.Attribute(bd)
- bc.SetMax(10)
+ bc := widgets.NewStackedBarChart()
+ // bc.BorderLabel = bdLabel
+ // bc.Data = data
+ // bc.BarWidth = barWidth
+ // bc.DataLabels = dimensions
+ // bc.Width = 200
+ // bc.Height = 20
+ // bc.TextColor = termui.ColorGreen
+ // bc.BorderFg = termui.Attribute(bd)
+ // bc.SetMax(10)
t.widgets = append(t.widgets, bc)
}
@@ -159,23 +161,24 @@ func (t *termUI) Table(
bd uint16,
bdLabel string,
) {
- ta := termui.NewTable()
+ ta := widgets.NewTable()
ta.Rows = data
- ta.BorderLabel = bdLabel
- ta.FgColor = termui.ColorGreen
- ta.BorderFg = termui.Attribute(bd)
- ta.SetSize()
+ // ta.BorderLabel = bdLabel
+ // ta.FgColor = termui.ColorGreen
+ // ta.BorderFg = termui.Attribute(bd)
+ // ta.SetSize()
t.widgets = append(t.widgets, ta)
}
// KQuit set a key to quit the application.
func (termUI) KQuit(key string) {
- termui.Handle(fmt.Sprintf("/sys/kbd/%s", key), func(termui.Event) {
- termui.StopLoop()
- })
+ // termui.Handle(fmt.Sprintf("/sys/kbd/%s", key), func(termui.Event) {
+ // termui.StopLoop()
+ // })
}
func (t *termUI) Render() {
- termui.Loop()
+ t.body.Set(t.row...)
+ termui.Render(t.body)
}