mirror of
https://github.com/taigrr/wtf
synced 2025-01-18 04:03:14 -08:00
Add a focusable over-ride setting for widgets that are non-focusable by
default For widgets that are non-focusable by default, you can now specify focusable: true in their config to over-ride the default 'false' value.
This commit is contained in:
parent
248fddf3f4
commit
d6208b4730
@ -49,6 +49,7 @@ type Common struct {
|
||||
|
||||
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
|
||||
@ -83,6 +84,7 @@ func NewCommonSettingsFromModule(name, defaultTitle string, moduleConfig *config
|
||||
|
||||
Bordered: moduleConfig.UBool("border", true),
|
||||
Enabled: moduleConfig.UBool("enabled", false),
|
||||
Focusable: moduleConfig.UBool("focusable", false),
|
||||
RefreshInterval: moduleConfig.UInt("refreshInterval", 300),
|
||||
Title: moduleConfig.UString("title", defaultTitle),
|
||||
Config: moduleConfig,
|
||||
|
@ -23,7 +23,9 @@ type Base struct {
|
||||
enabledMutex *sync.Mutex
|
||||
}
|
||||
|
||||
func NewBase(app *tview.Application, commonSettings *cfg.Common, focusable bool) Base {
|
||||
func NewBase(app *tview.Application, commonSettings *cfg.Common, defaultFocusable bool) Base {
|
||||
focusable := commonSettings.Focusable || defaultFocusable
|
||||
|
||||
base := Base{
|
||||
commonSettings: commonSettings,
|
||||
app: app,
|
||||
|
@ -13,9 +13,9 @@ type TextWidget struct {
|
||||
}
|
||||
|
||||
// NewTextWidget creates and returns an instance of TextWidget
|
||||
func NewTextWidget(app *tview.Application, commonSettings *cfg.Common, focusable bool) TextWidget {
|
||||
func NewTextWidget(app *tview.Application, commonSettings *cfg.Common, defaultFocusable bool) TextWidget {
|
||||
widget := TextWidget{
|
||||
Base: NewBase(app, commonSettings, focusable),
|
||||
Base: NewBase(app, commonSettings, defaultFocusable),
|
||||
}
|
||||
|
||||
widget.View = widget.createView(widget.bordered)
|
||||
|
Loading…
x
Reference in New Issue
Block a user