From c705297805709938ca128fc41b635e48a57ce5f7 Mon Sep 17 00:00:00 2001 From: Chris Cummer Date: Thu, 26 Jul 2018 17:33:12 -0700 Subject: [PATCH] Reduce the exposer of some of the main-level global variables --- wtf.go | 91 +++++++++++++++++++++++++++++----------------------------- 1 file changed, 46 insertions(+), 45 deletions(-) diff --git a/wtf.go b/wtf.go index 9218a4da..526df1f4 100644 --- a/wtf.go +++ b/wtf.go @@ -49,9 +49,10 @@ import ( "github.com/senorprogrammer/wtf/zendesk" ) +var focusTracker wtf.FocusTracker +var widgets []wtf.Wtfable + var Config *config.Config -var FocusTracker wtf.FocusTracker -var Widgets []wtf.Wtfable var ( commit = "dev" @@ -62,16 +63,16 @@ var ( /* -------------------- Functions -------------------- */ func disableAllWidgets() { - for _, widget := range Widgets { + for _, widget := range widgets { widget.Disable() } } func initializeFocusTracker(app *tview.Application) { - FocusTracker = wtf.FocusTracker{ + focusTracker = wtf.FocusTracker{ App: app, Idx: -1, - Widgets: Widgets, + Widgets: widgets, } } @@ -80,11 +81,11 @@ func keyboardIntercept(event *tcell.EventKey) *tcell.EventKey { case tcell.KeyCtrlR: refreshAllWidgets() case tcell.KeyTab: - FocusTracker.Next() + focusTracker.Next() case tcell.KeyBacktab: - FocusTracker.Prev() + focusTracker.Prev() case tcell.KeyEsc: - FocusTracker.None() + focusTracker.None() default: return event } @@ -117,7 +118,7 @@ func redrawApp(app *tview.Application) { } func refreshAllWidgets() { - for _, widget := range Widgets { + for _, widget := range widgets { go widget.Refresh() } } @@ -139,10 +140,10 @@ func watchForConfigChanges(app *tview.Application, configFilePath string, grid * loadConfigFile(configFilePath) // Disable all widgets to stop scheduler goroutines and rmeove widgets from memory. disableAllWidgets() - Widgets = nil + widgets = nil makeWidgets(app, pages) initializeFocusTracker(app) - display := wtf.NewDisplay(Widgets) + display := wtf.NewDisplay(widgets) pages.AddPage("grid", display.Grid, true, true) case err := <-watch.Error: log.Fatalln(err) @@ -167,71 +168,71 @@ func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) { // Always in alphabetical order switch widgetName { case "bamboohr": - Widgets = append(Widgets, bamboohr.NewWidget()) + widgets = append(widgets, bamboohr.NewWidget()) case "bargraph": - Widgets = append(Widgets, bargraph.NewWidget()) + widgets = append(widgets, bargraph.NewWidget()) case "bittrex": - Widgets = append(Widgets, bittrex.NewWidget()) + widgets = append(widgets, bittrex.NewWidget()) case "blockfolio": - Widgets = append(Widgets, blockfolio.NewWidget(app, pages)) + widgets = append(widgets, blockfolio.NewWidget(app, pages)) case "circleci": - Widgets = append(Widgets, circleci.NewWidget()) + widgets = append(widgets, circleci.NewWidget()) case "clocks": - Widgets = append(Widgets, clocks.NewWidget()) + widgets = append(widgets, clocks.NewWidget()) case "cmdrunner": - Widgets = append(Widgets, cmdrunner.NewWidget()) + widgets = append(widgets, cmdrunner.NewWidget()) case "cryptolive": - Widgets = append(Widgets, cryptolive.NewWidget()) + widgets = append(widgets, cryptolive.NewWidget()) case "gcal": - Widgets = append(Widgets, gcal.NewWidget()) + widgets = append(widgets, gcal.NewWidget()) case "gerrit": - Widgets = append(Widgets, gerrit.NewWidget(app, pages)) + widgets = append(widgets, gerrit.NewWidget(app, pages)) case "git": - Widgets = append(Widgets, git.NewWidget(app, pages)) + widgets = append(widgets, git.NewWidget(app, pages)) case "github": - Widgets = append(Widgets, github.NewWidget(app, pages)) + widgets = append(widgets, github.NewWidget(app, pages)) case "gitlab": - Widgets = append(Widgets, gitlab.NewWidget(app, pages)) + widgets = append(widgets, gitlab.NewWidget(app, pages)) case "gspreadsheets": - Widgets = append(Widgets, gspreadsheets.NewWidget()) + widgets = append(widgets, gspreadsheets.NewWidget()) case "ipapi": - Widgets = append(Widgets, ipapi.NewWidget()) + widgets = append(widgets, ipapi.NewWidget()) case "ipinfo": - Widgets = append(Widgets, ipinfo.NewWidget()) + widgets = append(widgets, ipinfo.NewWidget()) case "jenkins": - Widgets = append(Widgets, jenkins.NewWidget()) + widgets = append(widgets, jenkins.NewWidget()) case "jira": - Widgets = append(Widgets, jira.NewWidget()) + widgets = append(widgets, jira.NewWidget()) case "logger": - Widgets = append(Widgets, logger.NewWidget()) + widgets = append(widgets, logger.NewWidget()) case "newrelic": - Widgets = append(Widgets, newrelic.NewWidget()) + widgets = append(widgets, newrelic.NewWidget()) case "opsgenie": - Widgets = append(Widgets, opsgenie.NewWidget()) + widgets = append(widgets, opsgenie.NewWidget()) case "power": - Widgets = append(Widgets, power.NewWidget()) + widgets = append(widgets, power.NewWidget()) case "prettyweather": - Widgets = append(Widgets, prettyweather.NewWidget()) + widgets = append(widgets, prettyweather.NewWidget()) case "security": - Widgets = append(Widgets, security.NewWidget()) + widgets = append(widgets, security.NewWidget()) case "status": - Widgets = append(Widgets, status.NewWidget()) + widgets = append(widgets, status.NewWidget()) case "system": - Widgets = append(Widgets, system.NewWidget(date, version)) + widgets = append(widgets, system.NewWidget(date, version)) case "textfile": - Widgets = append(Widgets, textfile.NewWidget(app, pages)) + widgets = append(widgets, textfile.NewWidget(app, pages)) case "todo": - Widgets = append(Widgets, todo.NewWidget(app, pages)) + widgets = append(widgets, todo.NewWidget(app, pages)) case "todoist": - Widgets = append(Widgets, todoist.NewWidget(app, pages)) + widgets = append(widgets, todoist.NewWidget(app, pages)) case "travisci": - Widgets = append(Widgets, travisci.NewWidget()) + widgets = append(widgets, travisci.NewWidget()) case "trello": - Widgets = append(Widgets, trello.NewWidget()) + widgets = append(widgets, trello.NewWidget()) case "weather": - Widgets = append(Widgets, weather.NewWidget(app, pages)) + widgets = append(widgets, weather.NewWidget(app, pages)) case "zendesk": - Widgets = append(Widgets, zendesk.NewWidget()) + widgets = append(widgets, zendesk.NewWidget()) default: } } @@ -272,7 +273,7 @@ func main() { makeWidgets(app, pages) initializeFocusTracker(app) - display := wtf.NewDisplay(Widgets) + display := wtf.NewDisplay(widgets) pages.AddPage("grid", display.Grid, true, true) app.SetInputCapture(keyboardIntercept)