~yerinalexey/dotfiles

ff7a1f354d871edd1a018d5a338559010ca5458d — Alexey Yerin 8 months ago 59fedfe
Add aerc
4 files changed, 326 insertions(+), 0 deletions(-)

M .gitignore
A aerc/accounts.conf
A aerc/aerc.conf
A aerc/binds.conf
M .gitignore => .gitignore +1 -0
@@ 6,6 6,7 @@
!.gitignore

# Included configs:
!aerc/
!alacritty/
!bottom/
!fnottrc

A aerc/accounts.conf => aerc/accounts.conf +10 -0
@@ 0,0 1,10 @@
[Personal]
source            = maildir://~/mail
outgoing          = smtp+plain://yyp%40disroot.org@disroot.org:587
outgoing-cred-cmd = pass show Mail/Disroot
smtp-starttls     = yes
from              = Alexey Yerin <yyp@disroot.org>
copy-to           = Archive/
default           = Inbox
folders           = Inbox,Archive,Trash
folders-sort      = Inbox,Archive,Trash

A aerc/aerc.conf => aerc/aerc.conf +200 -0
@@ 0,0 1,200 @@
#
# aerc main configuration

[ui]
#
# Describes the format for each row in a mailbox view. This field is compatible
# with mutt's printf-like syntax.
#
# Default: %D %-17.17n %Z %s
index-format=%-17.17n %Z %s

#
# See time.Time#Format at https://godoc.org/time#Time.Format
#
# Default: 2006-01-02 03:04 PM (ISO 8601 + 12 hour time)
timestamp-format=2006-01-02 03:04 PM

#
# Width of the sidebar, including the border.
#
# Default: 20
sidebar-width=20

#
# Message to display when viewing an empty folder.
#
# Default: (no messages)
empty-message=(no messages)

# Message to display when no folders exists or are all filtered
#
# Default: (no folders)
empty-dirlist=(no folders)

# Enable mouse events in the ui, e.g. clicking and scrolling with the mousewheel
#
# Default: false
mouse-enabled=true

#
# Ring the bell when new messages are received
#
# Default: true
new-message-bell=true

# Marker to show before a pinned tab's name.
#
# Default: `
pinned-tab-marker='`'

# Describes the format string to use for the directory list
#
# Default: %n %>r
dirlist-format=%n %>r

# List of space-separated criteria to sort the messages by, see *sort*
# command in *aerc*(1) for reference. Prefixing a criterion with "-r "
# reverses that criterion.
#
# Example: "from -r date"
#
# Default: ""
sort=

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

# The directories where the stylesets are stored. It takes a colon-separated
# list of directories.
#
# default: /usr/share/aerc/stylesets/
stylesets-dirs=/usr/local/share/aerc/stylesets/

# Sets the styleset to use for the aerc ui elements.
#
# Default: default
styleset-name=default

[viewer]
#
# Specifies the pager to use when displaying emails. Note that some filters
# may add ANSI codes to add color to rendered emails, so you may want to use a
# pager which supports ANSI codes.
#
# Default: less -R
pager=less -R

#
# If an email offers several versions (multipart), you can configure which
# mimetype to prefer. For example, this can be used to prefer plaintext over
# html emails.
#
# Default: text/plain,text/html
alternatives=text/plain,text/html

#
# Default setting to determine whether to show full headers or only parsed
# ones in message viewer.
#
# Default: false
show-headers=false

#
# Layout of headers when viewing a message. To display multiple headers in the
# same row, separate them with a pipe, e.g. "From|To". Rows will be hidden if
# none of their specified headers are present in the message.
#
# Default: From|To,Cc|Bcc,Date,Subject
header-layout=From|To,Cc|Bcc,Date,Subject

# Whether to always show the mimetype of an email, even when it is just a single part
#
# Default: false
always-show-mime=false

# How long to wait after the last input before auto-completion is triggered.
#
# Default: 250ms
completion-delay=250ms

#
# Global switch for completion popovers
#
# Default: true
completion-popovers=true

[compose]
#
# Specifies the command to run the editor with. It will be shown in an embedded
# terminal, though it may also launch a graphical window if the environment
# supports it. Defaults to $EDITOR, or vi.
editor=

#
# Default header fields to display when composing a message. To display
# multiple headers in the same row, separate them with a pipe, e.g. "To|From".
#
# Default: To|From,Subject
header-layout=To|From,Subject

#
# Specifies the command to be used to tab-complete email addresses. Any
# occurrence of "%s" in the address-book-cmd will be replaced with what the
# user has typed so far.
#
# The command must output the completions to standard output, one completion
# per line. Each line must be tab-delimited, with an email address occurring as
# the first field. Only the email address field is required. The second field,
# if present, will be treated as the contact name. Additional fields are
# ignored.
address-book-cmd=

[filters]
#
# Filters allow you to pipe an email body through a shell command to render
# certain emails differently, e.g. highlighting them with ANSI escape codes.
#
# The first filter which matches the email's mimetype will be used, so order
# them from most to least specific.
#
# You can also match on non-mimetypes, by prefixing with the header to match
# against (non-case-sensitive) and a comma, e.g. subject,text will match a
# subject which contains "text". Use header,~regex to match against a regex.
subject,~^\[PATCH=awk -f /usr/local/share/aerc/filters/hldiff
#text/html=/usr/share/aerc/filters/html
text/*=awk -f /usr/local/share/aerc/filters/plaintext
#image/*=catimg -w $(tput cols) -

[triggers]
#
# Triggers specify commands to execute when certain events occur.
#
# Example:
# new-email=exec notify-send "New email from %n" "%s"

#
# Executed when a new email arrives in the selected folder
new-email=

[templates]
# Templates are used to populate email bodies automatically.
#

# The directories where the templates are stored. It takes a colon-separated
# list of directories.
#
# default: /usr/share/aerc/templates/
template-dirs=/usr/local/share/aerc/templates/

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

# The template to be used for forward as body.
#
# default: forward_as_body
forwards=forward_as_body

A aerc/binds.conf => aerc/binds.conf +115 -0
@@ 0,0 1,115 @@
# Binds are of the form <key sequence> = <command to run>
# To use '=' in a key sequence, substitute it with "Eq": "<Ctrl+Eq>"
# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
<C-t> = :term<Enter>

[messages]
q = :quit<Enter>

j = :next<Enter>
<Down> = :next<Enter>
<C-d> = :next 50%<Enter>
<C-f> = :next 100%<Enter>
<PgDn> = :next -s 100%<Enter>

k = :prev<Enter>
<Up> = :prev<Enter>
<C-u> = :prev 50%<Enter>
<C-b> = :prev 100%<Enter>
<PgUp> = :prev -s 100%<Enter>
g = :select 0<Enter>
G = :select -1<Enter>

J = :next-folder<Enter>
K = :prev-folder<Enter>

v = :mark -t<Enter>
V = :mark -v<Enter>

<Enter> = :view<Enter>

d = :prompt 'Really delete this message?' 'delete-message'<Enter>
D = :delete<Enter>
#A = :archive flat<Enter>
a = :move Archive/<Enter>

C = :compose<Enter>

rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>

c = :cf<space>
$ = :term<space>
! = :term<space>
| = :pipe<space>

/ = :search<space>
\ = :filter<space>
n = :next-result<Enter>
N = :prev-result<Enter>

u = :exec sync-mail -q<Enter>

[view]
q = :close<Enter>
| = :pipe<space>
D = :delete<Enter>
S = :save<space>
#A = :archive flat<Enter>
a = :move Archive/<Enter>

f = :forward<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>

H = :toggle-headers<Enter>
<C-k> = :prev-part<Enter>
<C-j> = :next-part<Enter>
J = :next<Enter>
K = :prev<Enter>

[compose]
# Keybindings used when the embedded terminal is not selected in the compose
# view
$ex = <C-x>
<C-k> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<tab> = :next-field<Enter>

<C-p> = :choose \
  -o P Proposed "header -f X-Sourcehut-Patchset-Update PROPOSED" \
  -o N "Needs revision" "header -f X-Sourcehut-Patchset-Update NEEDS_REVISION" \
  -o R AppRoved "header -f X-Sourcehut-Patchset-Update APPROVED" \
  -o A Applied "header -f X-Sourcehut-Patchset-Update APPLIED" \
  -o E REjected "header -f X-Sourcehut-Patchset-Update REJECTED"<Enter>

[compose::editor]
# Keybindings used when the embedded terminal is selected in the compose view
$noinherit = true
$ex = <C-x>
<C-k> = :prev-field<Enter>
<C-j> = :next-field<Enter>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>

[compose::review]
# Keybindings used when reviewing a message to be sent
y = :send<Enter>
n = :abort<Enter>
p = :postpone<Enter>
q = :abort<Enter>
e = :edit<Enter>
a = :attach<space>

[terminal]
$noinherit = true
$ex = <C-x>

<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>