diff --git a/widgets/asciibox/asciibox.go b/component/asciibox/asciibox.go similarity index 100% rename from widgets/asciibox/asciibox.go rename to component/asciibox/asciibox.go diff --git a/widgets/barchart/barchart.go b/component/barchart/barchart.go similarity index 100% rename from widgets/barchart/barchart.go rename to component/barchart/barchart.go diff --git a/widgets/component.go b/component/component.go similarity index 97% rename from widgets/component.go rename to component/component.go index 38d707e..c8146c3 100644 --- a/widgets/component.go +++ b/component/component.go @@ -1,4 +1,4 @@ -package widgets +package component import ( "github.com/sqshq/sampler/config" diff --git a/widgets/layout.go b/component/layout.go similarity index 98% rename from widgets/layout.go rename to component/layout.go index cad219e..d190edf 100644 --- a/widgets/layout.go +++ b/component/layout.go @@ -1,9 +1,9 @@ -package widgets +package component import ( + "github.com/sqshq/sampler/component/runchart" "github.com/sqshq/sampler/config" "github.com/sqshq/sampler/console" - "github.com/sqshq/sampler/widgets/runchart" ui "github.com/sqshq/termui" ) diff --git a/widgets/menu.go b/component/menu.go similarity index 99% rename from widgets/menu.go rename to component/menu.go index 933d85c..592baa1 100644 --- a/widgets/menu.go +++ b/component/menu.go @@ -1,4 +1,4 @@ -package widgets +package component import ( "github.com/sqshq/sampler/config" diff --git a/widgets/runchart/grid.go b/component/runchart/grid.go similarity index 100% rename from widgets/runchart/grid.go rename to component/runchart/grid.go diff --git a/widgets/runchart/legend.go b/component/runchart/legend.go similarity index 100% rename from widgets/runchart/legend.go rename to component/runchart/legend.go diff --git a/widgets/runchart/runchart.go b/component/runchart/runchart.go similarity index 100% rename from widgets/runchart/runchart.go rename to component/runchart/runchart.go diff --git a/config/config.go b/config/config.go index c360008..71d9cbc 100644 --- a/config/config.go +++ b/config/config.go @@ -2,9 +2,9 @@ package config import ( "fmt" + "github.com/sqshq/sampler/component/asciibox" "github.com/sqshq/sampler/console" "github.com/sqshq/sampler/data" - "github.com/sqshq/sampler/widgets/asciibox" "gopkg.in/yaml.v2" "io/ioutil" "log" diff --git a/config/default.go b/config/default.go index 9b76120..fbd5688 100644 --- a/config/default.go +++ b/config/default.go @@ -1,12 +1,12 @@ package config import ( + "github.com/sqshq/sampler/component/asciibox" "github.com/sqshq/sampler/console" - "github.com/sqshq/sampler/widgets/asciibox" ) const ( - defaultRefreshRateMs = 1000 + defaultRefreshRateMs = 200 defaultScale = 1 defaultTheme = console.ThemeDark ) diff --git a/event/handler.go b/event/handler.go index bcdaa2a..299ab30 100644 --- a/event/handler.go +++ b/event/handler.go @@ -1,25 +1,25 @@ package event import ( + "github.com/sqshq/sampler/component" "github.com/sqshq/sampler/config" "github.com/sqshq/sampler/console" - "github.com/sqshq/sampler/widgets" ui "github.com/sqshq/termui" "time" ) const ( - refreshRateToRenderRateRatio = 0.8 + refreshRateToRenderRateRatio = 0.6 ) type Handler struct { - layout *widgets.Layout + layout *component.Layout renderTicker *time.Ticker consoleEvents <-chan ui.Event renderRate time.Duration } -func NewHandler(layout *widgets.Layout) Handler { +func NewHandler(layout *component.Layout) Handler { renderRate := calcMinRenderRate(layout) return Handler{ layout: layout, @@ -58,13 +58,13 @@ func (h *Handler) HandleEvents() { } } -func (h *Handler) handleModeChange(m widgets.Mode) { +func (h *Handler) handleModeChange(m component.Mode) { - // render mode change before switching the tickers + // render change before switching the tickers ui.Render(h.layout) h.renderTicker.Stop() - if m == widgets.ModeDefault { + if m == component.ModeDefault { h.renderTicker = time.NewTicker(h.renderRate) } else { h.renderTicker = time.NewTicker(console.MinRenderInterval) @@ -80,7 +80,7 @@ func (h *Handler) handleExit() { config.Update(settings) } -func calcMinRenderRate(layout *widgets.Layout) time.Duration { +func calcMinRenderRate(layout *component.Layout) time.Duration { minRefreshRateMs := layout.Components[0].RefreshRateMs for _, c := range layout.Components { diff --git a/main.go b/main.go index 6bc75dc..3c3d4de 100644 --- a/main.go +++ b/main.go @@ -1,14 +1,14 @@ package main import ( + "github.com/sqshq/sampler/component" + "github.com/sqshq/sampler/component/asciibox" + "github.com/sqshq/sampler/component/barchart" + "github.com/sqshq/sampler/component/runchart" "github.com/sqshq/sampler/config" "github.com/sqshq/sampler/console" "github.com/sqshq/sampler/data" "github.com/sqshq/sampler/event" - "github.com/sqshq/sampler/widgets" - "github.com/sqshq/sampler/widgets/asciibox" - "github.com/sqshq/sampler/widgets/barchart" - "github.com/sqshq/sampler/widgets/runchart" ui "github.com/sqshq/termui" ) @@ -20,7 +20,7 @@ func main() { defer csl.Close() width, height := ui.TerminalDimensions() - layout := widgets.NewLayout(width, height, widgets.NewMenu()) + layout := component.NewLayout(width, height, component.NewMenu()) for _, c := range cfg.RunCharts {