summaryrefslogtreecommitdiff
path: root/widgets/account.go
diff options
context:
space:
mode:
authorKoni Marti <koni.marti@gmail.com>2022-03-24 21:42:05 +0100
committerRobin Jarry <robin@jarry.cc>2022-03-25 13:07:14 +0100
commitaf2a70983c8d9a940a064c17057d42d92d717883 (patch)
treeaa0fad9ef6828d86f5e56cd790b4f8030623129f /widgets/account.go
parent73b64f2bf94a5be27e1feccb87cc95c4b7b8a08b (diff)
downloadaerc-af2a70983c8d9a940a064c17057d42d92d717883.zip
statusline: improve status line updating
Update statusline only for the selected account (to prevent other updates from different accounts to interfere). Update status when jumping/selecting/closing tabs. Fixes cosmetic regressions introduced by commit feecc09b73e2 ("statusline: make statusline folder-specific"). Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'widgets/account.go')
-rw-r--r--widgets/account.go8
1 files changed, 7 insertions, 1 deletions
diff --git a/widgets/account.go b/widgets/account.go
index 3bf104b..6cf49aa 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -126,7 +126,9 @@ func (acct *AccountView) SetStatus(setters ...statusline.SetStateFunc) {
}
func (acct *AccountView) UpdateStatus() {
- acct.host.SetStatus(acct.state.StatusLine(acct.SelectedDirectory()))
+ if acct.isSelected() {
+ acct.host.SetStatus(acct.state.StatusLine(acct.SelectedDirectory()))
+ }
}
func (acct *AccountView) PushStatus(status string, expiry time.Duration) {
@@ -226,6 +228,10 @@ func (acct *AccountView) SelectedMessagePart() *PartInfo {
return nil
}
+func (acct *AccountView) isSelected() bool {
+ return acct.aerc.NumTabs() > 0 && acct == acct.aerc.SelectedAccount()
+}
+
func (acct *AccountView) onMessage(msg types.WorkerMessage) {
switch msg := msg.(type) {
case *types.Done: