~sircmpwn/aerc

1bedb8fe06dd71b4ee044098b7f057b3bffd0efc — Srivathsan Murali 1 year, 4 months ago 043a02d
Config for deleting message from message viewer

As suggested in #268, this adds a behaviour setting for
deleting message from message viewer.
4 files changed, 37 insertions(+), 25 deletions(-)

M commands/msg/delete.go
M config/aerc.conf.in
M config/config.go
M doc/aerc-config.5.scd
M commands/msg/delete.go => commands/msg/delete.go +1 -1
@@ 47,7 47,7 @@ func (Delete) Execute(aerc *widgets.Aerc, args []string) error {
	store.Next()
	if isMsgView {
		nextMsg := store.Selected()
		if nextMsg == msg {
		if nextMsg == msg || !aerc.Config().Ui.NextMessageOnDelete {
			aerc.RemoveTab(widget)
			acct.Messages().Scroll()
		} else {

M config/aerc.conf.in => config/aerc.conf.in +5 -0
@@ 57,6 57,11 @@ dirlist-format=%n %>r
# Default: ""
sort=

# Moves to next message when the current message is deleted
#
# Default: false
next-message-on-delete=true

[viewer]
#
# Specifies the pager to use when displaying emails. Note that some filters

M config/config.go => config/config.go +26 -24
@@ 23,20 23,21 @@ type GeneralConfig struct {
}

type UIConfig struct {
	IndexFormat       string   `ini:"index-format"`
	TimestampFormat   string   `ini:"timestamp-format"`
	ShowHeaders       []string `delim:","`
	RenderAccountTabs string   `ini:"render-account-tabs"`
	SidebarWidth      int      `ini:"sidebar-width"`
	PreviewHeight     int      `ini:"preview-height"`
	EmptyMessage      string   `ini:"empty-message"`
	EmptyDirlist      string   `ini:"empty-dirlist"`
	MouseEnabled      bool     `ini:"mouse-enabled"`
	NewMessageBell    bool     `ini:"new-message-bell"`
	Spinner           string   `ini:"spinner"`
	SpinnerDelimiter  string   `ini:"spinner-delimiter"`
	DirListFormat     string   `ini:"dirlist-format"`
	Sort              []string `delim:" "`
	IndexFormat         string   `ini:"index-format"`
	TimestampFormat     string   `ini:"timestamp-format"`
	ShowHeaders         []string `delim:","`
	RenderAccountTabs   string   `ini:"render-account-tabs"`
	SidebarWidth        int      `ini:"sidebar-width"`
	PreviewHeight       int      `ini:"preview-height"`
	EmptyMessage        string   `ini:"empty-message"`
	EmptyDirlist        string   `ini:"empty-dirlist"`
	MouseEnabled        bool     `ini:"mouse-enabled"`
	NewMessageBell      bool     `ini:"new-message-bell"`
	Spinner             string   `ini:"spinner"`
	SpinnerDelimiter    string   `ini:"spinner-delimiter"`
	DirListFormat       string   `ini:"dirlist-format"`
	Sort                []string `delim:" "`
	NextMessageOnDelete bool     `ini:"next-message-on-delete"`
}

const (


@@ 346,16 347,17 @@ func LoadConfigFromFile(root *string, sharedir string) (*AercConfig, error) {
			ShowHeaders: []string{
				"From", "To", "Cc", "Bcc", "Subject", "Date",
			},
			RenderAccountTabs: "auto",
			SidebarWidth:      20,
			PreviewHeight:     12,
			EmptyMessage:      "(no messages)",
			EmptyDirlist:      "(no folders)",
			MouseEnabled:      false,
			NewMessageBell:    true,
			Spinner:           "[..]    , [..]   ,  [..]  ,   [..] ,    [..],   [..] ,  [..]  , [..]   ",
			SpinnerDelimiter:  ",",
			DirListFormat:     "%n %>r",
			RenderAccountTabs:   "auto",
			SidebarWidth:        20,
			PreviewHeight:       12,
			EmptyMessage:        "(no messages)",
			EmptyDirlist:        "(no folders)",
			MouseEnabled:        false,
			NewMessageBell:      true,
			Spinner:             "[..]    , [..]   ,  [..]  ,   [..] ,    [..],   [..] ,  [..]  , [..]   ",
			SpinnerDelimiter:    ",",
			DirListFormat:       "%n %>r",
			NextMessageOnDelete: true,
		},

		Viewer: ViewerConfig{

M doc/aerc-config.5.scd => doc/aerc-config.5.scd +5 -0
@@ 150,6 150,11 @@ These options are configured in the *[ui]* section of aerc.conf.
|  %>X
:  make format specifier 'X' be right justified

*next-message-on-delete*
	Moves to next message when the current message is deleted

	Default: true

## VIEWER

These options are configured in the *[viewer]* section of aerc.conf.