Skip to content

Commit

Permalink
Reduce the exposer of some of the main-level global variables
Browse files Browse the repository at this point in the history
  • Loading branch information
Chris Cummer committed Jul 27, 2018
1 parent e5214ec commit c705297
Showing 1 changed file with 46 additions and 45 deletions.
91 changes: 46 additions & 45 deletions wtf.go
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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,
}
}

Expand All @@ -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
}
Expand Down Expand Up @@ -117,7 +118,7 @@ func redrawApp(app *tview.Application) {
}

func refreshAllWidgets() {
for _, widget := range Widgets {
for _, widget := range widgets {
go widget.Refresh()
}
}
Expand All @@ -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)
Expand All @@ -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:
}
}
Expand Down Expand Up @@ -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)

Expand Down

0 comments on commit c705297

Please sign in to comment.