aboutsummaryrefslogtreecommitdiffstats
path: root/commands
diff options
context:
space:
mode:
authorRobin Jarry <robin@jarry.cc>2022-02-22 20:10:54 +0100
committerRobin Jarry <robin@jarry.cc>2022-02-23 11:27:19 +0100
commit8935c452939cd707d7bd060292da502157625fa4 (patch)
tree508896a9cc225a0df55bd2a9b0631f6cf5d4eca2 /commands
parentdf8c129235d9f26892caf89f056adc0e16b3d6b6 (diff)
downloadaerc-8935c452939cd707d7bd060292da502157625fa4.tar.gz
search/filter: display in extra status
Add an extra attribute to the status line. When non-empty, display it after the current status. Set that extra status after a successful :search or :filter. Remove it after :clear. Signed-off-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'commands')
-rw-r--r--commands/account/clear.go4
-rw-r--r--commands/account/search.go9
2 files changed, 6 insertions, 7 deletions
diff --git a/commands/account/clear.go b/commands/account/clear.go
index 3fecc132..259a9de8 100644
--- a/commands/account/clear.go
+++ b/commands/account/clear.go
@@ -2,8 +2,8 @@ package account
import (
"errors"
+
"git.sr.ht/~rjarry/aerc/widgets"
- "time"
)
type Clear struct{}
@@ -30,6 +30,6 @@ func (Clear) Execute(aerc *widgets.Aerc, args []string) error {
return errors.New("Cannot perform action. Messages still loading")
}
store.ApplyClear()
- aerc.PushStatus("Clear complete.", 10*time.Second)
+ aerc.ClearExtraStatus()
return nil
}
diff --git a/commands/account/search.go b/commands/account/search.go
index e12f9725..86d9deac 100644
--- a/commands/account/search.go
+++ b/commands/account/search.go
@@ -3,7 +3,6 @@ package account
import (
"errors"
"fmt"
- "time"
"git.sr.ht/~rjarry/aerc/widgets"
)
@@ -34,16 +33,16 @@ func (SearchFilter) Execute(aerc *widgets.Aerc, args []string) error {
var cb func([]uint32)
if args[0] == "filter" {
- aerc.PushStatus("Filtering...", 10*time.Second)
+ aerc.SetExtraStatus("Filtering...")
cb = func(uids []uint32) {
- aerc.PushStatus(fmt.Sprintf("Filter complete %s", args), 20*time.Second)
+ aerc.SetExtraStatus(fmt.Sprintf("%s", args))
acct.Logger().Printf("Filter results: %v", uids)
store.ApplyFilter(uids)
}
} else {
- aerc.PushStatus("Searching...", 10*time.Second)
+ aerc.SetExtraStatus("Searching...")
cb = func(uids []uint32) {
- aerc.PushStatus(fmt.Sprintf("Search complete %s", args), 20*time.Second)
+ aerc.SetExtraStatus(fmt.Sprintf("%s", args))
acct.Logger().Printf("Search results: %v", uids)
store.ApplySearch(uids)
// TODO: Remove when stores have multiple OnUpdate handlers