diff options
author | Moritz Poldrack <git@moritz.sh> | 2023-03-15 22:40:39 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-04-01 01:01:09 +0200 |
commit | b46b2d22824a4feb351f27fff8dce3d6947b190b (patch) | |
tree | 1783a28419b533d0b43aa73073176fa321b7ed0a /main.go | |
parent | f10b184eb34634b9642fa83ef0f1cd8d0687a4af (diff) | |
download | aerc-b46b2d22824a4feb351f27fff8dce3d6947b190b.tar.gz |
hooks: add aerc-shutdown
Add a hook to run when aerc shuts down. The environment is supplemented
with the duration aerc was alive for.
References: https://todo.sr.ht/~rjarry/aerc/136
Signed-off-by: Moritz Poldrack <git@moritz.sh>
Signed-off-by: Robin Jarry <robin@jarry.cc>
Tested-by: Bence Ferdinandy <bence@ferdinandy.com>
Diffstat (limited to 'main.go')
-rw-r--r-- | main.go | 9 |
1 files changed, 9 insertions, 0 deletions
@@ -9,6 +9,7 @@ import ( "runtime" "sort" "strings" + "time" "git.sr.ht/~sircmpwn/getopt" "github.com/gdamore/tcell/v2" @@ -251,6 +252,14 @@ func main() { aerc.PushError(msg) } }() + defer func(start time.Time) { + err := hooks.RunHook( + &hooks.AercShutdown{Lifetime: time.Since(start)}, + ) + if err != nil { + log.Errorf("aerc-shutdown hook: %s", err) + } + }(time.Now()) for event := range libui.MsgChannel { switch event := event.(type) { case tcell.Event: |