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"
|
"github.com/senorprogrammer/wtf/zendesk"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
var focusTracker wtf.FocusTracker
|
||||||
|
var widgets []wtf.Wtfable
|
||||||
|
|
||||||
var Config *config.Config
|
var Config *config.Config
|
||||||
var FocusTracker wtf.FocusTracker
|
|
||||||
var Widgets []wtf.Wtfable
|
|
||||||
|
|
||||||
var (
|
var (
|
||||||
commit = "dev"
|
commit = "dev"
|
||||||
@ -62,16 +63,16 @@ var (
|
|||||||
/* -------------------- Functions -------------------- */
|
/* -------------------- Functions -------------------- */
|
||||||
|
|
||||||
func disableAllWidgets() {
|
func disableAllWidgets() {
|
||||||
for _, widget := range Widgets {
|
for _, widget := range widgets {
|
||||||
widget.Disable()
|
widget.Disable()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func initializeFocusTracker(app *tview.Application) {
|
func initializeFocusTracker(app *tview.Application) {
|
||||||
FocusTracker = wtf.FocusTracker{
|
focusTracker = wtf.FocusTracker{
|
||||||
App: app,
|
App: app,
|
||||||
Idx: -1,
|
Idx: -1,
|
||||||
Widgets: Widgets,
|
Widgets: widgets,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -80,11 +81,11 @@ func keyboardIntercept(event *tcell.EventKey) *tcell.EventKey {
|
|||||||
case tcell.KeyCtrlR:
|
case tcell.KeyCtrlR:
|
||||||
refreshAllWidgets()
|
refreshAllWidgets()
|
||||||
case tcell.KeyTab:
|
case tcell.KeyTab:
|
||||||
FocusTracker.Next()
|
focusTracker.Next()
|
||||||
case tcell.KeyBacktab:
|
case tcell.KeyBacktab:
|
||||||
FocusTracker.Prev()
|
focusTracker.Prev()
|
||||||
case tcell.KeyEsc:
|
case tcell.KeyEsc:
|
||||||
FocusTracker.None()
|
focusTracker.None()
|
||||||
default:
|
default:
|
||||||
return event
|
return event
|
||||||
}
|
}
|
||||||
@ -117,7 +118,7 @@ func redrawApp(app *tview.Application) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func refreshAllWidgets() {
|
func refreshAllWidgets() {
|
||||||
for _, widget := range Widgets {
|
for _, widget := range widgets {
|
||||||
go widget.Refresh()
|
go widget.Refresh()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -139,10 +140,10 @@ func watchForConfigChanges(app *tview.Application, configFilePath string, grid *
|
|||||||
loadConfigFile(configFilePath)
|
loadConfigFile(configFilePath)
|
||||||
// Disable all widgets to stop scheduler goroutines and rmeove widgets from memory.
|
// Disable all widgets to stop scheduler goroutines and rmeove widgets from memory.
|
||||||
disableAllWidgets()
|
disableAllWidgets()
|
||||||
Widgets = nil
|
widgets = nil
|
||||||
makeWidgets(app, pages)
|
makeWidgets(app, pages)
|
||||||
initializeFocusTracker(app)
|
initializeFocusTracker(app)
|
||||||
display := wtf.NewDisplay(Widgets)
|
display := wtf.NewDisplay(widgets)
|
||||||
pages.AddPage("grid", display.Grid, true, true)
|
pages.AddPage("grid", display.Grid, true, true)
|
||||||
case err := <-watch.Error:
|
case err := <-watch.Error:
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
@ -167,71 +168,71 @@ func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) {
|
|||||||
// Always in alphabetical order
|
// Always in alphabetical order
|
||||||
switch widgetName {
|
switch widgetName {
|
||||||
case "bamboohr":
|
case "bamboohr":
|
||||||
Widgets = append(Widgets, bamboohr.NewWidget())
|
widgets = append(widgets, bamboohr.NewWidget())
|
||||||
case "bargraph":
|
case "bargraph":
|
||||||
Widgets = append(Widgets, bargraph.NewWidget())
|
widgets = append(widgets, bargraph.NewWidget())
|
||||||
case "bittrex":
|
case "bittrex":
|
||||||
Widgets = append(Widgets, bittrex.NewWidget())
|
widgets = append(widgets, bittrex.NewWidget())
|
||||||
case "blockfolio":
|
case "blockfolio":
|
||||||
Widgets = append(Widgets, blockfolio.NewWidget(app, pages))
|
widgets = append(widgets, blockfolio.NewWidget(app, pages))
|
||||||
case "circleci":
|
case "circleci":
|
||||||
Widgets = append(Widgets, circleci.NewWidget())
|
widgets = append(widgets, circleci.NewWidget())
|
||||||
case "clocks":
|
case "clocks":
|
||||||
Widgets = append(Widgets, clocks.NewWidget())
|
widgets = append(widgets, clocks.NewWidget())
|
||||||
case "cmdrunner":
|
case "cmdrunner":
|
||||||
Widgets = append(Widgets, cmdrunner.NewWidget())
|
widgets = append(widgets, cmdrunner.NewWidget())
|
||||||
case "cryptolive":
|
case "cryptolive":
|
||||||
Widgets = append(Widgets, cryptolive.NewWidget())
|
widgets = append(widgets, cryptolive.NewWidget())
|
||||||
case "gcal":
|
case "gcal":
|
||||||
Widgets = append(Widgets, gcal.NewWidget())
|
widgets = append(widgets, gcal.NewWidget())
|
||||||
case "gerrit":
|
case "gerrit":
|
||||||
Widgets = append(Widgets, gerrit.NewWidget(app, pages))
|
widgets = append(widgets, gerrit.NewWidget(app, pages))
|
||||||
case "git":
|
case "git":
|
||||||
Widgets = append(Widgets, git.NewWidget(app, pages))
|
widgets = append(widgets, git.NewWidget(app, pages))
|
||||||
case "github":
|
case "github":
|
||||||
Widgets = append(Widgets, github.NewWidget(app, pages))
|
widgets = append(widgets, github.NewWidget(app, pages))
|
||||||
case "gitlab":
|
case "gitlab":
|
||||||
Widgets = append(Widgets, gitlab.NewWidget(app, pages))
|
widgets = append(widgets, gitlab.NewWidget(app, pages))
|
||||||
case "gspreadsheets":
|
case "gspreadsheets":
|
||||||
Widgets = append(Widgets, gspreadsheets.NewWidget())
|
widgets = append(widgets, gspreadsheets.NewWidget())
|
||||||
case "ipapi":
|
case "ipapi":
|
||||||
Widgets = append(Widgets, ipapi.NewWidget())
|
widgets = append(widgets, ipapi.NewWidget())
|
||||||
case "ipinfo":
|
case "ipinfo":
|
||||||
Widgets = append(Widgets, ipinfo.NewWidget())
|
widgets = append(widgets, ipinfo.NewWidget())
|
||||||
case "jenkins":
|
case "jenkins":
|
||||||
Widgets = append(Widgets, jenkins.NewWidget())
|
widgets = append(widgets, jenkins.NewWidget())
|
||||||
case "jira":
|
case "jira":
|
||||||
Widgets = append(Widgets, jira.NewWidget())
|
widgets = append(widgets, jira.NewWidget())
|
||||||
case "logger":
|
case "logger":
|
||||||
Widgets = append(Widgets, logger.NewWidget())
|
widgets = append(widgets, logger.NewWidget())
|
||||||
case "newrelic":
|
case "newrelic":
|
||||||
Widgets = append(Widgets, newrelic.NewWidget())
|
widgets = append(widgets, newrelic.NewWidget())
|
||||||
case "opsgenie":
|
case "opsgenie":
|
||||||
Widgets = append(Widgets, opsgenie.NewWidget())
|
widgets = append(widgets, opsgenie.NewWidget())
|
||||||
case "power":
|
case "power":
|
||||||
Widgets = append(Widgets, power.NewWidget())
|
widgets = append(widgets, power.NewWidget())
|
||||||
case "prettyweather":
|
case "prettyweather":
|
||||||
Widgets = append(Widgets, prettyweather.NewWidget())
|
widgets = append(widgets, prettyweather.NewWidget())
|
||||||
case "security":
|
case "security":
|
||||||
Widgets = append(Widgets, security.NewWidget())
|
widgets = append(widgets, security.NewWidget())
|
||||||
case "status":
|
case "status":
|
||||||
Widgets = append(Widgets, status.NewWidget())
|
widgets = append(widgets, status.NewWidget())
|
||||||
case "system":
|
case "system":
|
||||||
Widgets = append(Widgets, system.NewWidget(date, version))
|
widgets = append(widgets, system.NewWidget(date, version))
|
||||||
case "textfile":
|
case "textfile":
|
||||||
Widgets = append(Widgets, textfile.NewWidget(app, pages))
|
widgets = append(widgets, textfile.NewWidget(app, pages))
|
||||||
case "todo":
|
case "todo":
|
||||||
Widgets = append(Widgets, todo.NewWidget(app, pages))
|
widgets = append(widgets, todo.NewWidget(app, pages))
|
||||||
case "todoist":
|
case "todoist":
|
||||||
Widgets = append(Widgets, todoist.NewWidget(app, pages))
|
widgets = append(widgets, todoist.NewWidget(app, pages))
|
||||||
case "travisci":
|
case "travisci":
|
||||||
Widgets = append(Widgets, travisci.NewWidget())
|
widgets = append(widgets, travisci.NewWidget())
|
||||||
case "trello":
|
case "trello":
|
||||||
Widgets = append(Widgets, trello.NewWidget())
|
widgets = append(widgets, trello.NewWidget())
|
||||||
case "weather":
|
case "weather":
|
||||||
Widgets = append(Widgets, weather.NewWidget(app, pages))
|
widgets = append(widgets, weather.NewWidget(app, pages))
|
||||||
case "zendesk":
|
case "zendesk":
|
||||||
Widgets = append(Widgets, zendesk.NewWidget())
|
widgets = append(widgets, zendesk.NewWidget())
|
||||||
default:
|
default:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -272,7 +273,7 @@ func main() {
|
|||||||
makeWidgets(app, pages)
|
makeWidgets(app, pages)
|
||||||
initializeFocusTracker(app)
|
initializeFocusTracker(app)
|
||||||
|
|
||||||
display := wtf.NewDisplay(Widgets)
|
display := wtf.NewDisplay(widgets)
|
||||||
pages.AddPage("grid", display.Grid, true, true)
|
pages.AddPage("grid", display.Grid, true, true)
|
||||||
app.SetInputCapture(keyboardIntercept)
|
app.SetInputCapture(keyboardIntercept)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user