Skip to content

Commit 70b919e

Browse files
committed
Embed a pointer to the BaseWidgets, so we can keep the render state
1 parent 5ad136a commit 70b919e

7 files changed

Lines changed: 19 additions & 19 deletions

File tree

widget.go

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -93,34 +93,34 @@ func NewWidget(base string, kc KeyConfig, bg image.Image) (Widget, error) {
9393

9494
switch kc.Widget.ID {
9595
case "button":
96-
return NewButtonWidget(*bw, kc.Widget)
96+
return NewButtonWidget(bw, kc.Widget)
9797

9898
case "clock":
9999
kc.Widget.Config = make(map[string]interface{})
100100
kc.Widget.Config["format"] = "%H;%i;%s"
101101
kc.Widget.Config["font"] = "bold;regular;thin"
102-
return NewTimeWidget(*bw, kc.Widget), nil
102+
return NewTimeWidget(bw, kc.Widget), nil
103103

104104
case "date":
105105
kc.Widget.Config = make(map[string]interface{})
106106
kc.Widget.Config["format"] = "%l;%d;%M"
107107
kc.Widget.Config["font"] = "regular;bold;regular"
108-
return NewTimeWidget(*bw, kc.Widget), nil
108+
return NewTimeWidget(bw, kc.Widget), nil
109109

110110
case "time":
111-
return NewTimeWidget(*bw, kc.Widget), nil
111+
return NewTimeWidget(bw, kc.Widget), nil
112112

113113
case "recentWindow":
114-
return NewRecentWindowWidget(*bw, kc.Widget)
114+
return NewRecentWindowWidget(bw, kc.Widget)
115115

116116
case "top":
117-
return NewTopWidget(*bw, kc.Widget), nil
117+
return NewTopWidget(bw, kc.Widget), nil
118118

119119
case "command":
120-
return NewCommandWidget(*bw, kc.Widget), nil
120+
return NewCommandWidget(bw, kc.Widget), nil
121121

122122
case "weather":
123-
return NewWeatherWidget(*bw, kc.Widget), nil
123+
return NewWeatherWidget(bw, kc.Widget)
124124
}
125125

126126
// unknown widget ID

widget_button.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
// ButtonWidget is a simple widget displaying an icon and/or label.
1111
type ButtonWidget struct {
12-
BaseWidget
12+
*BaseWidget
1313

1414
icon image.Image
1515
label string
@@ -19,7 +19,7 @@ type ButtonWidget struct {
1919
}
2020

2121
// NewButtonWidget returns a new ButtonWidget.
22-
func NewButtonWidget(bw BaseWidget, opts WidgetConfig) (*ButtonWidget, error) {
22+
func NewButtonWidget(bw *BaseWidget, opts WidgetConfig) (*ButtonWidget, error) {
2323
bw.setInterval(opts.Interval, 0)
2424

2525
var icon, label string

widget_command.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ import (
1212

1313
// CommandWidget is a widget displaying the output of command(s).
1414
type CommandWidget struct {
15-
BaseWidget
15+
*BaseWidget
1616

1717
command string
1818
font string
1919
color color.Color
2020
}
2121

2222
// NewCommandWidget returns a new CommandWidget.
23-
func NewCommandWidget(bw BaseWidget, opts WidgetConfig) *CommandWidget {
23+
func NewCommandWidget(bw *BaseWidget, opts WidgetConfig) *CommandWidget {
2424
bw.setInterval(opts.Interval, 1000)
2525

2626
var command, font string

widget_recent_window.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99

1010
// RecentWindowWidget is a widget displaying a recently activated window.
1111
type RecentWindowWidget struct {
12-
BaseWidget
12+
*ButtonWidget
1313

1414
window uint8
1515
showTitle bool
@@ -18,7 +18,7 @@ type RecentWindowWidget struct {
1818
}
1919

2020
// NewRecentWindowWidget returns a new RecentWindowWidget.
21-
func NewRecentWindowWidget(bw BaseWidget, opts WidgetConfig) (*RecentWindowWidget, error) {
21+
func NewRecentWindowWidget(bw *BaseWidget, opts WidgetConfig) (*RecentWindowWidget, error) {
2222
var window int64
2323
if err := ConfigValue(opts.Config["window"], &window); err != nil {
2424
return nil, err

widget_time.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,15 @@ import (
1212

1313
// TimeWidget is a widget displaying the current time/date.
1414
type TimeWidget struct {
15-
BaseWidget
15+
*BaseWidget
1616

1717
format string
1818
font string
1919
color color.Color
2020
}
2121

2222
// NewTimeWidget returns a new TimeWidget.
23-
func NewTimeWidget(bw BaseWidget, opts WidgetConfig) *TimeWidget {
23+
func NewTimeWidget(bw *BaseWidget, opts WidgetConfig) *TimeWidget {
2424
bw.setInterval(opts.Interval, 500)
2525

2626
var format, font string

widget_top.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414

1515
// TopWidget is a widget displaying the current CPU/MEM usage as a bar.
1616
type TopWidget struct {
17-
BaseWidget
17+
*BaseWidget
1818

1919
mode string
2020
color color.Color
@@ -24,7 +24,7 @@ type TopWidget struct {
2424
}
2525

2626
// NewTopWidget returns a new TopWidget.
27-
func NewTopWidget(bw BaseWidget, opts WidgetConfig) *TopWidget {
27+
func NewTopWidget(bw *BaseWidget, opts WidgetConfig) *TopWidget {
2828
bw.setInterval(opts.Interval, 500)
2929

3030
var mode string

widget_weather.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ func weatherImage(name string) image.Image {
3636

3737
// WeatherWidget is a widget displaying the current weather.
3838
type WeatherWidget struct {
39-
BaseWidget
39+
*ButtonWidget
4040

4141
data WeatherData
4242
color color.Color

0 commit comments

Comments
 (0)