mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Merge branch 'master' into addLogging
This commit is contained in:
commit
1d20a29535
@ -8,3 +8,5 @@ before_install:
|
|||||||
- test ! -d $GOPATH/src/github.com/senorprogrammer/wtf && mv $TRAVIS_BUILD_DIR $GOPATH/src/github.com/senorprogrammer/wtf || true
|
- test ! -d $GOPATH/src/github.com/senorprogrammer/wtf && mv $TRAVIS_BUILD_DIR $GOPATH/src/github.com/senorprogrammer/wtf || true
|
||||||
- export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/senorprogrammer/wtf
|
- export TRAVIS_BUILD_DIR=$HOME/gopath/src/github.com/senorprogrammer/wtf
|
||||||
- cd $HOME/gopath/src/github.com/senorprogrammer/wtf
|
- cd $HOME/gopath/src/github.com/senorprogrammer/wtf
|
||||||
|
|
||||||
|
script: go get ./... && go get github.com/go-test/deep && go test -v github.com/senorprogrammer/wtf/wtf_tests
|
||||||
|
76
wtf.go
76
wtf.go
@ -155,7 +155,56 @@ var (
|
|||||||
version = "dev"
|
version = "dev"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func addWidget(app *tview.Application, pages *tview.Pages, widgetName string) {
|
||||||
|
// Always in alphabetical order
|
||||||
|
switch widgetName {
|
||||||
|
case "bamboohr":
|
||||||
|
Widgets = append(Widgets, bamboohr.NewWidget())
|
||||||
|
case "bittrex":
|
||||||
|
Widgets = append(Widgets, bittrex.NewWidget())
|
||||||
|
case "clocks":
|
||||||
|
Widgets = append(Widgets, clocks.NewWidget())
|
||||||
|
case "cmdrunner":
|
||||||
|
Widgets = append(Widgets, cmdrunner.NewWidget())
|
||||||
|
case "cryptolive":
|
||||||
|
Widgets = append(Widgets, cryptolive.NewWidget())
|
||||||
|
case "gcal":
|
||||||
|
Widgets = append(Widgets, gcal.NewWidget())
|
||||||
|
case "git":
|
||||||
|
Widgets = append(Widgets, git.NewWidget(app, pages))
|
||||||
|
case "github":
|
||||||
|
Widgets = append(Widgets, github.NewWidget(app, pages))
|
||||||
|
case "ipinfo":
|
||||||
|
Widgets = append(Widgets, ipinfo.NewWidget())
|
||||||
|
case "jira":
|
||||||
|
Widgets = append(Widgets, jira.NewWidget())
|
||||||
|
case "newrelic":
|
||||||
|
Widgets = append(Widgets, newrelic.NewWidget())
|
||||||
|
case "opsgenie":
|
||||||
|
Widgets = append(Widgets, opsgenie.NewWidget())
|
||||||
|
case "power":
|
||||||
|
Widgets = append(Widgets, power.NewWidget())
|
||||||
|
case "prettyweather":
|
||||||
|
Widgets = append(Widgets, prettyweather.NewWidget())
|
||||||
|
case "security":
|
||||||
|
Widgets = append(Widgets, security.NewWidget())
|
||||||
|
case "status":
|
||||||
|
Widgets = append(Widgets, status.NewWidget())
|
||||||
|
case "system":
|
||||||
|
Widgets = append(Widgets, system.NewWidget(date, version))
|
||||||
|
case "textfile":
|
||||||
|
Widgets = append(Widgets, textfile.NewWidget(app, pages))
|
||||||
|
case "todo":
|
||||||
|
Widgets = append(Widgets, todo.NewWidget(app, pages))
|
||||||
|
case "weather":
|
||||||
|
Widgets = append(Widgets, weather.NewWidget(app, pages))
|
||||||
|
default:
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func makeWidgets(app *tview.Application, pages *tview.Pages) {
|
func makeWidgets(app *tview.Application, pages *tview.Pages) {
|
||||||
|
Widgets = []wtf.Wtfable{}
|
||||||
|
|
||||||
// Always in alphabetical order
|
// Always in alphabetical order
|
||||||
bamboohr.Config = Config
|
bamboohr.Config = Config
|
||||||
bittrex.Config = Config
|
bittrex.Config = Config
|
||||||
@ -179,28 +228,11 @@ func makeWidgets(app *tview.Application, pages *tview.Pages) {
|
|||||||
weather.Config = Config
|
weather.Config = Config
|
||||||
wtf.Config = Config
|
wtf.Config = Config
|
||||||
|
|
||||||
// Always in alphabetical order
|
mods, _ := Config.Map("wtf.mods")
|
||||||
Widgets = []wtf.Wtfable{
|
for mod := range mods {
|
||||||
bamboohr.NewWidget(),
|
if enabled, _ := Config.Bool("wtf.mods." + mod + ".enabled"); enabled {
|
||||||
bittrex.NewWidget(),
|
addWidget(app, pages, mod)
|
||||||
clocks.NewWidget(),
|
}
|
||||||
cmdrunner.NewWidget(),
|
|
||||||
cryptolive.NewWidget(),
|
|
||||||
gcal.NewWidget(),
|
|
||||||
git.NewWidget(app, pages),
|
|
||||||
github.NewWidget(app, pages),
|
|
||||||
ipinfo.NewWidget(),
|
|
||||||
jira.NewWidget(),
|
|
||||||
newrelic.NewWidget(),
|
|
||||||
opsgenie.NewWidget(),
|
|
||||||
power.NewWidget(),
|
|
||||||
prettyweather.NewWidget(),
|
|
||||||
security.NewWidget(),
|
|
||||||
status.NewWidget(),
|
|
||||||
system.NewWidget(date, version),
|
|
||||||
textfile.NewWidget(app, pages),
|
|
||||||
todo.NewWidget(app, pages),
|
|
||||||
weather.NewWidget(app, pages),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
FocusTracker = wtf.FocusTracker{
|
FocusTracker = wtf.FocusTracker{
|
||||||
|
@ -9,7 +9,7 @@ type Scheduler interface {
|
|||||||
RefreshInterval() int
|
RefreshInterval() int
|
||||||
}
|
}
|
||||||
|
|
||||||
func Schedule(widget Scheduler) {
|
func Schedule(widget Wtfable) {
|
||||||
// Kick off the first refresh and then leave the rest to the timer
|
// Kick off the first refresh and then leave the rest to the timer
|
||||||
widget.Refresh()
|
widget.Refresh()
|
||||||
|
|
||||||
@ -25,7 +25,12 @@ func Schedule(widget Scheduler) {
|
|||||||
for {
|
for {
|
||||||
select {
|
select {
|
||||||
case <-tick.C:
|
case <-tick.C:
|
||||||
|
if widget.Enabled() {
|
||||||
widget.Refresh()
|
widget.Refresh()
|
||||||
|
} else {
|
||||||
|
tick.Stop()
|
||||||
|
return
|
||||||
|
}
|
||||||
case <-quit:
|
case <-quit:
|
||||||
tick.Stop()
|
tick.Stop()
|
||||||
return
|
return
|
||||||
|
@ -74,7 +74,7 @@ func TestToInts(t *testing.T) {
|
|||||||
actual := ToInts(source)
|
actual := ToInts(source)
|
||||||
|
|
||||||
if diff := deep.Equal(expected, actual); diff != nil {
|
if diff := deep.Equal(expected, actual); diff != nil {
|
||||||
t.Fatalf("Expected %s but got %s", expected, actual)
|
t.Fatalf("Expected %v but got %v", expected, actual)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user