1
0
mirror of https://github.com/taigrr/wtf synced 2025-01-18 04:03:14 -08:00

no need to export pages and mainPage

This commit is contained in:
Hossein Mehrabi 2018-05-29 09:19:48 +04:30
parent 880a5beaeb
commit a94d1a439f

41
wtf.go
View File

@ -108,35 +108,34 @@ func refreshAllWidgets() {
} }
func watchForConfigChanges(app *tview.Application, configFlag *string) { func watchForConfigChanges(app *tview.Application, configFlag *string) {
w := watcher.New() watch := watcher.New()
// notify write events. // notify write events.
w.FilterOps(watcher.Write) watch.FilterOps(watcher.Write)
go func() { go func() {
for { for {
select { select {
case <-w.Event: case <-watch.Event:
Pages.RemovePage("grid")
loadConfig(configFlag) loadConfig(configFlag)
makeWidgets(app) makeWidgets(app)
MainPage = buildGrid(Widgets) mainPage = buildGrid(Widgets)
Pages.AddPage("grid", MainPage, true, true) pages.AddPage("grid", mainPage, true, true)
case err := <-w.Error: case err := <-watch.Error:
log.Fatalln(err) log.Fatalln(err)
case <-w.Closed: case <-watch.Closed:
return return
} }
} }
}() }()
// Watch config file for changes. // Watch config file for changes.
if err := w.Add(*configFlag); err != nil { if err := watch.Add(*configFlag); err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
// Start the watching process - it'll check for changes every 100ms. // Start the watching process - it'll check for changes every 100ms.
if err := w.Start(time.Millisecond * 100); err != nil { if err := watch.Start(time.Millisecond * 100); err != nil {
log.Fatalln(err) log.Fatalln(err)
} }
} }
@ -146,8 +145,8 @@ func watchForConfigChanges(app *tview.Application, configFlag *string) {
var Config *config.Config var Config *config.Config
var FocusTracker wtf.FocusTracker var FocusTracker wtf.FocusTracker
var Widgets []wtf.Wtfable var Widgets []wtf.Wtfable
var Pages *tview.Pages var pages *tview.Pages
var MainPage *tview.Grid var mainPage *tview.Grid
var ( var (
commit = "dev" commit = "dev"
@ -179,8 +178,8 @@ func makeWidgets(app *tview.Application) {
clocks.NewWidget(), clocks.NewWidget(),
cmdrunner.NewWidget(), cmdrunner.NewWidget(),
gcal.NewWidget(), gcal.NewWidget(),
git.NewWidget(app, Pages), git.NewWidget(app, pages),
github.NewWidget(app, Pages), github.NewWidget(app, pages),
jira.NewWidget(), jira.NewWidget(),
newrelic.NewWidget(), newrelic.NewWidget(),
opsgenie.NewWidget(), opsgenie.NewWidget(),
@ -188,9 +187,9 @@ func makeWidgets(app *tview.Application) {
security.NewWidget(), security.NewWidget(),
status.NewWidget(), status.NewWidget(),
system.NewWidget(date, version), system.NewWidget(date, version),
textfile.NewWidget(app, Pages), textfile.NewWidget(app, pages),
todo.NewWidget(app, Pages), todo.NewWidget(app, pages),
weather.NewWidget(app, Pages), weather.NewWidget(app, pages),
} }
} }
@ -235,7 +234,7 @@ func main() {
loadConfig(flagConf) loadConfig(flagConf)
app := tview.NewApplication() app := tview.NewApplication()
Pages = tview.NewPages() pages = tview.NewPages()
makeWidgets(app) makeWidgets(app)
@ -249,11 +248,11 @@ func main() {
go redrawApp(app) go redrawApp(app)
go watchForConfigChanges(app, flagConf) go watchForConfigChanges(app, flagConf)
MainPage = buildGrid(Widgets) mainPage = buildGrid(Widgets)
Pages.AddPage("grid", MainPage, true, true) pages.AddPage("grid", mainPage, true, true)
app.SetInputCapture(keyboardIntercept) app.SetInputCapture(keyboardIntercept)
if err := app.SetRoot(Pages, true).Run(); err != nil { if err := app.SetRoot(pages, true).Run(); err != nil {
os.Exit(1) os.Exit(1)
} }
} }