summary refs log tree commit diff stats
path: root/lib/ui
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2020-03-03 16:20:07 -0500
committerDrew DeVault <sir@cmpwn.com>2020-03-03 16:49:52 -0500
commitf3158b36f1f210ff54febbe82b571c1379b30c98 (patch)
tree10cde839c9517609f55b8f1057b1cf84ac592632 /lib/ui
parent89f1684ea4b5e680db7ff06a54b2d4e78212cd12 (diff)
downloadaerc-f3158b36f1f210ff54febbe82b571c1379b30c98.tar.gz
Initial support for PGP decryption & signatures
Diffstat (limited to 'lib/ui')
-rw-r--r--lib/ui/interfaces.go4
-rw-r--r--lib/ui/ui.go4
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/ui/interfaces.go b/lib/ui/interfaces.go
index 9e79571..c12bdb7 100644
--- a/lib/ui/interfaces.go
+++ b/lib/ui/interfaces.go
@@ -16,6 +16,10 @@ type Drawable interface {
 	Invalidate()
 }
 
+type RootDrawable interface {
+	Initialize(ui *UI)
+}
+
 type Interactive interface {
 	// Returns true if the event was handled by this component
 	Event(event tcell.Event) bool
diff --git a/lib/ui/ui.go b/lib/ui/ui.go
index 16b176d..9a9ed14 100644
--- a/lib/ui/ui.go
+++ b/lib/ui/ui.go
@@ -55,6 +55,10 @@ func Initialize(content DrawableInteractiveBeeper) (*UI, error) {
 	content.OnBeep(screen.Beep)
 	content.Focus(true)
 
+	if root, ok := content.(RootDrawable); ok {
+		root.Initialize(&state)
+	}
+
 	return &state, nil
 }