~rjarry/aerc

877a94f5d9a7852af5fbcfd1196a4b1f4c676564 — Robin Jarry 6 months ago 92bf89c
compose: add default template for new messages

Allow defining a default template to use when composing new messages.
Add an example to be used for new users.

Signed-off-by: Robin Jarry <robin@jarry.cc>
M Makefile => Makefile +1 -0
@@ 99,6 99,7 @@ install: all
	install -m755 filters/hldiff $(DESTDIR)$(SHAREDIR)/filters/hldiff
	install -m755 filters/html $(DESTDIR)$(SHAREDIR)/filters/html
	install -m755 filters/plaintext $(DESTDIR)$(SHAREDIR)/filters/plaintext
	install -m644 templates/new_message $(DESTDIR)$(SHAREDIR)/templates/new_message
	install -m644 templates/quoted_reply $(DESTDIR)$(SHAREDIR)/templates/quoted_reply
	install -m644 templates/forward_as_body $(DESTDIR)$(SHAREDIR)/templates/forward_as_body
	install -m644 config/default_styleset $(DESTDIR)$(SHAREDIR)/stylesets/default

M commands/account/compose.go => commands/account/compose.go +3 -0
@@ 30,6 30,9 @@ func (Compose) Execute(aerc *widgets.Aerc, args []string) error {
		return err
	}
	acct := aerc.SelectedAccount()
	if template == "" {
		template = aerc.Config().Templates.NewMessage
	}

	composer, err := widgets.NewComposer(aerc, acct,
		aerc.Config(), acct.AccountConfig(), acct.Worker(),

M config/aerc.conf.in => config/aerc.conf.in +5 -0
@@ 224,6 224,11 @@ new-email=
# default: @SHAREDIR@/templates/
template-dirs=@SHAREDIR@/templates/

# The default template to be used for new messages.
#
# default: new_message
new-message=new_message

# The default template to be used for quoted replies.
#
# default: quoted_reply

M config/config.go => config/config.go +2 -0
@@ 146,6 146,7 @@ type TriggersConfig struct {

type TemplateConfig struct {
	TemplateDirs []string `ini:"template-dirs", delim:":"`
	NewMessage   string   `ini:"new-message"`
	QuotedReply  string   `ini:"quoted-reply"`
	Forwards     string   `ini:"forwards"`
}


@@ 595,6 596,7 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {

		Templates: TemplateConfig{
			TemplateDirs: []string{path.Join(sharedir, "templates")},
			NewMessage:   "new_message",
			QuotedReply:  "quoted_reply",
			Forwards:     "forward_as_body",
		},

M doc/aerc-config.5.scd => doc/aerc-config.5.scd +5 -0
@@ 382,6 382,11 @@ These options are configured in the *[templates]* section of aerc.conf.

	Default: "/usr/share/aerc/templates"

*new-message*
	The default template to be used for new messages.

	Default: "new_message"

*quoted-reply*
	The default template to be used for quoted replies.


A templates/new_message => templates/new_message +1 -0
@@ 0,0 1,1 @@
X-Mailer: aerc {{version}}