~sircmpwn/aerc

Config option to set index format for sent folder v1 PROPOSED

Srivathsan Murali: 1
 Config option to set index format for sent folder

 4 files changed, 21 insertions(+), 1 deletions(-)
Export patchset (mbox)
How do I use this?

Copy & paste the following snippet into your terminal to import this patchset into git:

curl -s https://lists.sr.ht/~sircmpwn/aerc/patches/8501/mbox | git am -3
Learn more about email & git

[PATCH] Config option to set index format for sent folder Export this patch

Adds a config option "sent-index-format" that sets the
index format for messages in the sent directory.
The default value is set to show the address of the
first recepient instead of the sender.

---
This could be possible implementation for #292.

 config/aerc.conf.in   | 7 +++++++
 config/config.go      | 2 ++
 doc/aerc-config.5.scd | 6 ++++++
 widgets/msglist.go    | 7 ++++++-
 4 files changed, 21 insertions(+), 1 deletion(-)

diff --git a/config/aerc.conf.in b/config/aerc.conf.in
index ec89ff7e9d26..9fe318b71022 100644
--- a/config/aerc.conf.in
+++ b/config/aerc.conf.in
@@ -9,6 +9,13 @@
# Default:
index-format=%D %-17.17n %s

#
# Describes the format for each row in a mailbox view of the sent directory.
# This field is compatible with mutt's printf-like syntax.
#
# Default: %D %-17.17t %s
sent-index-format=%D %-17.17t %s

#
# See time.Time#Format at https://godoc.org/time#Time.Format
#
diff --git a/config/config.go b/config/config.go
index 133a7f4ed5ca..dce5bec20dcc 100644
--- a/config/config.go
+++ b/config/config.go
@@ -24,6 +24,7 @@ type GeneralConfig struct {

type UIConfig struct {
	IndexFormat         string   `ini:"index-format"`
	SentIndexFormat     string	 `ini:"sent-index-format"`
	TimestampFormat     string   `ini:"timestamp-format"`
	ShowHeaders         []string `delim:","`
	RenderAccountTabs   string   `ini:"render-account-tabs"`
@@ -343,6 +344,7 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {

		Ui: UIConfig{
			IndexFormat:     "%D %-17.17n %s",
			SentIndexFormat: "%D %-17.17t %s",
			TimestampFormat: "2006-01-02 03:04 PM",
			ShowHeaders: []string{
				"From", "To", "Cc", "Bcc", "Subject", "Date",
diff --git a/doc/aerc-config.5.scd b/doc/aerc-config.5.scd
index f4f02f2cb0f3..9b9f9432c8dc 100644
--- a/doc/aerc-config.5.scd
+++ b/doc/aerc-config.5.scd
@@ -40,6 +40,12 @@ These options are configured in the *[ui]* section of aerc.conf.

	Default: %D %-17.17n %s

*sent-index-format*
	Describes the format for each row in a mailbox view of the sent directory.
	This field is compatible with mutt's printf-like syntax.

	Default: %D %-17.17t %s

[- *Format specifier*
:[ *Description*
|  %%
diff --git a/widgets/msglist.go b/widgets/msglist.go
index 5c2d2f447852..d44a96acf60d 100644
--- a/widgets/msglist.go
+++ b/widgets/msglist.go
@@ -69,6 +69,11 @@ func (ml *MessageList) Draw(ctx *ui.Context) {
	)
	uids := store.Uids()

	indexFormat := ml.conf.Ui.IndexFormat
	if ml.aerc.SelectedAccount().Directories().Selected() == "Sent" {
		indexFormat = ml.conf.Ui.SentIndexFormat
	}

	for i := len(uids) - 1 - ml.scroll; i >= 0; i-- {
		uid := uids[i]
		msg := store.Messages[uid]
@@ -107,7 +112,7 @@ func (ml *MessageList) Draw(ctx *ui.Context) {

		ctx.Fill(0, row, ctx.Width(), 1, ' ', style)
		fmtStr, args, err := format.ParseMessageFormat(
			ml.conf.Ui.IndexFormat,
			indexFormat,
			ml.conf.Ui.TimestampFormat, "", i, msg)
		if err != nil {
			ctx.Printf(0, row, style, "%v", err)
-- 
2.23.0
This looks good and works for me. Just a few comments:
View this thread in the archives