diff options
author | Robin Jarry <robin@jarry.cc> | 2022-12-27 22:59:10 +0100 |
---|---|---|
committer | Robin Jarry <robin@jarry.cc> | 2023-02-20 14:48:42 +0100 |
commit | d2e74cdb91e140b50d14c3a8b315cde272f32587 (patch) | |
tree | 4f4a20c02f60b67d7a8eb967bb45d789a057453b /doc/aerc-config.5.scd | |
parent | 6af06c9dfec03e923589d34187ba8358e3423d5c (diff) | |
download | aerc-d2e74cdb91e140b50d14c3a8b315cde272f32587.tar.gz |
statusline: add column based render format
In the spirit of commit 535300cfdbfc ("config: add columns based index
format"), reuse the column definitions and table widget.
Add automatic translation of render-format to column definitions. Allow
empty columns to be compatible with the %m (mute) flag.
Rename the State object to AccountState to be more precise. Reuse that
object in state.TempateData to expose account state info. Move actual
status line rendering in StatusLine.Draw().
Add new template fields for status specific data:
{{.ConnectionInfo}}
Connection state.
{{.ContentInfo}}
General status information (e.g. filter, search)
{{.StatusInfo}}
Combination of {{.ConnectionInfo}} and {{.StatusInfo}}
{{.TrayInfo}}
General on/off information (e.g. passthrough, threading,
sorting)
{{.PendingKeys}}
Currently pressed key sequence that does not match any key
binding and/or is incomplete.
Display a warning on startup if render-format has been converted to
status-columns.
Signed-off-by: Robin Jarry <robin@jarry.cc>
Acked-by: Tim Culverhouse <tim@timculverhouse.com>
Diffstat (limited to 'doc/aerc-config.5.scd')
-rw-r--r-- | doc/aerc-config.5.scd | 58 |
1 files changed, 30 insertions, 28 deletions
diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd index 6e20fd71..4d995d6b 100644 --- a/doc/aerc-config.5.scd +++ b/doc/aerc-config.5.scd @@ -422,41 +422,43 @@ index-format=... These options are configured in the *[statusline]* section of _aerc.conf_. -*render-format* = _<format>_ - Describes the format string for the statusline format. +*status-columns* = _<column1,column2,column3...>_ + Describes the format for the statusline. This is a comma separated list + of column names with an optional align and width suffix. See + *[ui].index-columns* for more details. - For a minimal statusline that only shows the current account and - the connection information, use _[%a] %c_. + To completely mute the statusline (except for push notifications), + explicitly set *status-columns* to an empty string: - To completely mute the statusline (except for push notifications), use - _%m_ only. + status-columns= - Default: _[%a] %S %>%T_ + Default: _left<\*,center>=,right>\*_ -[- *Format specifier* -:[ *Description* -| _%%_ -: literal % -| _%a_ -: active account name -| _%d_ -: active directory name -| _%c_ -: connection state -| _%p_ -: current path -| _%m_ -: mute statusline and show only push notifications -| _%S_ -: general status information (e.g. connection state, filter, search) -| _%T_ -: general on/off information (e.g. passthrough, threading, sorting) -| _%>_ -: does not print anything but all format specifier that follow will be right justified. +*column-separator* = _"<separator>"_ + String separator inserted between columns. See *[ui].column-separator* + for more details. + + Default: _" "_ + +*column-<name>* = _<go template>_ + Each name in *status-columns* must have a corresponding *column-<name>* + setting. All *column-<name>* settings accept golang text/template + syntax. + + By default, these columns are defined: + + ``` + column-left = [{{.Account}}] {{.StatusInfo}} + column-center = {{.PendingKeys}} + column-right = {{.TrayInfo}} + ``` + + See *aerc-templates*(7) for all available symbols and functions. *separator* = _"<string>"_ Specifies the separator between grouped statusline elements (e.g. for - the _%S_ and _%T_ specifiers in *render-format*). + the _{{.ContentInfo}}_, _{{.TrayInfo}}_ and _{{.StatusInfo}}_ in + *column-<name>*). Default: _" | "_ |