diff options
Diffstat (limited to 'lib/ui')
| -rw-r--r-- | lib/ui/interfaces.go | 9 | ||||
| -rw-r--r-- | lib/ui/ui.go | 3 | 
2 files changed, 11 insertions, 1 deletions
| diff --git a/lib/ui/interfaces.go b/lib/ui/interfaces.go index 9008ea7..2f63424 100644 --- a/lib/ui/interfaces.go +++ b/lib/ui/interfaces.go @@ -23,6 +23,10 @@ type Interactive interface {  	Focus(focus bool)  } +type Beeper interface { +	OnBeep(func() error) +} +  type Simulator interface {  	// Queues up the given input events for simulation  	Simulate(events []tcell.Event) @@ -33,6 +37,11 @@ type DrawableInteractive interface {  	Interactive  } +type DrawableInteractiveBeeper interface { +	DrawableInteractive +	Beeper +} +  // A drawable which contains other drawables  type Container interface {  	Drawable diff --git a/lib/ui/ui.go b/lib/ui/ui.go index 13b640b..4c3dd34 100644 --- a/lib/ui/ui.go +++ b/lib/ui/ui.go @@ -19,7 +19,7 @@ type UI struct {  }  func Initialize(conf *config.AercConfig, -	content DrawableInteractive) (*UI, error) { +	content DrawableInteractiveBeeper) (*UI, error) {  	screen, err := tcell.NewScreen()  	if err != nil { @@ -57,6 +57,7 @@ func Initialize(conf *config.AercConfig,  	content.OnInvalidate(func(_ Drawable) {  		atomic.StoreInt32(&state.invalid, 1)  	}) +	content.OnBeep(screen.Beep)  	content.Focus(true)  	return &state, nil | 
