mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Reduce the exposer of some of the main-level global variables
This commit is contained in:
parent
e5214ec54b
commit
c705297805
91
wtf.go
91
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)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user