diff --git a/cfg/common_settings.go b/cfg/common_settings.go index 2e00251c..bbe7cbd9 100644 --- a/cfg/common_settings.go +++ b/cfg/common_settings.go @@ -28,13 +28,16 @@ type Common struct { PositionSettings `help:"Defines where in the grid this module’s widget will be displayed."` Sigils - Colors ColorTheme + Colors ColorTheme + Config *config.Config + + DocPath string + Bordered bool `help:"Whether or not the module should be displayed with a border." values:"true, false" optional:"true" default:"true"` Enabled bool `help:"Whether or not this module is executed and if its data displayed onscreen." values:"true, false" optional:"true" default:"false"` Focusable bool `help:"Whether or not this module is focusable." values:"true, false" optional:"true" default:"false"` RefreshInterval int `help:"How often, in seconds, this module will update its data." values:"A positive integer, 0..n." optional:"true"` Title string `help:"The title string to show when displaying this module" optional:"true"` - Config *config.Config focusChar int `help:"Define one of the number keys as a short cut key to access the widget." optional:"true"` } @@ -167,6 +170,15 @@ func (common *Common) PaginationMarker(len, pos, width int) string { return sigils } +// SetDocumentationPath is used to explicitly set the documentation path that should be opened +// when the key to open the documentation is pressed. +// Setting this is probably not necessary unless the module documentation is nested inside a +// documentation subdirectory in the /wtfutildocs repo, or the module here has a different +// name than the module's display name in the documentation (which ideally wouldn't be a thing). +func (common *Common) SetDocumentationPath(path string) { + common.DocPath = path +} + // Validations aggregates all the validations from all the sub-sections in Common into a // single array of validations func (common *Common) Validations() []Validatable { diff --git a/modules/azuredevops/settings.go b/modules/azuredevops/settings.go index f2359dfc..9e21f0e1 100644 --- a/modules/azuredevops/settings.go +++ b/modules/azuredevops/settings.go @@ -14,7 +14,7 @@ const ( // Settings defines the configuration options for this module type Settings struct { - common *cfg.Common + *cfg.Common apiToken string `help:"Your Azure DevOps Access Token."` labelColor string @@ -26,7 +26,7 @@ type Settings struct { // NewSettingsFromYAML creates and returns an instance of Settings with configuration options populated func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocus, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocus, ymlConfig, globalConfig), apiToken: ymlConfig.UString("apiToken", os.Getenv("WTF_AZURE_DEVOPS_API_TOKEN")), labelColor: ymlConfig.UString("labelColor", "white"), diff --git a/modules/azuredevops/widget.go b/modules/azuredevops/widget.go index 1d28162d..89ff3dd7 100644 --- a/modules/azuredevops/widget.go +++ b/modules/azuredevops/widget.go @@ -21,7 +21,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/bamboohr/settings.go b/modules/bamboohr/settings.go index 2977aeef..b15d4c20 100644 --- a/modules/bamboohr/settings.go +++ b/modules/bamboohr/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your BambooHR API token."` subdomain string `help:"Your BambooHR API subdomain name."` @@ -21,7 +21,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_BAMBOO_HR_TOKEN"))), subdomain: ymlConfig.UString("subdomain", os.Getenv("WTF_BAMBOO_HR_SUBDOMAIN")), diff --git a/modules/bamboohr/widget.go b/modules/bamboohr/widget.go index 89aa7a50..dc42f1ad 100644 --- a/modules/bamboohr/widget.go +++ b/modules/bamboohr/widget.go @@ -21,7 +21,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/bargraph/settings.go b/modules/bargraph/settings.go index 8db9329b..4eb3ccdd 100644 --- a/modules/bargraph/settings.go +++ b/modules/bargraph/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/bargraph/widget.go b/modules/bargraph/widget.go index 4e78f236..6eb691f7 100644 --- a/modules/bargraph/widget.go +++ b/modules/bargraph/widget.go @@ -23,7 +23,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - BarGraph: view.NewBarGraph(app, "Sample Bar Graph", settings.common), + BarGraph: view.NewBarGraph(app, "Sample Bar Graph", settings.Common), app: app, } diff --git a/modules/buildkite/settings.go b/modules/buildkite/settings.go index 6e24b83a..8eeb0eea 100644 --- a/modules/buildkite/settings.go +++ b/modules/buildkite/settings.go @@ -21,7 +21,8 @@ type PipelineSettings struct { // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common + apiKey string `help:"Your Buildkite API Token"` orgSlug string `help:"Organization Slug"` pipelines []PipelineSettings `help:"An array of pipelines to get data from"` @@ -30,7 +31,8 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_BUILDKITE_TOKEN")), orgSlug: ymlConfig.UString("organizationSlug"), pipelines: buildPipelineSettings(ymlConfig), diff --git a/modules/buildkite/widget.go b/modules/buildkite/widget.go index d018a13b..48949226 100644 --- a/modules/buildkite/widget.go +++ b/modules/buildkite/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/cds/favorites/display.go b/modules/cds/favorites/display.go index 095343a7..636ea54a 100644 --- a/modules/cds/favorites/display.go +++ b/modules/cds/favorites/display.go @@ -25,7 +25,7 @@ func (widget *Widget) content() (string, string, bool) { } _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.workflows), widget.Idx, width) + "\n" + str := widget.settings.PaginationMarker(len(widget.workflows), widget.Idx, width) + "\n" title := fmt.Sprintf("%s - %s", widget.CommonSettings().Title, widget.title(workflow)) str += widget.displayWorkflowRuns(workflow) @@ -36,7 +36,7 @@ func (widget *Widget) content() (string, string, bool) { func (widget *Widget) title(workflow *sdk.Workflow) string { return fmt.Sprintf( "[%s]%s/%s[white]", - widget.settings.common.Colors.TextTheme.Title, + widget.settings.Colors.TextTheme.Title, workflow.ProjectKey, workflow.Name, ) } diff --git a/modules/cds/favorites/settings.go b/modules/cds/favorites/settings.go index 3aa827ab..26819e43 100644 --- a/modules/cds/favorites/settings.go +++ b/modules/cds/favorites/settings.go @@ -15,7 +15,8 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common + token string `help:"Your CDS API token."` apiURL string `help:"Your CDS API URL."` uiURL string @@ -25,7 +26,8 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + token: ymlConfig.UString("token", ymlConfig.UString("token", os.Getenv("CDS_TOKEN"))), apiURL: ymlConfig.UString("apiURL", os.Getenv("CDS_API_URL")), hideTags: utils.ToStrs(ymlConfig.UList("hideTags")), diff --git a/modules/cds/favorites/widget.go b/modules/cds/favorites/widget.go index 4681a968..1da6b9ef 100644 --- a/modules/cds/favorites/widget.go +++ b/modules/cds/favorites/widget.go @@ -29,8 +29,8 @@ type Widget struct { // NewWidget creates a new instance of the widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "workflow", "workflows"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/cds/queue/display.go b/modules/cds/queue/display.go index 6d2c8fd4..5b9f758a 100644 --- a/modules/cds/queue/display.go +++ b/modules/cds/queue/display.go @@ -23,7 +23,7 @@ func (widget *Widget) content() (string, string, bool) { filter := widget.currentFilter() _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.filters), widget.Idx, width) + "\n" + str := widget.settings.PaginationMarker(len(widget.filters), widget.Idx, width) + "\n" str += widget.displayQueue(filter) title := fmt.Sprintf("%s - %s", widget.CommonSettings().Title, widget.title(filter)) @@ -34,7 +34,7 @@ func (widget *Widget) content() (string, string, bool) { func (widget *Widget) title(filter string) string { return fmt.Sprintf( "[%s]%d - %s[white]", - widget.settings.common.Colors.TextTheme.Title, + widget.settings.Colors.TextTheme.Title, widget.maxItems, filter, ) diff --git a/modules/cds/queue/settings.go b/modules/cds/queue/settings.go index 70313053..19beb96a 100644 --- a/modules/cds/queue/settings.go +++ b/modules/cds/queue/settings.go @@ -14,7 +14,8 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common + token string `help:"Your CDS API token."` apiURL string `help:"Your CDS API URL."` uiURL string @@ -23,7 +24,8 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + token: ymlConfig.UString("token", ymlConfig.UString("token", os.Getenv("CDS_TOKEN"))), apiURL: ymlConfig.UString("apiURL", os.Getenv("CDS_API_URL")), } diff --git a/modules/cds/queue/widget.go b/modules/cds/queue/widget.go index 36543a33..9328c997 100644 --- a/modules/cds/queue/widget.go +++ b/modules/cds/queue/widget.go @@ -29,8 +29,8 @@ type Widget struct { // NewWidget creates a new instance of the widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "workflow", "workflows"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "workflow", "workflows"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/circleci/settings.go b/modules/circleci/settings.go index d46c82b3..e79e5cc9 100644 --- a/modules/circleci/settings.go +++ b/modules/circleci/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your CircleCI API token."` numberOfBuilds int `help:"The number of build, 10 by default"` @@ -22,7 +22,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_CIRCLE_API_KEY"))), numberOfBuilds: ymlConfig.UInt("numberOfBuilds", 10), diff --git a/modules/circleci/widget.go b/modules/circleci/widget.go index b3018cbf..902fbeac 100644 --- a/modules/circleci/widget.go +++ b/modules/circleci/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), Client: NewClient(settings.apiKey), settings: settings, diff --git a/modules/clocks/settings.go b/modules/clocks/settings.go index 10ee8579..baa7885d 100644 --- a/modules/clocks/settings.go +++ b/modules/clocks/settings.go @@ -13,7 +13,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common dateFormat string `help:"The format of the date string for all clocks." values:"Any valid Go date layout which is handled by Time.Format. Defaults to Jan 2."` timeFormat string `help:"The format of the time string for all clocks." values:"Any valid Go time layout which is handled by Time.Format. Defaults to 15:04 MST."` @@ -24,7 +24,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), dateFormat: ymlConfig.UString("dateFormat", utils.SimpleDateFormat), timeFormat: ymlConfig.UString("timeFormat", utils.SimpleTimeFormat), diff --git a/modules/clocks/widget.go b/modules/clocks/widget.go index d25b61ab..d41316ac 100644 --- a/modules/clocks/widget.go +++ b/modules/clocks/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), app: app, settings: settings, diff --git a/modules/cmdrunner/settings.go b/modules/cmdrunner/settings.go index faa7dda9..eb6c0c86 100644 --- a/modules/cmdrunner/settings.go +++ b/modules/cmdrunner/settings.go @@ -13,7 +13,7 @@ const ( // Settings for the cmdrunner widget type Settings struct { - common *cfg.Common + *cfg.Common args []string `help:"The arguments to the command, with each item as an element in an array. Example: for curl -I cisco.com, the arguments array would be ['-I', 'cisco.com']."` cmd string `help:"The terminal command to be run, withouth the arguments. Ie: ping, whoami, curl."` @@ -29,7 +29,7 @@ type Settings struct { // NewSettingsFromYAML loads the cmdrunner portion of the WTF config func NewSettingsFromYAML(name string, moduleConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, moduleConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, moduleConfig, globalConfig), args: utils.ToStrs(moduleConfig.UList("args")), cmd: moduleConfig.UString("cmd"), diff --git a/modules/cmdrunner/widget.go b/modules/cmdrunner/widget.go index 3bb0248a..ccf35a69 100644 --- a/modules/cmdrunner/widget.go +++ b/modules/cmdrunner/widget.go @@ -29,7 +29,7 @@ type Widget struct { // NewWidget creates a new instance of the widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, buffer: &bytes.Buffer{}, diff --git a/modules/cryptoexchanges/bittrex/settings.go b/modules/cryptoexchanges/bittrex/settings.go index b3f30025..016dbdc1 100644 --- a/modules/cryptoexchanges/bittrex/settings.go +++ b/modules/cryptoexchanges/bittrex/settings.go @@ -32,15 +32,16 @@ type summary struct { } type Settings struct { + *cfg.Common + colors - common *cfg.Common summary } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } settings.colors.base.name = ymlConfig.UString("colors.base.name") diff --git a/modules/cryptoexchanges/bittrex/widget.go b/modules/cryptoexchanges/bittrex/widget.go index f0d14996..2c52fb6a 100644 --- a/modules/cryptoexchanges/bittrex/widget.go +++ b/modules/cryptoexchanges/bittrex/widget.go @@ -31,7 +31,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, summaryList: summaryList{}, diff --git a/modules/cryptoexchanges/blockfolio/settings.go b/modules/cryptoexchanges/blockfolio/settings.go index 0a45880c..0726121c 100644 --- a/modules/cryptoexchanges/blockfolio/settings.go +++ b/modules/cryptoexchanges/blockfolio/settings.go @@ -17,8 +17,9 @@ type colors struct { } type Settings struct { + *cfg.Common + colors - common *cfg.Common deviceToken string displayHoldings bool @@ -27,7 +28,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), deviceToken: ymlConfig.UString("device_token"), displayHoldings: ymlConfig.UBool("displayHoldings", true), diff --git a/modules/cryptoexchanges/blockfolio/widget.go b/modules/cryptoexchanges/blockfolio/widget.go index d1f15dd4..9be63771 100644 --- a/modules/cryptoexchanges/blockfolio/widget.go +++ b/modules/cryptoexchanges/blockfolio/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), device_token: settings.deviceToken, settings: settings, diff --git a/modules/cryptoexchanges/cryptolive/price/settings.go b/modules/cryptoexchanges/cryptolive/price/settings.go index 45a36594..be00cc6d 100644 --- a/modules/cryptoexchanges/cryptolive/price/settings.go +++ b/modules/cryptoexchanges/cryptolive/price/settings.go @@ -38,15 +38,16 @@ type currency struct { } type Settings struct { + *cfg.Common + colors - common *cfg.Common currencies map[string]*currency } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } settings.colors.from.name = ymlConfig.UString("colors.from.name") diff --git a/modules/cryptoexchanges/cryptolive/settings.go b/modules/cryptoexchanges/cryptolive/settings.go index 5d10182c..942ce7c2 100644 --- a/modules/cryptoexchanges/cryptolive/settings.go +++ b/modules/cryptoexchanges/cryptolive/settings.go @@ -35,8 +35,9 @@ type colors struct { } type Settings struct { + *cfg.Common + colors - common *cfg.Common currencies map[string]interface{} top map[string]interface{} @@ -50,7 +51,7 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co top, _ := ymlConfig.Map("top") settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), currencies: currencies, top: top, diff --git a/modules/cryptoexchanges/cryptolive/toplist/settings.go b/modules/cryptoexchanges/cryptolive/toplist/settings.go index ed89ee38..2259fad6 100644 --- a/modules/cryptoexchanges/cryptolive/toplist/settings.go +++ b/modules/cryptoexchanges/cryptolive/toplist/settings.go @@ -39,15 +39,16 @@ type currency struct { } type Settings struct { + *cfg.Common + colors - common *cfg.Common - top map[string]*currency + top map[string]*currency } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } settings.colors.from.name = ymlConfig.UString("colors.from.name") diff --git a/modules/cryptoexchanges/cryptolive/widget.go b/modules/cryptoexchanges/cryptolive/widget.go index bf6c8cd4..bc008f6e 100644 --- a/modules/cryptoexchanges/cryptolive/widget.go +++ b/modules/cryptoexchanges/cryptolive/widget.go @@ -22,7 +22,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), priceWidget: price.NewWidget(settings.priceSettings), toplistWidget: toplist.NewWidget(settings.toplistSettings), diff --git a/modules/datadog/settings.go b/modules/datadog/settings.go index 0859a12f..f3a4c0a5 100644 --- a/modules/datadog/settings.go +++ b/modules/datadog/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your Datadog API key."` applicationKey string `help:"Your Datadog Application key."` @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_DATADOG_API_KEY"))), applicationKey: ymlConfig.UString("applicationKey", os.Getenv("WTF_DATADOG_APPLICATION_KEY")), diff --git a/modules/datadog/widget.go b/modules/datadog/widget.go index 0d88de04..3fbf6dcb 100644 --- a/modules/datadog/widget.go +++ b/modules/datadog/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } @@ -78,7 +78,7 @@ func (widget *Widget) content() (string, string, bool) { " %s\n", fmt.Sprintf( "[%s]Triggered Monitors[white]", - widget.settings.common.Colors.Subheading, + widget.settings.Colors.Subheading, ), ) for idx, triggeredMonitor := range triggeredMonitors { diff --git a/modules/devto/settings.go b/modules/devto/settings.go index f5e68555..55e365a5 100644 --- a/modules/devto/settings.go +++ b/modules/devto/settings.go @@ -13,7 +13,7 @@ const ( // Settings defines the configuration options for this module type Settings struct { - common *cfg.Common + *cfg.Common numberOfArticles int `help:"Number of stories to show. Default is 10" optional:"true"` contentTag string `help:"List articles from a specific tag. Default is empty" optional:"true"` @@ -24,7 +24,8 @@ type Settings struct { // NewSettingsFromYAML creates and returns an instance of Settings with configuration options populated func NewSettingsFromYAML(name string, yamlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, yamlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, yamlConfig, globalConfig), + numberOfArticles: yamlConfig.UInt("numberOfArticles", 10), contentTag: yamlConfig.UString("contentTag", ""), contentUsername: yamlConfig.UString("contentUsername", ""), diff --git a/modules/devto/widget.go b/modules/devto/widget.go index 52d4498f..cc0e1252 100644 --- a/modules/devto/widget.go +++ b/modules/devto/widget.go @@ -21,7 +21,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/digitalclock/settings.go b/modules/digitalclock/settings.go index fb49b526..ca2a2dcb 100644 --- a/modules/digitalclock/settings.go +++ b/modules/digitalclock/settings.go @@ -12,7 +12,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common color string `help:"The color of the clock."` font string `help:"The font of the clock." values:"bigfont or digitalfont"` @@ -23,7 +23,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), color: ymlConfig.UString("color"), font: ymlConfig.UString("font"), diff --git a/modules/digitalclock/widget.go b/modules/digitalclock/widget.go index ea6fd0ee..6baa055a 100644 --- a/modules/digitalclock/widget.go +++ b/modules/digitalclock/widget.go @@ -16,7 +16,7 @@ type Widget struct { // NewWidget creates a new widget using settings func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), app: app, settings: settings, diff --git a/modules/digitalocean/display.go b/modules/digitalocean/display.go index ea85e96b..064743d6 100644 --- a/modules/digitalocean/display.go +++ b/modules/digitalocean/display.go @@ -20,7 +20,7 @@ func (widget *Widget) content() (string, string, bool) { return title, " no columns defined", false } - str := fmt.Sprintf(" [::b][%s]", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [::b][%s]", widget.settings.Colors.Subheading) for _, colName := range columnSet { truncName := utils.Truncate(colName, maxColWidth, false) diff --git a/modules/digitalocean/settings.go b/modules/digitalocean/settings.go index 3a46359c..f8cae66f 100644 --- a/modules/digitalocean/settings.go +++ b/modules/digitalocean/settings.go @@ -24,7 +24,7 @@ var defaultColumns = []interface{}{ // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your DigitalOcean API key."` columns []string `help:"A list of the droplet properties to display."` @@ -35,7 +35,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_DIGITALOCEAN_API_KEY"))), columns: utils.ToStrs(ymlConfig.UList("columns", defaultColumns)), diff --git a/modules/digitalocean/widget.go b/modules/digitalocean/widget.go index 6b2f8680..0ac96702 100644 --- a/modules/digitalocean/widget.go +++ b/modules/digitalocean/widget.go @@ -44,7 +44,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), app: app, pages: pages, diff --git a/modules/docker/client.go b/modules/docker/client.go index 5f75bc22..ae218efc 100644 --- a/modules/docker/client.go +++ b/modules/docker/client.go @@ -41,13 +41,13 @@ func (widget *Widget) getSystemInfo() string { }{ { name: "name:", - value: fmt.Sprintf("[%s]%s", widget.settings.common.Colors.RowTheme.EvenForeground, info.Name), + value: fmt.Sprintf("[%s]%s", widget.settings.Colors.RowTheme.EvenForeground, info.Name), }, { name: "version:", - value: fmt.Sprintf("[%s]%s", widget.settings.common.Colors.RowTheme.EvenForeground, info.ServerVersion), + value: fmt.Sprintf("[%s]%s", widget.settings.Colors.RowTheme.EvenForeground, info.ServerVersion), }, { name: "root:", - value: fmt.Sprintf("[%s]%s", widget.settings.common.Colors.RowTheme.EvenForeground, info.DockerRootDir), + value: fmt.Sprintf("[%s]%s", widget.settings.Colors.RowTheme.EvenForeground, info.DockerRootDir), }, { name: "containers:", @@ -57,15 +57,15 @@ func (widget *Widget) getSystemInfo() string { }, { name: "images:", - value: fmt.Sprintf("[%s]%d", widget.settings.common.Colors.RowTheme.EvenForeground, info.Images), + value: fmt.Sprintf("[%s]%d", widget.settings.Colors.RowTheme.EvenForeground, info.Images), }, { name: "volumes:", - value: fmt.Sprintf("[%s]%v", widget.settings.common.Colors.RowTheme.EvenForeground, len(diskUsage.Volumes)), + value: fmt.Sprintf("[%s]%v", widget.settings.Colors.RowTheme.EvenForeground, len(diskUsage.Volumes)), }, { name: "memory limit:", - value: fmt.Sprintf("[%s]%s", widget.settings.common.Colors.RowTheme.EvenForeground, humanize.Bytes(uint64(info.MemTotal))), + value: fmt.Sprintf("[%s]%s", widget.settings.Colors.RowTheme.EvenForeground, humanize.Bytes(uint64(info.MemTotal))), }, { name: "disk usage:", @@ -76,19 +76,19 @@ func (widget *Widget) getSystemInfo() string { [%s]* [::b]total: [%s]%s[::-] `, widget.settings.labelColor, - widget.settings.common.Colors.RowTheme.EvenForeground, + widget.settings.Colors.RowTheme.EvenForeground, humanize.Bytes(uint64(duContainer)), widget.settings.labelColor, - widget.settings.common.Colors.RowTheme.EvenForeground, + widget.settings.Colors.RowTheme.EvenForeground, humanize.Bytes(uint64(duImg)), widget.settings.labelColor, - widget.settings.common.Colors.RowTheme.EvenForeground, + widget.settings.Colors.RowTheme.EvenForeground, humanize.Bytes(uint64(duVol)), widget.settings.labelColor, - widget.settings.common.Colors.RowTheme.EvenForeground, + widget.settings.Colors.RowTheme.EvenForeground, humanize.Bytes(uint64(duContainer+duImg+duVol))), }, } diff --git a/modules/docker/settings.go b/modules/docker/settings.go index 9625c186..092377d4 100644 --- a/modules/docker/settings.go +++ b/modules/docker/settings.go @@ -12,14 +12,15 @@ const ( // Settings defines the configuration options for this module type Settings struct { - common *cfg.Common + *cfg.Common + labelColor string } // NewSettingsFromYAML creates and returns an instance of Settings with configuration options populated func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), labelColor: ymlConfig.UString("labelColor", "white"), } diff --git a/modules/docker/widget.go b/modules/docker/widget.go index d0479f7a..8eff70d2 100644 --- a/modules/docker/widget.go +++ b/modules/docker/widget.go @@ -18,7 +18,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } @@ -56,11 +56,11 @@ func (widget *Widget) refreshDisplayBuffer() { widget.displayBuffer = "" - widget.displayBuffer += fmt.Sprintf("[%s] System[white]\n", widget.settings.common.Colors.Subheading) + widget.displayBuffer += fmt.Sprintf("[%s] System[white]\n", widget.settings.Colors.Subheading) widget.displayBuffer += widget.getSystemInfo() widget.displayBuffer += "\n" - widget.displayBuffer += fmt.Sprintf("[%s] Containers[white]\n", widget.settings.common.Colors.Subheading) + widget.displayBuffer += fmt.Sprintf("[%s] Containers[white]\n", widget.settings.Colors.Subheading) widget.displayBuffer += widget.getContainerStates() } diff --git a/modules/exchangerates/settings.go b/modules/exchangerates/settings.go index 3fa9bac1..8d693a42 100644 --- a/modules/exchangerates/settings.go +++ b/modules/exchangerates/settings.go @@ -13,7 +13,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common precision int `help:"How many decimal places to display." optional:"true"` @@ -24,7 +24,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), precision: ymlConfig.UInt("precision", 7), diff --git a/modules/exchangerates/widget.go b/modules/exchangerates/widget.go index 8d45b8bc..01dbfb6d 100644 --- a/modules/exchangerates/widget.go +++ b/modules/exchangerates/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/feedreader/settings.go b/modules/feedreader/settings.go index 755c88eb..e4c31a38 100644 --- a/modules/feedreader/settings.go +++ b/modules/feedreader/settings.go @@ -13,7 +13,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common feeds []string `help:"An array of RSS and Atom feed URLs"` feedLimit int `help:"The maximum number of stories to display for each feed"` @@ -22,7 +22,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := &Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), feeds: utils.ToStrs(ymlConfig.UList("feeds")), feedLimit: ymlConfig.UInt("feedLimit", -1), diff --git a/modules/feedreader/widget.go b/modules/feedreader/widget.go index 9f290ad3..5b934ea6 100644 --- a/modules/feedreader/widget.go +++ b/modules/feedreader/widget.go @@ -65,7 +65,7 @@ func getShowText(feedItem *FeedItem, showType ShowType) string { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), parser: gofeed.NewParser(), settings: settings, @@ -165,7 +165,7 @@ func (widget *Widget) content() (string, string, bool) { // Grays out viewed items in the list, while preserving background highlighting when selected rowColor = "gray" if idx == widget.Selected { - rowColor = fmt.Sprintf("gray:%s", widget.settings.common.Colors.RowTheme.HighlightedBackground) + rowColor = fmt.Sprintf("gray:%s", widget.settings.Colors.RowTheme.HighlightedBackground) } } diff --git a/modules/finnhub/settings.go b/modules/finnhub/settings.go index 289f895c..90bcccfa 100644 --- a/modules/finnhub/settings.go +++ b/modules/finnhub/settings.go @@ -15,7 +15,8 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common + apiKey string `help:"Your finnhub API token."` symbols []string `help:"An array of stocks symbols (i.e. AAPL, MSFT)"` } @@ -24,7 +25,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_FINNHUB_API_KEY"))), symbols: utils.ToStrs(ymlConfig.UList("symbols")), diff --git a/modules/finnhub/widget.go b/modules/finnhub/widget.go index 1a105aa7..961144c3 100644 --- a/modules/finnhub/widget.go +++ b/modules/finnhub/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ Client: NewClient(settings.symbols, settings.apiKey), - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/football/settings.go b/modules/football/settings.go index 6532ca54..777ffb0c 100644 --- a/modules/football/settings.go +++ b/modules/football/settings.go @@ -13,7 +13,8 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common + apiKey string `help:"Your Football-data API token."` league string `help:"Name of the competition. For example PL"` favTeam string `help:"Teams to follow in mentioned league"` @@ -25,7 +26,8 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_FOOTBALL_API_KEY"))), league: ymlConfig.UString("league", ymlConfig.UString("league", os.Getenv("WTF_FOOTBALL_LEAGUE"))), favTeam: ymlConfig.UString("favTeam", ymlConfig.UString("favTeam", os.Getenv("WTF_FOOTBALL_TEAM"))), diff --git a/modules/football/widget.go b/modules/football/widget.go index 16bd8edb..52ee6ac5 100644 --- a/modules/football/widget.go +++ b/modules/football/widget.go @@ -51,7 +51,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * } widget = Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), Client: NewClient(settings.apiKey), League: leagueId, settings: settings, diff --git a/modules/gcal/display.go b/modules/gcal/display.go index ba0b8b15..acd6cd57 100644 --- a/modules/gcal/display.go +++ b/modules/gcal/display.go @@ -14,7 +14,7 @@ func (widget *Widget) display() { } func (widget *Widget) content() (string, string, bool) { - title := widget.settings.common.Title + title := widget.settings.Title calEvents := widget.calEvents if widget.err != nil { diff --git a/modules/gcal/display_test.go b/modules/gcal/display_test.go index e2dc71c1..84f5feff 100644 --- a/modules/gcal/display_test.go +++ b/modules/gcal/display_test.go @@ -21,25 +21,25 @@ func Test_display_content(t *testing.T) { }{ { name: "Event content without any events", - settings: &Settings{common: &cfg.Common{}}, + settings: &Settings{Common: &cfg.Common{}}, events: nil, descriptionWanted: "No calendar events", }, { name: "Event content with a single event, without end times displayed", - settings: &Settings{common: &cfg.Common{}, showEndTime: false}, + settings: &Settings{Common: &cfg.Common{}, showEndTime: false}, events: []*CalEvent{NewCalEvent(event)}, descriptionWanted: "[]Saturday, Apr 19\n []01:00 []Foo[white]\n \n", }, { name: "Event content with a single event without showEndTime explictily set in settings", - settings: &Settings{common: &cfg.Common{}}, + settings: &Settings{Common: &cfg.Common{}}, events: []*CalEvent{NewCalEvent(event)}, descriptionWanted: "[]Saturday, Apr 19\n []01:00 []Foo[white]\n \n", }, { name: "Event content with a single event with end times displayed", - settings: &Settings{common: &cfg.Common{}, showEndTime: true}, + settings: &Settings{Common: &cfg.Common{}, showEndTime: true}, events: []*CalEvent{NewCalEvent(event)}, descriptionWanted: "[]Saturday, Apr 19\n []01:00-02:00 []Foo[white]\n \n", }, diff --git a/modules/gcal/settings.go b/modules/gcal/settings.go index 82569e6d..2f0e56a1 100644 --- a/modules/gcal/settings.go +++ b/modules/gcal/settings.go @@ -23,7 +23,7 @@ type colors struct { // Settings defines the configuration options for this module type Settings struct { colors - common *cfg.Common + *cfg.Common conflictIcon string `help:"The icon displayed beside calendar events that have conflicting times (they intersect or overlap in some way)." values:"Any displayable unicode character." optional:"true"` currentIcon string `help:"The icon displayed beside the current calendar event." values:"Any displayable unicode character." optional:"true"` @@ -44,7 +44,7 @@ type Settings struct { // NewSettingsFromYAML creates and returns an instance of Settings with configuration options populated func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), conflictIcon: ymlConfig.UString("conflictIcon", "🚨"), currentIcon: ymlConfig.UString("currentIcon", "🔸"), @@ -62,8 +62,9 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co calendarReadLevel: ymlConfig.UString("calendarReadLevel", "writer"), } - settings.colors.day = ymlConfig.UString("colors.day", settings.common.Colors.Subheading) + settings.colors.day = ymlConfig.UString("colors.day", settings.Colors.Subheading) settings.colors.description = ymlConfig.UString("colors.description", "white") + // settings.colors.eventTime is a new feature introduced via issue #638. Prior to this, the color of the event // time was (unintentionally) customized via settings.colors.description. To maintain backwards compatibility // for users who might be already using this to set the color of the event time, we try to determine the default @@ -72,6 +73,7 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co // // PS: We should have a deprecation plan for supporting this backwards compatibility feature. settings.colors.eventTime = ymlConfig.UString("colors.eventTime", settings.colors.description) + settings.colors.highlights = ymlConfig.UList("colors.highlights") settings.colors.past = ymlConfig.UString("colors.past", "gray") settings.colors.title = ymlConfig.UString("colors.title", "white") diff --git a/modules/gcal/widget.go b/modules/gcal/widget.go index 6c365989..c551cf6e 100644 --- a/modules/gcal/widget.go +++ b/modules/gcal/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), app: app, settings: settings, diff --git a/modules/gerrit/display.go b/modules/gerrit/display.go index 2572692c..2c0587ba 100644 --- a/modules/gerrit/display.go +++ b/modules/gerrit/display.go @@ -22,14 +22,14 @@ func (widget *Widget) content() (string, string, bool) { title = fmt.Sprintf("%s- %s", widget.CommonSettings().Title, widget.title(project)) _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.GerritProjects), widget.Idx, width) + "\n" - str += fmt.Sprintf(" [%s]Stats[white]\n", widget.settings.common.Colors.Subheading) + str := widget.settings.PaginationMarker(len(widget.GerritProjects), widget.Idx, width) + "\n" + str += fmt.Sprintf(" [%s]Stats[white]\n", widget.settings.Colors.Subheading) str += widget.displayStats(project) str += "\n" - str += fmt.Sprintf(" [%s]Open Incoming Reviews[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]Open Incoming Reviews[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyIncomingReviews(project, widget.settings.username) str += "\n" - str += fmt.Sprintf(" [%s]My Outgoing Reviews[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]My Outgoing Reviews[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyOutgoingReviews(project, widget.settings.username) return title, str, false @@ -72,10 +72,10 @@ func (widget *Widget) displayStats(project *GerritProject) string { func (widget *Widget) rowColor(idx int) string { if widget.View.HasFocus() && (idx == widget.selected) { - return widget.settings.common.DefaultFocusedRowColor() + return widget.settings.DefaultFocusedRowColor() } - return widget.settings.common.RowColor(idx) + return widget.settings.RowColor(idx) } func (widget *Widget) title(project *GerritProject) string { diff --git a/modules/gerrit/settings.go b/modules/gerrit/settings.go index 1c2fb206..bebb0a15 100644 --- a/modules/gerrit/settings.go +++ b/modules/gerrit/settings.go @@ -21,7 +21,7 @@ type colors struct { type Settings struct { colors - common *cfg.Common + *cfg.Common domain string `help:"Your Gerrit corporate domain."` password string `help:"Your Gerrit HTTP Password."` @@ -32,7 +32,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), domain: ymlConfig.UString("domain", ""), password: ymlConfig.UString("password", os.Getenv("WTF_GERRIT_PASSWORD")), diff --git a/modules/gerrit/widget.go b/modules/gerrit/widget.go index 041795c7..50525d95 100644 --- a/modules/gerrit/widget.go +++ b/modules/gerrit/widget.go @@ -31,7 +31,7 @@ var ( func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), Idx: 0, diff --git a/modules/git/display.go b/modules/git/display.go index 8fc44741..896c2e4c 100644 --- a/modules/git/display.go +++ b/modules/git/display.go @@ -23,8 +23,8 @@ func (widget *Widget) content() (string, string, bool) { ) _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.GitRepos), widget.Idx, width) + "\n" - str += fmt.Sprintf(" [%s]Branch[white]\n", widget.settings.common.Colors.Subheading) + str := widget.settings.PaginationMarker(len(widget.GitRepos), widget.Idx, width) + "\n" + str += fmt.Sprintf(" [%s]Branch[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf(" %s", repoData.Branch) str += "\n" str += widget.formatChanges(repoData.ChangedFiles) @@ -35,7 +35,7 @@ func (widget *Widget) content() (string, string, bool) { } func (widget *Widget) formatChanges(data []string) string { - str := fmt.Sprintf(" [%s]Changed Files[white]\n", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [%s]Changed Files[white]\n", widget.settings.Colors.Subheading) if len(data) == 1 { str += " [grey]none[white]\n" @@ -72,7 +72,7 @@ func (widget *Widget) formatChange(line string) string { } func (widget *Widget) formatCommits(data []string) string { - str := fmt.Sprintf(" [%s]Recent Commits[white]\n", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [%s]Recent Commits[white]\n", widget.settings.Colors.Subheading) for _, line := range data { str += widget.formatCommit(line) diff --git a/modules/git/settings.go b/modules/git/settings.go index 7cf4e0f9..1d9c0eee 100644 --- a/modules/git/settings.go +++ b/modules/git/settings.go @@ -12,7 +12,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common commitCount int `help:"The number of past commits to display." values:"A positive integer, 0..n." optional:"true"` commitFormat string `help:"The string format for the commit message." optional:"true"` @@ -22,7 +22,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), commitCount: ymlConfig.UInt("commitCount", 10), commitFormat: ymlConfig.UString("commitFormat", "[forestgreen]%h [white]%s [grey]%an on %cd[white]"), diff --git a/modules/git/widget.go b/modules/git/widget.go index 2e9380cc..e9b9920c 100644 --- a/modules/git/widget.go +++ b/modules/git/widget.go @@ -30,8 +30,8 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "repository", "repositories"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), app: app, pages: pages, diff --git a/modules/github/display.go b/modules/github/display.go index 9d6b5821..06d098a2 100644 --- a/modules/github/display.go +++ b/modules/github/display.go @@ -35,21 +35,21 @@ func (widget *Widget) content() (string, string, bool) { } _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.GithubRepos), widget.Idx, width) + str := widget.settings.PaginationMarker(len(widget.GithubRepos), widget.Idx, width) if widget.settings.showStats { - str += fmt.Sprintf("\n [%s]Stats[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("\n [%s]Stats[white]\n", widget.settings.Colors.Subheading) str += widget.displayStats(repo) } if widget.settings.showOpenReviewRequests { - str += fmt.Sprintf("\n [%s]Open Review Requests[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("\n [%s]Open Review Requests[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyReviewRequests(repo, username) } if widget.settings.showMyPullRequests { - str += fmt.Sprintf("\n [%s]My Pull Requests[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("\n [%s]My Pull Requests[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyPullRequests(repo, username) } for _, customQuery := range widget.settings.customQueries { - str += fmt.Sprintf("\n [%s]%s[white]\n", widget.settings.common.Colors.Subheading, customQuery.title) + str += fmt.Sprintf("\n [%s]%s[white]\n", widget.settings.Colors.Subheading, customQuery.title) str += widget.displayCustomQuery(repo, customQuery.filter, customQuery.perPage) } @@ -139,7 +139,7 @@ func (widget *Widget) displayStats(repo *Repo) string { func (widget *Widget) title(repo *Repo) string { return fmt.Sprintf( "[%s]%s - %s[white]", - widget.settings.common.Colors.TextTheme.Title, + widget.settings.Colors.TextTheme.Title, repo.Owner, repo.Name, ) diff --git a/modules/github/settings.go b/modules/github/settings.go index 7da26186..c1a7202d 100644 --- a/modules/github/settings.go +++ b/modules/github/settings.go @@ -14,7 +14,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your GitHub API token."` baseURL string `help:"Your GitHub Enterprise API URL." optional:"true"` @@ -37,7 +37,7 @@ type customQuery struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_GITHUB_TOKEN"))), baseURL: ymlConfig.UString("baseURL", os.Getenv("WTF_GITHUB_BASE_URL")), diff --git a/modules/github/widget.go b/modules/github/widget.go index 78b61d6c..14ec6f62 100644 --- a/modules/github/widget.go +++ b/modules/github/widget.go @@ -25,8 +25,8 @@ type Widget struct { // NewWidget creates a new instance of the widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "repository", "repositories"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/gitlab/display.go b/modules/gitlab/display.go index ec413006..8197b7c7 100644 --- a/modules/gitlab/display.go +++ b/modules/gitlab/display.go @@ -39,20 +39,20 @@ func (widget *Widget) content() (string, string, bool) { title := fmt.Sprintf("%s - %s", widget.CommonSettings().Title, widget.title(project)) _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.GitlabProjects), widget.Idx, width) + "\n" - str += fmt.Sprintf(" [%s]Stats[white]\n", widget.settings.common.Colors.Subheading) + str := widget.settings.PaginationMarker(len(widget.GitlabProjects), widget.Idx, width) + "\n" + str += fmt.Sprintf(" [%s]Stats[white]\n", widget.settings.Colors.Subheading) str += widget.displayStats(project) str += "\n" - str += fmt.Sprintf(" [%s]Open Assigned Merge Requests[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]Open Assigned Merge Requests[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyAssignedMergeRequests(project, widget.settings.username) str += "\n" - str += fmt.Sprintf(" [%s]My Merge Requests[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]My Merge Requests[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyMergeRequests(project, widget.settings.username) str += "\n" - str += fmt.Sprintf(" [%s]Open Assigned Issues[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]Open Assigned Issues[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyAssignedIssues(project, widget.settings.username) str += "\n" - str += fmt.Sprintf(" [%s]My Issues[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]My Issues[white]\n", widget.settings.Colors.Subheading) str += widget.displayMyIssues(project, widget.settings.username) return title, str, false diff --git a/modules/gitlab/settings.go b/modules/gitlab/settings.go index dd322abf..691d0ea4 100644 --- a/modules/gitlab/settings.go +++ b/modules/gitlab/settings.go @@ -14,7 +14,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"A GitLab personal access token. Requires at least api access."` domain string `help:"Your GitLab corporate domain."` @@ -25,7 +25,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_GITLAB_TOKEN"))), domain: ymlConfig.UString("domain", "https://gitlab.com"), diff --git a/modules/gitlab/widget.go b/modules/gitlab/widget.go index 6a1e1da7..fe2cec74 100644 --- a/modules/gitlab/widget.go +++ b/modules/gitlab/widget.go @@ -33,8 +33,8 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * context, err := newContext(settings) widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "repository", "repositories"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), context: context, settings: settings, diff --git a/modules/gitlabtodo/settings.go b/modules/gitlabtodo/settings.go index 33cb1eaf..14eddff4 100644 --- a/modules/gitlabtodo/settings.go +++ b/modules/gitlabtodo/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common numberOfTodos int `help:"Defines number of stories to be displayed. Default is 10" optional:"true"` apiKey string `help:"A GitLab personal access token. Requires at least api access."` @@ -24,7 +24,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), numberOfTodos: ymlConfig.UInt("numberOfTodos", 10), apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_GITLAB_TOKEN")), diff --git a/modules/gitlabtodo/widget.go b/modules/gitlabtodo/widget.go index b3344077..8de387be 100644 --- a/modules/gitlabtodo/widget.go +++ b/modules/gitlabtodo/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/gitter/settings.go b/modules/gitter/settings.go index ac2fd784..86c263cb 100644 --- a/modules/gitter/settings.go +++ b/modules/gitter/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiToken string `help:"Your Gitter Personal Access Token."` numberOfMessages int `help:"Maximum number of (newest) messages to be displayed. Default is 10" optional:"true"` @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiToken: ymlConfig.UString("apiToken", os.Getenv("WTF_GITTER_API_TOKEN")), numberOfMessages: ymlConfig.UInt("numberOfMessages", 10), diff --git a/modules/gitter/widget.go b/modules/gitter/widget.go index e7ea0ab2..702fc32e 100644 --- a/modules/gitter/widget.go +++ b/modules/gitter/widget.go @@ -19,7 +19,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/googleanalytics/settings.go b/modules/googleanalytics/settings.go index b0e50f3c..34876881 100644 --- a/modules/googleanalytics/settings.go +++ b/modules/googleanalytics/settings.go @@ -11,7 +11,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common months int secretFile string `help:"Your Google client secret JSON file." values:"A string representing a file path to the JSON secret file."` @@ -22,7 +22,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), months: ymlConfig.UInt("months"), secretFile: ymlConfig.UString("secretFile"), diff --git a/modules/googleanalytics/widget.go b/modules/googleanalytics/widget.go index fad91a0d..a759bd62 100644 --- a/modules/googleanalytics/widget.go +++ b/modules/googleanalytics/widget.go @@ -13,7 +13,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/grafana/settings.go b/modules/grafana/settings.go index f2c319f4..500aace0 100644 --- a/modules/grafana/settings.go +++ b/modules/grafana/settings.go @@ -15,7 +15,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your Grafana API token."` baseURI string `help:"Base url of your grafana instance"` @@ -24,7 +24,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_GRAFANA_API_KEY")), baseURI: ymlConfig.UString("baseUri", ""), diff --git a/modules/grafana/widget.go b/modules/grafana/widget.go index 8909c496..e122d7ab 100644 --- a/modules/grafana/widget.go +++ b/modules/grafana/widget.go @@ -22,7 +22,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), Client: NewClient(settings), Selected: -1, diff --git a/modules/gspreadsheets/settings.go b/modules/gspreadsheets/settings.go index f43b1d52..2dc5cbf5 100644 --- a/modules/gspreadsheets/settings.go +++ b/modules/gspreadsheets/settings.go @@ -16,7 +16,7 @@ type colors struct { type Settings struct { colors - common *cfg.Common + *cfg.Common cellAddresses []interface{} cellNames []interface{} @@ -27,7 +27,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), cellNames: ymlConfig.UList("cells.names"), secretFile: ymlConfig.UString("secretFile"), diff --git a/modules/gspreadsheets/widget.go b/modules/gspreadsheets/widget.go index f399e40b..3ff295a3 100644 --- a/modules/gspreadsheets/widget.go +++ b/modules/gspreadsheets/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/hackernews/settings.go b/modules/hackernews/settings.go index dcc26cce..bd39f7a4 100644 --- a/modules/hackernews/settings.go +++ b/modules/hackernews/settings.go @@ -11,7 +11,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common numberOfStories int `help:"Defines number of stories to be displayed. Default is 10" optional:"true"` storyType string `help:"Category of story to see" values:"new, top, job, ask" optional:"true"` @@ -20,7 +20,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), numberOfStories: ymlConfig.UInt("numberOfStories", 10), storyType: ymlConfig.UString("storyType", "top"), diff --git a/modules/hackernews/widget.go b/modules/hackernews/widget.go index b3f5a486..918430b3 100644 --- a/modules/hackernews/widget.go +++ b/modules/hackernews/widget.go @@ -20,7 +20,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/hibp/settings.go b/modules/hibp/settings.go index ad5c80d9..fb336a06 100644 --- a/modules/hibp/settings.go +++ b/modules/hibp/settings.go @@ -23,7 +23,7 @@ type colors struct { // Settings defines the configuration properties for this module type Settings struct { colors - common *cfg.Common + *cfg.Common accounts []string `help:"A list of the accounts to check the HIBP database for."` apiKey string `help:"Your HIBP API v3 API key"` @@ -33,7 +33,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := &Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_HIBP_TOKEN"))), accounts: utils.ToStrs(ymlConfig.UList("accounts")), @@ -47,8 +47,8 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co // HIBP data doesn't need to be reloaded very often so to be gentle on this API we // enforce a minimum refresh interval - if settings.common.RefreshInterval < minRefreshInterval { - settings.common.RefreshInterval = minRefreshInterval + if settings.RefreshInterval < minRefreshInterval { + settings.RefreshInterval = minRefreshInterval } return settings diff --git a/modules/hibp/widget.go b/modules/hibp/widget.go index 862d4d13..9cf6bfaf 100644 --- a/modules/hibp/widget.go +++ b/modules/hibp/widget.go @@ -19,7 +19,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := &Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/ipaddresses/ipapi/settings.go b/modules/ipaddresses/ipapi/settings.go index 818c4f90..1b4e4cff 100644 --- a/modules/ipaddresses/ipapi/settings.go +++ b/modules/ipaddresses/ipapi/settings.go @@ -17,13 +17,13 @@ type colors struct { type Settings struct { colors - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } settings.colors.name = ymlConfig.UString("colors.name", "red") diff --git a/modules/ipaddresses/ipapi/widget.go b/modules/ipaddresses/ipapi/widget.go index 7d0c3b90..89a58368 100644 --- a/modules/ipaddresses/ipapi/widget.go +++ b/modules/ipaddresses/ipapi/widget.go @@ -38,7 +38,7 @@ type ipinfo struct { // NewWidget constructor func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/ipaddresses/ipinfo/settings.go b/modules/ipaddresses/ipinfo/settings.go index ff045d30..a9f193cf 100644 --- a/modules/ipaddresses/ipinfo/settings.go +++ b/modules/ipaddresses/ipinfo/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/ipaddresses/ipinfo/widget.go b/modules/ipaddresses/ipinfo/widget.go index 451417ad..86f4cbd9 100644 --- a/modules/ipaddresses/ipinfo/widget.go +++ b/modules/ipaddresses/ipinfo/widget.go @@ -32,7 +32,7 @@ type ipinfo struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } @@ -96,8 +96,8 @@ func (widget *Widget) setResult(info *ipinfo) { resultBuffer := new(bytes.Buffer) err := resultTemplate.Execute(resultBuffer, map[string]string{ - "subheadingColor": widget.settings.common.Colors.Subheading, - "valueColor": widget.settings.common.Colors.Text, + "subheadingColor": widget.settings.Colors.Subheading, + "valueColor": widget.settings.Colors.Text, "Ip": info.Ip, "Hostname": info.Hostname, "City": info.City, diff --git a/modules/jenkins/settings.go b/modules/jenkins/settings.go index 0d37a51b..6a54f1c0 100644 --- a/modules/jenkins/settings.go +++ b/modules/jenkins/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your Jenkins API key."` jobNameRegex string `help:"A regex that filters the jobs shown in the widget." optional:"true"` @@ -26,7 +26,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_JENKINS_API_KEY"))), jobNameRegex: ymlConfig.UString("jobNameRegex", ".*"), diff --git a/modules/jenkins/widget.go b/modules/jenkins/widget.go index 54d4bad3..e49c4c5a 100644 --- a/modules/jenkins/widget.go +++ b/modules/jenkins/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/jira/settings.go b/modules/jira/settings.go index c16f4b27..7726b581 100644 --- a/modules/jira/settings.go +++ b/modules/jira/settings.go @@ -21,7 +21,7 @@ type colors struct { type Settings struct { colors - common *cfg.Common + *cfg.Common apiKey string `help:"Your Jira API key (or password for basic auth)."` domain string `help:"Your Jira corporate domain."` @@ -35,7 +35,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_JIRA_API_KEY"))), domain: ymlConfig.UString("domain"), diff --git a/modules/jira/widget.go b/modules/jira/widget.go index 6a1f0a15..7c7dd9e3 100644 --- a/modules/jira/widget.go +++ b/modules/jira/widget.go @@ -18,7 +18,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } @@ -74,7 +74,7 @@ func (widget *Widget) content() (string, string, bool) { title := widget.CommonSettings().Title - str := fmt.Sprintf(" [%s]Assigned Issues[white]\n", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [%s]Assigned Issues[white]\n", widget.settings.Colors.Subheading) if widget.result == nil || len(widget.result.Issues) == 0 { return title, "No results to display", false diff --git a/modules/kubernetes/settings.go b/modules/kubernetes/settings.go index 331e13e4..577e5e47 100644 --- a/modules/kubernetes/settings.go +++ b/modules/kubernetes/settings.go @@ -12,7 +12,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common objects []string `help:"Kubernetes objects to show. Options are: [nodes, pods, deployments]."` title string `help:"Override the title of widget."` @@ -24,7 +24,7 @@ type Settings struct { func NewSettingsFromYAML(name string, moduleConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, moduleConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, moduleConfig, globalConfig), objects: utils.ToStrs(moduleConfig.UList("objects")), title: moduleConfig.UString("title"), diff --git a/modules/kubernetes/widget.go b/modules/kubernetes/widget.go index d36193eb..08e37a29 100644 --- a/modules/kubernetes/widget.go +++ b/modules/kubernetes/widget.go @@ -25,7 +25,7 @@ type Widget struct { // NewWidget creates a new instance of the widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), objects: settings.objects, title: settings.title, @@ -58,7 +58,7 @@ func (widget *Widget) Refresh() { widget.Redraw(func() (string, string, bool) { return title, "[red] Error getting node data [white]\n", true }) return } - content += fmt.Sprintf("[%s]Nodes[white]\n", widget.settings.common.Colors.Subheading) + content += fmt.Sprintf("[%s]Nodes[white]\n", widget.settings.Colors.Subheading) for _, node := range nodeList { content += fmt.Sprintf("%s\n", node) } @@ -71,7 +71,7 @@ func (widget *Widget) Refresh() { widget.Redraw(func() (string, string, bool) { return title, "[red] Error getting deployment data [white]\n", true }) return } - content += fmt.Sprintf("[%s]Deployments[white]\n", widget.settings.common.Colors.Subheading) + content += fmt.Sprintf("[%s]Deployments[white]\n", widget.settings.Colors.Subheading) for _, deployment := range deploymentList { content += fmt.Sprintf("%s\n", deployment) } @@ -84,7 +84,7 @@ func (widget *Widget) Refresh() { widget.Redraw(func() (string, string, bool) { return title, "[red] Error getting pod data [white]\n", false }) return } - content += fmt.Sprintf("[%s]Pods[white]\n", widget.settings.common.Colors.Subheading) + content += fmt.Sprintf("[%s]Pods[white]\n", widget.settings.Colors.Subheading) for _, pod := range podList { content += fmt.Sprintf("%s\n", pod) } diff --git a/modules/logger/settings.go b/modules/logger/settings.go index 1f5529df..f257d2f4 100644 --- a/modules/logger/settings.go +++ b/modules/logger/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/logger/widget.go b/modules/logger/widget.go index d45ff99d..ea0fdd25 100644 --- a/modules/logger/widget.go +++ b/modules/logger/widget.go @@ -24,7 +24,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), app: app, filePath: log.LogFilePath(), diff --git a/modules/mercurial/display.go b/modules/mercurial/display.go index 15984c87..9a95f4f3 100644 --- a/modules/mercurial/display.go +++ b/modules/mercurial/display.go @@ -18,13 +18,13 @@ func (widget *Widget) content() (string, string, bool) { title := fmt.Sprintf( "%s - %s[white]", - widget.settings.common.Colors.TextTheme.Title, + widget.settings.Colors.TextTheme.Title, repoData.Repository, ) _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.Data), widget.Idx, width) + "\n" - str += fmt.Sprintf(" [%s]Branch:Bookmark[white]\n", widget.settings.common.Colors.Subheading) + str := widget.settings.PaginationMarker(len(widget.Data), widget.Idx, width) + "\n" + str += fmt.Sprintf(" [%s]Branch:Bookmark[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf(" %s:%s\n", repoData.Branch, repoData.Bookmark) str += "\n" str += widget.formatChanges(repoData.ChangedFiles) @@ -35,7 +35,7 @@ func (widget *Widget) content() (string, string, bool) { } func (widget *Widget) formatChanges(data []string) string { - str := fmt.Sprintf(" [%s]Changed Files[white]\n", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [%s]Changed Files[white]\n", widget.settings.Colors.Subheading) if len(data) == 1 { str += " [grey]none[white]\n" @@ -72,7 +72,7 @@ func (widget *Widget) formatChange(line string) string { } func (widget *Widget) formatCommits(data []string) string { - str := fmt.Sprintf(" [%s]Recent Commits[white]\n", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [%s]Recent Commits[white]\n", widget.settings.Colors.Subheading) for _, line := range data { str += widget.formatCommit(line) diff --git a/modules/mercurial/settings.go b/modules/mercurial/settings.go index fcc7a801..9453f237 100644 --- a/modules/mercurial/settings.go +++ b/modules/mercurial/settings.go @@ -11,7 +11,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common commitCount int `help:"The number of past commits to display." optional:"true"` commitFormat string `help:"The string format for the commit message." optional:"true"` @@ -21,7 +21,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), commitCount: ymlConfig.UInt("commitCount", 10), commitFormat: ymlConfig.UString("commitFormat", "[forestgreen]{rev}:{phase} [white]{desc|firstline|strip} [grey]{author|person} {date|age}[white]"), diff --git a/modules/mercurial/widget.go b/modules/mercurial/widget.go index d9db9870..74c3c688 100644 --- a/modules/mercurial/widget.go +++ b/modules/mercurial/widget.go @@ -27,8 +27,8 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "repository", "repositories"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "repository", "repositories"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), app: app, pages: pages, diff --git a/modules/nbascore/settings.go b/modules/nbascore/settings.go index c3521aae..17eec2a4 100644 --- a/modules/nbascore/settings.go +++ b/modules/nbascore/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/nbascore/widget.go b/modules/nbascore/widget.go index e0493d81..215510b9 100644 --- a/modules/nbascore/widget.go +++ b/modules/nbascore/widget.go @@ -26,7 +26,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } @@ -73,7 +73,7 @@ func (widget *Widget) nbascore() (string, string, bool) { return title, err.Error(), true } - allGame := fmt.Sprintf(" [%s]", widget.settings.common.Colors.Subheading) + (cur.Format(utils.FriendlyDateFormat) + "\n\n") + "[white]" + allGame := fmt.Sprintf(" [%s]", widget.settings.Colors.Subheading) + (cur.Format(utils.FriendlyDateFormat) + "\n\n") + "[white]" for _, game := range result["games"].([]interface{}) { vTeam, hTeam, vScore, hScore := "", "", "", "" diff --git a/modules/newrelic/display.go b/modules/newrelic/display.go index d041a42c..eff9b45a 100644 --- a/modules/newrelic/display.go +++ b/modules/newrelic/display.go @@ -39,7 +39,7 @@ func (widget *Widget) contentFrom(deploys []nr.ApplicationDeployment) string { " %s\n", fmt.Sprintf( "[%s]Latest Deploys[white]", - widget.settings.common.Colors.Subheading, + widget.settings.Colors.Subheading, ), ) diff --git a/modules/newrelic/settings.go b/modules/newrelic/settings.go index 78a2f97b..99aa40ba 100644 --- a/modules/newrelic/settings.go +++ b/modules/newrelic/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your New Relic API token."` deployCount int `help:"The number of past deploys to display on screen." optional:"true"` @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_NEW_RELIC_API_KEY")), deployCount: ymlConfig.UInt("deployCount", 5), diff --git a/modules/newrelic/widget.go b/modules/newrelic/widget.go index a22cfc21..75b8bbf6 100644 --- a/modules/newrelic/widget.go +++ b/modules/newrelic/widget.go @@ -19,8 +19,8 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "applicationID", "applicationIDs"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "applicationID", "applicationIDs"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/opsgenie/settings.go b/modules/opsgenie/settings.go index 4b450e5b..e64a73aa 100644 --- a/modules/opsgenie/settings.go +++ b/modules/opsgenie/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your OpsGenie API token."` region string `help:"Defines region to use. Possible options: us (by default), eu." optional:"true"` @@ -25,7 +25,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_OPS_GENIE_API_KEY"))), region: ymlConfig.UString("region", "us"), diff --git a/modules/opsgenie/widget.go b/modules/opsgenie/widget.go index c6d1ee0e..f389fbed 100644 --- a/modules/opsgenie/widget.go +++ b/modules/opsgenie/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/pagerduty/settings.go b/modules/pagerduty/settings.go index 25bd7799..ce7cbedf 100644 --- a/modules/pagerduty/settings.go +++ b/modules/pagerduty/settings.go @@ -14,7 +14,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"Your PagerDuty API key."` escalationFilter []interface{} `help:"An array of schedule names you want to filter the OnCalls on."` @@ -30,7 +30,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_PAGERDUTY_API_KEY"))), escalationFilter: ymlConfig.UList("escalationFilter"), diff --git a/modules/pagerduty/widget.go b/modules/pagerduty/widget.go index eaf64fe4..bbac2d1b 100644 --- a/modules/pagerduty/widget.go +++ b/modules/pagerduty/widget.go @@ -25,7 +25,7 @@ type Widget struct { // NewWidget creates and returns an instance of PagerDuty widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } @@ -79,11 +79,11 @@ func (widget *Widget) contentFrom(onCalls []pagerduty.OnCall, incidents []pagerd // Incidents if widget.settings.showIncidents { - str += fmt.Sprintf("[%s] Incidents[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("[%s] Incidents[white]\n", widget.settings.Colors.Subheading) if len(incidents) > 0 { for _, incident := range incidents { - str += fmt.Sprintf("\n [%s]%s[white]\n", widget.settings.common.Colors.Label, tview.Escape(incident.Summary)) + str += fmt.Sprintf("\n [%s]%s[white]\n", widget.settings.Colors.Label, tview.Escape(incident.Summary)) str += fmt.Sprintf(" Status: %s\n", incident.Status) str += fmt.Sprintf(" Service: %s\n", incident.Service.Summary) str += fmt.Sprintf(" Escalation: %s\n", incident.EscalationPolicy.Summary) @@ -121,13 +121,13 @@ func (widget *Widget) contentFrom(onCalls []pagerduty.OnCall, incidents []pagerd sort.Strings(keys) if len(keys) > 0 { - str += fmt.Sprintf("[%s] Schedules[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("[%s] Schedules[white]\n", widget.settings.Colors.Subheading) // Print out policies, and escalation order of users for _, key := range keys { str += fmt.Sprintf( "\n [%s]%s\n", - widget.settings.common.Colors.Label, + widget.settings.Colors.Label, key, ) @@ -137,7 +137,7 @@ func (widget *Widget) contentFrom(onCalls []pagerduty.OnCall, incidents []pagerd for _, onCall := range values { str += fmt.Sprintf( " [%s]%d - %s\n", - widget.settings.common.Colors.Text, + widget.settings.Colors.Text, onCall.EscalationLevel, widget.userSummary(onCall), ) diff --git a/modules/pihole/settings.go b/modules/pihole/settings.go index fe512e22..4ca1a983 100644 --- a/modules/pihole/settings.go +++ b/modules/pihole/settings.go @@ -11,7 +11,8 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common + wrapText bool apiUrl string token string @@ -24,7 +25,8 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + apiUrl: ymlConfig.UString("apiUrl"), token: ymlConfig.UString("token"), showSummary: ymlConfig.UBool("showSummary", true), diff --git a/modules/pihole/widget.go b/modules/pihole/widget.go index 38d1c64d..64a4dd3c 100644 --- a/modules/pihole/widget.go +++ b/modules/pihole/widget.go @@ -18,11 +18,11 @@ type Widget struct { //func NewWidget(app *tview.Application, settings *Settings) *Widget { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } - widget.settings.common.RefreshInterval = 30 + widget.settings.RefreshInterval = 30 widget.initializeKeyboardControls() widget.SetDisplayFunction(widget.Refresh) widget.View.SetWordWrap(true) diff --git a/modules/pocket/settings.go b/modules/pocket/settings.go index 4fac44bd..07f1c91e 100644 --- a/modules/pocket/settings.go +++ b/modules/pocket/settings.go @@ -11,7 +11,8 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common + consumerKey string requestKey *string accessToken *string @@ -19,7 +20,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), consumerKey: ymlConfig.UString("consumerKey"), } diff --git a/modules/pocket/widget.go b/modules/pocket/widget.go index a790d218..4bb79437 100644 --- a/modules/pocket/widget.go +++ b/modules/pocket/widget.go @@ -23,7 +23,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, nil, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, nil, settings.Common), settings: settings, client: NewClient(settings.consumerKey, "http://localhost"), archivedView: false, @@ -199,11 +199,11 @@ func (widget *Widget) toggleLink() { } func (widget *Widget) formatItem(item Item, isSelected bool) string { - foreColor, backColor := widget.settings.common.Colors.RowTheme.EvenForeground, widget.settings.common.Colors.RowTheme.EvenBackground + foreColor, backColor := widget.settings.Colors.RowTheme.EvenForeground, widget.settings.Colors.RowTheme.EvenBackground text := item.ResolvedTitle if isSelected { - foreColor = widget.settings.common.Colors.RowTheme.HighlightedForeground - backColor = widget.settings.common.Colors.RowTheme.HighlightedBackground + foreColor = widget.settings.Colors.RowTheme.HighlightedForeground + backColor = widget.settings.Colors.RowTheme.HighlightedBackground } diff --git a/modules/power/settings.go b/modules/power/settings.go index 7619a6b8..2d9d167a 100644 --- a/modules/power/settings.go +++ b/modules/power/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/power/widget.go b/modules/power/widget.go index bc474090..8e7c093a 100644 --- a/modules/power/widget.go +++ b/modules/power/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), Battery: NewBattery(), diff --git a/modules/resourceusage/settings.go b/modules/resourceusage/settings.go index a524194c..55c63495 100644 --- a/modules/resourceusage/settings.go +++ b/modules/resourceusage/settings.go @@ -11,7 +11,8 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common + cpuCombined bool showCPU bool showMem bool @@ -20,7 +21,8 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + cpuCombined: ymlConfig.UBool("cpuCombined", false), showCPU: ymlConfig.UBool("showCPU", true), showMem: ymlConfig.UBool("showMem", true), diff --git a/modules/resourceusage/widget.go b/modules/resourceusage/widget.go index 637dfaf9..a3ac69a6 100644 --- a/modules/resourceusage/widget.go +++ b/modules/resourceusage/widget.go @@ -23,7 +23,7 @@ type Widget struct { // NewWidget Make new instance of widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - BarGraph: view.NewBarGraph(app, settings.common.Name, settings.common), + BarGraph: view.NewBarGraph(app, settings.Name, settings.Common), app: app, settings: settings, diff --git a/modules/rollbar/settings.go b/modules/rollbar/settings.go index 6521ed66..ed74216b 100644 --- a/modules/rollbar/settings.go +++ b/modules/rollbar/settings.go @@ -11,7 +11,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common accessToken string `help:"Your Rollbar project access token (Only needs read capabilities)."` activeOnly bool `help:"Only show items that are active." optional:"true"` @@ -24,7 +24,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), accessToken: ymlConfig.UString("accessToken"), activeOnly: ymlConfig.UBool("activeOnly", false), diff --git a/modules/rollbar/widget.go b/modules/rollbar/widget.go index 4915b4ee..b4e9d535 100644 --- a/modules/rollbar/widget.go +++ b/modules/rollbar/widget.go @@ -20,7 +20,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/security/settings.go b/modules/security/settings.go index fcf9d606..43597234 100644 --- a/modules/security/settings.go +++ b/modules/security/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/security/widget.go b/modules/security/widget.go index 0a6e1604..7c90b1f9 100644 --- a/modules/security/widget.go +++ b/modules/security/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } @@ -40,21 +40,21 @@ func (widget *Widget) Refresh() { func (widget *Widget) content() (string, string, bool) { data := NewSecurityData() data.Fetch() - str := fmt.Sprintf(" [%s]WiFi[white]\n", widget.settings.common.Colors.Subheading) + str := fmt.Sprintf(" [%s]WiFi[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf(" %8s: %s\n", "Network", data.WifiName) str += fmt.Sprintf(" %8s: %s\n", "Crypto", data.WifiEncryption) str += "\n" - str += fmt.Sprintf(" [%s]Firewall[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]Firewall[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf(" %8s: %4s\n", "Status", data.FirewallEnabled) str += fmt.Sprintf(" %8s: %4s\n", "Stealth", data.FirewallStealth) str += "\n" - str += fmt.Sprintf(" [%s]Users[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]Users[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf(" %s", strings.Join(data.LoggedInUsers, "\n ")) str += "\n\n" - str += fmt.Sprintf(" [%s]DNS[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf(" [%s]DNS[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf(" %12s\n", data.DnsAt(0)) str += fmt.Sprintf(" %12s\n", data.DnsAt(1)) str += "\n" diff --git a/modules/spacex/settings.go b/modules/spacex/settings.go index 53a46b50..f6a94ec4 100644 --- a/modules/spacex/settings.go +++ b/modules/spacex/settings.go @@ -10,13 +10,13 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { spacex := ymlConfig.UString("spacex") settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, spacex, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, spacex, defaultFocusable, ymlConfig, globalConfig), } return &settings } diff --git a/modules/spacex/widget.go b/modules/spacex/widget.go index bfbf6258..0be388f6 100644 --- a/modules/spacex/widget.go +++ b/modules/spacex/widget.go @@ -17,7 +17,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := &Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } return widget @@ -46,19 +46,19 @@ func (widget *Widget) content() (string, string, bool) { handleError(widget, err) } else { - str = fmt.Sprintf("[%s]Mission[white]\n", widget.settings.common.Colors.Subheading) + str = fmt.Sprintf("[%s]Mission[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf("%s: %s\n", "Name", launch.MissionName) str += fmt.Sprintf("%s: %s\n", "Date", wtf.UnixTime(launch.LaunchDate).Format(time.RFC822)) str += fmt.Sprintf("%s: %s\n", "Site", launch.LaunchSite.Name) str += "\n" - str += fmt.Sprintf("[%s]Links[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("[%s]Links[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf("%s: %s\n", "YouTube", launch.Links.YouTubeLink) str += fmt.Sprintf("%s: %s\n", "Reddit", launch.Links.RedditLink) if widget.CommonSettings().Height >= 2 { str += "\n" - str += fmt.Sprintf("[%s]Details[white]\n", widget.settings.common.Colors.Subheading) + str += fmt.Sprintf("[%s]Details[white]\n", widget.settings.Colors.Subheading) str += fmt.Sprintf("%s: %s\n", "RocketName", launch.Rocket.Name) str += fmt.Sprintf("%s: %s\n", "Details", launch.Details) } diff --git a/modules/spotify/settings.go b/modules/spotify/settings.go index c205140b..4c8d6ea1 100644 --- a/modules/spotify/settings.go +++ b/modules/spotify/settings.go @@ -17,12 +17,12 @@ type colors struct { type Settings struct { colors - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } settings.colors.label = ymlConfig.UString("colors.label", "green") diff --git a/modules/spotify/widget.go b/modules/spotify/widget.go index 63c0c47f..99e13677 100644 --- a/modules/spotify/widget.go +++ b/modules/spotify/widget.go @@ -21,7 +21,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), Info: spotigopher.Info{}, client: spotigopher.NewClient(), @@ -29,7 +29,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * settings: settings, } - widget.settings.common.RefreshInterval = 5 + widget.settings.RefreshInterval = 5 widget.initializeKeyboardControls() diff --git a/modules/spotifyweb/settings.go b/modules/spotifyweb/settings.go index c1dde2c6..ed79e3d0 100644 --- a/modules/spotifyweb/settings.go +++ b/modules/spotifyweb/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common callbackPort string clientID string @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), callbackPort: ymlConfig.UString("callbackPort", "8080"), clientID: ymlConfig.UString("clientID", os.Getenv("SPOTIFY_ID")), diff --git a/modules/spotifyweb/widget.go b/modules/spotifyweb/widget.go index 350dfe3b..24243644 100644 --- a/modules/spotifyweb/widget.go +++ b/modules/spotifyweb/widget.go @@ -71,7 +71,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * var playerState *spotify.PlayerState widget := Widget{ - TextWidget: view.NewTextWidget(app, pages, settings.common), + TextWidget: view.NewTextWidget(app, pages, settings.Common), Info: Info{}, @@ -119,7 +119,7 @@ func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) * // If inconvenient, I'll remove this option and save the URL in a file or some other method. utils.OpenFile(`"` + authURL + `"`) - widget.settings.common.RefreshInterval = 5 + widget.settings.RefreshInterval = 5 widget.initializeKeyboardControls() diff --git a/modules/status/settings.go b/modules/status/settings.go index e816711b..1b251d22 100644 --- a/modules/status/settings.go +++ b/modules/status/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/status/widget.go b/modules/status/widget.go index 867089dd..7c8a193f 100644 --- a/modules/status/widget.go +++ b/modules/status/widget.go @@ -15,7 +15,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), CurrentIcon: 0, diff --git a/modules/subreddit/settings.go b/modules/subreddit/settings.go index 63fc68df..e11e56af 100644 --- a/modules/subreddit/settings.go +++ b/modules/subreddit/settings.go @@ -11,7 +11,7 @@ const ( // Settings contains the settings for the subreddit view type Settings struct { - common *cfg.Common + *cfg.Common subreddit string `help:"Subreddit to look at" optional:"false"` numberOfPosts int `help:"Number of posts to show. Default is 10." optional:"true"` @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { subreddit := ymlConfig.UString("subreddit") settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, subreddit, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, subreddit, defaultFocusable, ymlConfig, globalConfig), numberOfPosts: ymlConfig.UInt("numberOfPosts", 10), sortOrder: ymlConfig.UString("sortOrder", "hot"), diff --git a/modules/subreddit/widget.go b/modules/subreddit/widget.go index 7bea4e81..6254d04d 100644 --- a/modules/subreddit/widget.go +++ b/modules/subreddit/widget.go @@ -18,7 +18,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/system/settings.go b/modules/system/settings.go index 725c53b8..2f63d67c 100644 --- a/modules/system/settings.go +++ b/modules/system/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/system/widget.go b/modules/system/widget.go index 4edc1d00..fb934a43 100644 --- a/modules/system/widget.go +++ b/modules/system/widget.go @@ -21,7 +21,7 @@ type Widget struct { func NewWidget(app *tview.Application, date, version string, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), Date: date, diff --git a/modules/textfile/settings.go b/modules/textfile/settings.go index 4d50b87e..4aca6704 100644 --- a/modules/textfile/settings.go +++ b/modules/textfile/settings.go @@ -12,7 +12,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common filePaths []interface{} format bool @@ -24,7 +24,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), filePaths: ymlConfig.UList("filePaths"), format: ymlConfig.UBool("format", false), diff --git a/modules/textfile/widget.go b/modules/textfile/widget.go index 597a28c3..169c2f78 100644 --- a/modules/textfile/widget.go +++ b/modules/textfile/widget.go @@ -31,14 +31,14 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "filePath", "filePaths"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "filePath", "filePaths"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), settings: settings, } // Don't use a timer for this widget, watch for filesystem changes instead - widget.settings.common.RefreshInterval = 0 + widget.settings.RefreshInterval = 0 widget.initializeKeyboardControls() @@ -64,12 +64,12 @@ func (widget *Widget) Refresh() { func (widget *Widget) content() (string, string, bool) { title := fmt.Sprintf( "[%s]%s[white]", - widget.settings.common.Colors.TextTheme.Title, + widget.settings.Colors.TextTheme.Title, widget.CurrentSource(), ) _, _, width, _ := widget.View.GetRect() - text := widget.settings.common.PaginationMarker(len(widget.Sources), widget.Idx, width) + "\n" + text := widget.settings.PaginationMarker(len(widget.Sources), widget.Idx, width) + "\n" if widget.settings.format { text += widget.formattedText() diff --git a/modules/todo/display.go b/modules/todo/display.go index e5956f6e..7a06011c 100644 --- a/modules/todo/display.go +++ b/modules/todo/display.go @@ -15,8 +15,8 @@ func (widget *Widget) display() { func (widget *Widget) content() (string, string, bool) { str := "" newList := checklist.NewChecklist( - widget.settings.common.Sigils.Checkbox.Checked, - widget.settings.common.Sigils.Checkbox.Unchecked, + widget.settings.Sigils.Checkbox.Checked, + widget.settings.Sigils.Checkbox.Unchecked, ) offset := 0 @@ -45,7 +45,7 @@ func (widget *Widget) formattedItemLine(idx int, currItem *checklist.ChecklistIt rowColor := widget.RowColor(idx) if currItem.Checked { - rowColor = widget.settings.common.Colors.CheckboxTheme.Checked + rowColor = widget.settings.Colors.CheckboxTheme.Checked } if widget.View.HasFocus() && (currItem == selectedItem) { diff --git a/modules/todo/settings.go b/modules/todo/settings.go index 72f72cd9..6a3da1b3 100644 --- a/modules/todo/settings.go +++ b/modules/todo/settings.go @@ -12,7 +12,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common filePath string checked string @@ -24,7 +24,7 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co common := cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig) settings := Settings{ - common: common, + Common: common, filePath: ymlConfig.UString("filename"), checked: ymlConfig.UString("checkedIcon", common.Checkbox.Checked), diff --git a/modules/todo/widget.go b/modules/todo/widget.go index 24465c94..6e894ac0 100644 --- a/modules/todo/widget.go +++ b/modules/todo/widget.go @@ -34,12 +34,12 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), app: app, settings: settings, filePath: settings.filePath, - list: checklist.NewChecklist(settings.common.Sigils.Checkbox.Checked, settings.common.Sigils.Checkbox.Unchecked), + list: checklist.NewChecklist(settings.Sigils.Checkbox.Checked, settings.Sigils.Checkbox.Unchecked), pages: pages, } @@ -219,8 +219,8 @@ func (widget *Widget) modalFocus(form *tview.Form) { } func (widget *Widget) modalForm(lbl, text string) *tview.Form { - form := tview.NewForm().SetFieldBackgroundColor(wtf.ColorFor(widget.settings.common.Colors.Background)) - form.SetButtonsAlign(tview.AlignCenter).SetButtonTextColor(wtf.ColorFor(widget.settings.common.Colors.Text)) + form := tview.NewForm().SetFieldBackgroundColor(wtf.ColorFor(widget.settings.Colors.Background)) + form.SetButtonsAlign(tview.AlignCenter).SetButtonTextColor(wtf.ColorFor(widget.settings.Colors.Text)) form.AddInputField(lbl, text, 60, nil, nil) diff --git a/modules/todo_plus/display.go b/modules/todo_plus/display.go index 9ca1f86a..89adee4d 100644 --- a/modules/todo_plus/display.go +++ b/modules/todo_plus/display.go @@ -20,7 +20,7 @@ func (widget *Widget) content() (string, string, bool) { title := fmt.Sprintf( "[%s]%s[white]", - widget.settings.common.Colors.TextTheme.Title, + widget.settings.Colors.TextTheme.Title, proj.Name) str := "" diff --git a/modules/todo_plus/settings.go b/modules/todo_plus/settings.go index 686e8a63..96a8bdf8 100644 --- a/modules/todo_plus/settings.go +++ b/modules/todo_plus/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common backendType string backendSettings *config.Config @@ -24,7 +24,7 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co backend, _ := ymlConfig.Get("backendSettings") settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), backendType: ymlConfig.UString("backendType"), backendSettings: backend, @@ -41,7 +41,7 @@ func FromTodoist(name string, ymlConfig *config.Config, globalConfig *config.Con _ = backend.Set(".projects", projects) settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), backendType: "todoist", backendSettings: backend, @@ -71,7 +71,7 @@ func FromTrello(name string, ymlConfig *config.Config, globalConfig *config.Conf _ = backend.Set(".lists", lists) settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), backendType: "trello", backendSettings: backend, diff --git a/modules/todo_plus/widget.go b/modules/todo_plus/widget.go index 36689043..7796af12 100644 --- a/modules/todo_plus/widget.go +++ b/modules/todo_plus/widget.go @@ -21,8 +21,8 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "project", "projects"), - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "project", "projects"), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/transmission/settings.go b/modules/transmission/settings.go index 6f5e2f60..84e9fe78 100644 --- a/modules/transmission/settings.go +++ b/modules/transmission/settings.go @@ -12,7 +12,7 @@ const ( // Settings defines the configuration properties for this module type Settings struct { - common *cfg.Common + *cfg.Common host string `help:"The address of the machine the Transmission daemon is running on"` https bool `help:"Whether or not to connect to the host via HTTPS"` @@ -26,7 +26,7 @@ type Settings struct { // NewSettingsFromYAML creates a new settings instance from a YAML config block func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), host: ymlConfig.UString("host"), https: ymlConfig.UBool("https", false), diff --git a/modules/transmission/widget.go b/modules/transmission/widget.go index c8c8f012..4a68e528 100644 --- a/modules/transmission/widget.go +++ b/modules/transmission/widget.go @@ -23,7 +23,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/travisci/settings.go b/modules/travisci/settings.go index f77af63d..e4e54c68 100644 --- a/modules/travisci/settings.go +++ b/modules/travisci/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string baseURL string `help:"Your TravisCI Enterprise API URL." optional:"true"` @@ -25,7 +25,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_TRAVIS_API_TOKEN"))), baseURL: ymlConfig.UString("baseURL", ymlConfig.UString("baseURL", os.Getenv("WTF_TRAVIS_BASE_URL"))), diff --git a/modules/travisci/widget.go b/modules/travisci/widget.go index 71442e2f..74b7dba7 100644 --- a/modules/travisci/widget.go +++ b/modules/travisci/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/twitch/settings.go b/modules/twitch/settings.go index 60096c68..d98ff9d0 100644 --- a/modules/twitch/settings.go +++ b/modules/twitch/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common numberOfResults int `help:"Number of results to show. Default is 10." optional:"true"` clientId string `help:"Client Id (default is env var TWITCH_CLIENT_ID)"` @@ -33,7 +33,8 @@ func defaultLanguage() []interface{} { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { twitch := ymlConfig.UString("twitch") settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, twitch, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, twitch, defaultFocusable, ymlConfig, globalConfig), + numberOfResults: ymlConfig.UInt("numberOfResults", 10), clientId: ymlConfig.UString("clientId", os.Getenv("TWITCH_CLIENT_ID")), languages: utils.ToStrs(ymlConfig.UList("languages", defaultLanguage())), diff --git a/modules/twitch/widget.go b/modules/twitch/widget.go index 96eb565f..1a3b980a 100644 --- a/modules/twitch/widget.go +++ b/modules/twitch/widget.go @@ -29,7 +29,7 @@ type Stream struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, twitch: NewClient(settings.clientId), } diff --git a/modules/twitter/settings.go b/modules/twitter/settings.go index 3b4bb8ce..62bea851 100644 --- a/modules/twitter/settings.go +++ b/modules/twitter/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common bearerToken string consumerKey string @@ -24,7 +24,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), bearerToken: ymlConfig.UString("bearerToken", os.Getenv("WTF_TWITTER_BEARER_TOKEN")), consumerKey: ymlConfig.UString("consumerKey", os.Getenv("WTF_TWITTER_CONSUMER_KEY")), diff --git a/modules/twitter/widget.go b/modules/twitter/widget.go index 864ab5f8..bbe029d3 100644 --- a/modules/twitter/widget.go +++ b/modules/twitter/widget.go @@ -22,8 +22,8 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "screenName", "screenNames"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "screenName", "screenNames"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), idx: 0, settings: settings, @@ -63,7 +63,7 @@ func (widget *Widget) content() (string, string, bool) { } _, _, width, _ := widget.View.GetRect() - str := widget.settings.common.PaginationMarker(len(widget.Sources), widget.Idx, width-2) + "\n" + str := widget.settings.PaginationMarker(len(widget.Sources), widget.Idx, width-2) + "\n" for _, tweet := range tweets { str += widget.format(tweet) } diff --git a/modules/twitterstats/settings.go b/modules/twitterstats/settings.go index 793ae917..6ed53284 100644 --- a/modules/twitterstats/settings.go +++ b/modules/twitterstats/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common bearerToken string consumerKey string @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), bearerToken: ymlConfig.UString("bearerToken", os.Getenv("WTF_TWITTER_BEARER_TOKEN")), consumerKey: ymlConfig.UString("consumerKey", os.Getenv("WTF_TWITTER_CONSUMER_KEY")), diff --git a/modules/twitterstats/widget.go b/modules/twitterstats/widget.go index 1871aac4..f1e8ff81 100644 --- a/modules/twitterstats/widget.go +++ b/modules/twitterstats/widget.go @@ -16,7 +16,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), client: NewClient(settings), settings: settings, @@ -37,7 +37,7 @@ func (widget *Widget) content() (string, string, bool) { // Add header row str := fmt.Sprintf( "[%s]%-12s %10s %8s[white]\n", - widget.settings.common.Colors.Subheading, + widget.settings.Colors.Subheading, "Username", "Followers", "Tweets", diff --git a/modules/unknown/settings.go b/modules/unknown/settings.go index 88aeb9a5..26197782 100644 --- a/modules/unknown/settings.go +++ b/modules/unknown/settings.go @@ -11,12 +11,12 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), } return &settings diff --git a/modules/unknown/widget.go b/modules/unknown/widget.go index f34819b5..3446c708 100644 --- a/modules/unknown/widget.go +++ b/modules/unknown/widget.go @@ -15,7 +15,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/uptimerobot/settings.go b/modules/uptimerobot/settings.go index 878e4fa5..8b2b0df9 100644 --- a/modules/uptimerobot/settings.go +++ b/modules/uptimerobot/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string `help:"An UptimeRobot API key."` uptimePeriods string `help:"The periods over which to display uptime (in days, dash-separated)." optional:"true"` @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", os.Getenv("WTF_UPTIMEROBOT_APIKEY")), uptimePeriods: ymlConfig.UString("uptimePeriods", "30"), diff --git a/modules/uptimerobot/widget.go b/modules/uptimerobot/widget.go index 5ee16b3f..832e1b41 100644 --- a/modules/uptimerobot/widget.go +++ b/modules/uptimerobot/widget.go @@ -23,7 +23,7 @@ type Widget struct { func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := &Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } diff --git a/modules/victorops/settings.go b/modules/victorops/settings.go index 20e09149..bb58d697 100644 --- a/modules/victorops/settings.go +++ b/modules/victorops/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiID string apiKey string @@ -22,7 +22,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiID: ymlConfig.UString("apiID", os.Getenv("WTF_VICTOROPS_API_ID")), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_VICTOROPS_API_KEY"))), diff --git a/modules/victorops/widget.go b/modules/victorops/widget.go index b9abc112..9b7e53b4 100644 --- a/modules/victorops/widget.go +++ b/modules/victorops/widget.go @@ -19,7 +19,7 @@ type Widget struct { // NewWidget creates a new widget func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/weatherservices/arpansagovau/settings.go b/modules/weatherservices/arpansagovau/settings.go index 7cfcd78f..ed402556 100644 --- a/modules/weatherservices/arpansagovau/settings.go +++ b/modules/weatherservices/arpansagovau/settings.go @@ -11,15 +11,18 @@ const ( ) type Settings struct { - common *cfg.Common - city string + *cfg.Common + + city string } func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), city: ymlConfig.UString("locationid"), } + settings.SetDocumentationPath("weather_services/arpansagovau") + return &settings } diff --git a/modules/weatherservices/arpansagovau/widget.go b/modules/weatherservices/arpansagovau/widget.go index 052aa82e..26a0aa8e 100644 --- a/modules/weatherservices/arpansagovau/widget.go +++ b/modules/weatherservices/arpansagovau/widget.go @@ -18,7 +18,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { locationData, err := GetLocationData(settings.city) widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), location: locationData, lastError: err, diff --git a/modules/weatherservices/prettyweather/settings.go b/modules/weatherservices/prettyweather/settings.go index e13f3ec4..a78a4030 100644 --- a/modules/weatherservices/prettyweather/settings.go +++ b/modules/weatherservices/prettyweather/settings.go @@ -11,7 +11,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common city string unit string @@ -21,7 +21,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), city: ymlConfig.UString("city", "Barcelona"), language: ymlConfig.UString("language", "en"), @@ -29,5 +29,7 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co view: ymlConfig.UString("view", "0"), } + settings.SetDocumentationPath("weather_services/prettyweather") + return &settings } diff --git a/modules/weatherservices/prettyweather/widget.go b/modules/weatherservices/prettyweather/widget.go index 270c0015..306ab4e5 100644 --- a/modules/weatherservices/prettyweather/widget.go +++ b/modules/weatherservices/prettyweather/widget.go @@ -19,7 +19,7 @@ type Widget struct { func NewWidget(app *tview.Application, settings *Settings) *Widget { widget := Widget{ - TextWidget: view.NewTextWidget(app, nil, settings.common), + TextWidget: view.NewTextWidget(app, nil, settings.Common), settings: settings, } diff --git a/modules/weatherservices/weather/display.go b/modules/weatherservices/weather/display.go index 1e4c0679..c1076d53 100644 --- a/modules/weatherservices/weather/display.go +++ b/modules/weatherservices/weather/display.go @@ -38,7 +38,7 @@ func (widget *Widget) content() (string, string, bool) { } else { title = widget.buildTitle(cityData) _, _, width, _ := widget.View.GetRect() - content = widget.settings.common.PaginationMarker(len(widget.Data), widget.Idx, width) + "\n" + content = widget.settings.PaginationMarker(len(widget.Data), widget.Idx, width) + "\n" content += widget.description(cityData) + "\n\n" content += widget.temperatures(cityData) + "\n" content += widget.sunInfo(cityData) diff --git a/modules/weatherservices/weather/settings.go b/modules/weatherservices/weather/settings.go index 816b0d45..e6abf4ad 100644 --- a/modules/weatherservices/weather/settings.go +++ b/modules/weatherservices/weather/settings.go @@ -18,7 +18,7 @@ type colors struct { type Settings struct { colors - common *cfg.Common + *cfg.Common apiKey string cityIDs []interface{} @@ -29,7 +29,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("WTF_OWM_API_KEY"))), cityIDs: ymlConfig.UList("cityids"), @@ -38,6 +38,8 @@ func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *co useEmoji: ymlConfig.UBool("useEmoji", true), } + settings.SetDocumentationPath("weather_services/weather/") + settings.colors.current = ymlConfig.UString("colors.current", "green") return &settings diff --git a/modules/weatherservices/weather/widget.go b/modules/weatherservices/weather/widget.go index aad44b7d..ab2ae924 100644 --- a/modules/weatherservices/weather/widget.go +++ b/modules/weatherservices/weather/widget.go @@ -22,8 +22,8 @@ type Widget struct { // NewWidget creates and returns a new instance of the weather Widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - MultiSourceWidget: view.NewMultiSourceWidget(settings.common, "cityid", "cityids"), - TextWidget: view.NewTextWidget(app, pages, settings.common), + MultiSourceWidget: view.NewMultiSourceWidget(settings.Common, "cityid", "cityids"), + TextWidget: view.NewTextWidget(app, pages, settings.Common), pages: pages, settings: settings, diff --git a/modules/zendesk/settings.go b/modules/zendesk/settings.go index b5a8cfad..f5ed4f62 100644 --- a/modules/zendesk/settings.go +++ b/modules/zendesk/settings.go @@ -13,7 +13,7 @@ const ( ) type Settings struct { - common *cfg.Common + *cfg.Common apiKey string status string @@ -23,7 +23,7 @@ type Settings struct { func NewSettingsFromYAML(name string, ymlConfig *config.Config, globalConfig *config.Config) *Settings { settings := Settings{ - common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), + Common: cfg.NewCommonSettingsFromModule(name, defaultTitle, defaultFocusable, ymlConfig, globalConfig), apiKey: ymlConfig.UString("apiKey", ymlConfig.UString("apikey", os.Getenv("ZENDESK_API"))), status: ymlConfig.UString("status"), diff --git a/modules/zendesk/widget.go b/modules/zendesk/widget.go index f69f5160..a43c68f0 100644 --- a/modules/zendesk/widget.go +++ b/modules/zendesk/widget.go @@ -20,7 +20,7 @@ type Widget struct { // NewWidget creates a new instance of a widget func NewWidget(app *tview.Application, pages *tview.Pages, settings *Settings) *Widget { widget := Widget{ - ScrollableWidget: view.NewScrollableWidget(app, pages, settings.common), + ScrollableWidget: view.NewScrollableWidget(app, pages, settings.Common), settings: settings, } @@ -68,9 +68,9 @@ func (widget *Widget) content() (string, string, bool) { } func (widget *Widget) format(ticket Ticket, idx int) string { - textColor := widget.settings.common.Colors.Background + textColor := widget.settings.Colors.Background if idx == widget.GetSelected() { - textColor = widget.settings.common.Colors.BorderTheme.Focused + textColor = widget.settings.Colors.BorderTheme.Focused } requesterName := widget.parseRequester(ticket) diff --git a/view/keyboard_widget.go b/view/keyboard_widget.go index a56b6ee1..d37c90a3 100644 --- a/view/keyboard_widget.go +++ b/view/keyboard_widget.go @@ -113,7 +113,12 @@ func (widget *KeyboardWidget) InputCapture(event *tcell.EventKey) *tcell.EventKe // LaunchDocumentation opens the module docs in a browser func (widget *KeyboardWidget) LaunchDocumentation() { - url := "https://wtfutil.com/modules/" + widget.settings.Name + path := widget.settings.DocPath + if path == "" { + path = widget.settings.Type + } + + url := "https://wtfutil.com/modules/" + path utils.OpenFile(url) }