summary refs log tree commit diff stats
path: root/widgets/aerc.go
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2019-03-21 21:34:12 -0400
committerDrew DeVault <sir@cmpwn.com>2019-03-21 21:34:12 -0400
commite59122150932ae2cad32ab5881ed40ef0d722812 (patch)
tree036d3bc807bc6bbad4bda301c6de6d5897f9f976 /widgets/aerc.go
parenta602891768d0272c8688731752f491eb92668d7d (diff)
downloadaerc-e59122150932ae2cad32ab5881ed40ef0d722812.tar.gz
Expire status errors on input
Diffstat (limited to 'widgets/aerc.go')
-rw-r--r--widgets/aerc.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/widgets/aerc.go b/widgets/aerc.go
index bdf94bd..92fc06e 100644
--- a/widgets/aerc.go
+++ b/widgets/aerc.go
@@ -124,6 +124,7 @@ func (aerc *Aerc) Event(event tcell.Event) bool {
 
 	switch event := event.(type) {
 	case *tcell.EventKey:
+		aerc.statusline.Expire()
 		aerc.pendingKeys = append(aerc.pendingKeys, config.KeyStroke{
 			Key:  event.Key(),
 			Rune: event.Rune(),
@@ -231,8 +232,16 @@ func (aerc *Aerc) focus(item libui.Interactive) {
 		aerc.focused.Focus(false)
 	}
 	aerc.focused = item
+	interactive, ok := aerc.tabs.Tabs[aerc.tabs.Selected].Content.(ui.Interactive)
 	if item != nil {
 		item.Focus(true)
+		if ok {
+			interactive.Focus(false)
+		}
+	} else {
+		if ok {
+			interactive.Focus(true)
+		}
 	}
 }