summaryrefslogtreecommitdiff
path: root/widgets
diff options
context:
space:
mode:
authorKoni Marti <koni.marti@gmail.com>2022-04-18 16:06:27 +0200
committerRobin Jarry <robin@jarry.cc>2022-04-25 11:21:07 +0200
commitce18e928813526e59462e391c09e868c62facb42 (patch)
tree9898097ca19e9aea7792f08ec8694a25432b83b1 /widgets
parenteb7e45d43be883c4be0e635875846f0d7ddca485 (diff)
downloadaerc-ce18e928813526e59462e391c09e868c62facb42.zip
statusline: refactor to make it more customizable
Refactor statusline by clearly separating the rendering part from the text display. Use printf-like format string for statusline customization. Document printf-like format string to customize the statusline. Allow to completely mute the statusline (except for push notifications) with a format specifier. Provide a display mode with unicode icons for the status elements. Implements: https://todo.sr.ht/~rjarry/aerc/34 Signed-off-by: Koni Marti <koni.marti@gmail.com> Acked-by: Robin Jarry <robin@jarry.cc>
Diffstat (limited to 'widgets')
-rw-r--r--widgets/account.go5
1 files changed, 4 insertions, 1 deletions
diff --git a/widgets/account.go b/widgets/account.go
index 994bba6..b34396b 100644
--- a/widgets/account.go
+++ b/widgets/account.go
@@ -59,7 +59,7 @@ func NewAccountView(aerc *Aerc, conf *config.AercConfig, acct *config.AccountCon
conf: conf,
host: host,
logger: logger,
- state: statusline.NewState(acct.Name, len(conf.Accounts) > 1, " | "),
+ state: statusline.NewState(acct.Name, len(conf.Accounts) > 1, conf.Statusline),
}
view.grid = ui.NewGrid().Rows([]ui.GridSpec{
@@ -170,6 +170,9 @@ func (acct *AccountView) Invalidate() {
}
func (acct *AccountView) Draw(ctx *ui.Context) {
+ if acct.state.SetWidth(ctx.Width()) {
+ acct.UpdateStatus()
+ }
acct.grid.Draw(ctx)
}