From 7cba1a9048fd5f6cb4ba60e4c7141ec63da85fd3 Mon Sep 17 00:00:00 2001 From: earnest ma Date: Sat, 24 Jul 2021 10:21:03 -0400 Subject: [PATCH] Add aerc config --- .config/aerc/aerc.conf | 200 +++++++++++++++++++++++++ .config/aerc/binds.conf | 127 ++++++++++++++++ .config/aerc/templates/forward_as_body | 10 ++ .config/aerc/templates/new | 3 + .config/aerc/templates/patch.sh | 7 + .config/aerc/templates/quoted_reply | 5 + .config/aerc/templates/quoted_thanks | 8 + .config/aerc/templates/thanks | 6 + 8 files changed, 366 insertions(+) create mode 100644 .config/aerc/aerc.conf create mode 100644 .config/aerc/binds.conf create mode 100644 .config/aerc/templates/forward_as_body create mode 100644 .config/aerc/templates/new create mode 100755 .config/aerc/templates/patch.sh create mode 100644 .config/aerc/templates/quoted_reply create mode 100644 .config/aerc/templates/quoted_thanks create mode 100644 .config/aerc/templates/thanks diff --git a/.config/aerc/aerc.conf b/.config/aerc/aerc.conf new file mode 100644 index 0000000..d77a05f --- /dev/null +++ b/.config/aerc/aerc.conf @@ -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=%D %-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/local/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 -x 2 -Fir + +# +# 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=nvim + +# +# 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,Cc|Bcc + +# +# 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=khard email --parsable --search-in-source-files --remove-first-line %s + +[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/local/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=exec notify-send "aerc: you have a 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/local/share/aerc/templates/ +template-dirs=/home/earne/.config/aerc/templates:/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 diff --git a/.config/aerc/binds.conf b/.config/aerc/binds.conf new file mode 100644 index 0000000..0b39af0 --- /dev/null +++ b/.config/aerc/binds.conf @@ -0,0 +1,127 @@ +# Binds are of the form = +# To use '=' in a key sequence, substitute it with "Eq": "" +# If you wish to bind #, you can wrap the key sequence in quotes: "#" = quit + = :prev-tab + = :next-tab + = :term + +[messages] +q = :quit + +j = :next + = :next + = :next 50% + = :next 100% + = :next -s 100% + +k = :prev + = :prev + = :prev 50% + = :prev 100% + = :prev -s 100% +g = :select 0 +G = :select -1 + +J = :next-folder +K = :prev-folder + +v = :mark -t +V = :mark -v + + = :view +D = :delete +dt = :mvTrash +dg = :mv[Gmail]/Trash +dd = :mvDeleted +A = :archive flat +a = :archive year + +#C = :compose +C = :compose -Tnew + +rr = :reply -a +rq = :reply -aq +Rr = :reply +Rq = :reply -q +rt = :reply -a -Tthanks +Rt = :reply -qa -Tquoted_thanks +rp = :reply -a -Ttop-posting +Rp = :reply -Ttop-posting + +c = :cf +$ = :term +! = :term +| = :pipe + +/ = :search +\ = :filter +n = :next-result +N = :prev-result + +[view] +q = :close +| = :pipe +D = :delete +dt = :mvTrash +dg = :mv[Gmail]/Trash +dd = :mvDeleted +S = :save +A = :archive flat +a = :archive year + +f = :forward +rr = :reply -a +rq = :reply -aq +Rr = :reply +Rq = :reply -q +rt = :reply -a -Tthanks +Rt = :reply -qa -Tquoted_thanks +rp = :reply -a -Ttop-posting +Rp = :reply -Ttop-posting + +H = :toggle-headers + = :prev-part + = :next-part +J = :next +K = :prev + +[compose] +# Keybindings used when the embedded terminal is not selected in the compose +# view +$ex = + = :prev-field + = :next-field + = :next-field + +[compose::editor] +# Keybindings used when the embedded terminal is selected in the compose view +$noinherit = true +$ex = + = :prev-field + = :next-field + = :prev-tab + = :next-tab + +[compose::review] +# Keybindings used when reviewing a message to be sent +y = :send +n = :abort +p = :postpone +q = :abort +e = :edit +a = :attach +# In-Reply-To header: +r = :header -f In-Reply-To +# set patch headers for sourcehut +pp = :header -f X-Sourcehut-Patchset-Update PROPOSED +pn = :header -f X-Sourcehut-Patchset-Update NEEDS_REVISION +pr = :header -f X-Sourcehut-Patchset-Update APPROVED +pa = :header -f X-Sourcehut-Patchset-Update APPLIED +px = :header -f X-Sourcehut-Patchset-Update REJECTED + +[terminal] +$noinherit = true +$ex = + + = :prev-tab + = :next-tab diff --git a/.config/aerc/templates/forward_as_body b/.config/aerc/templates/forward_as_body new file mode 100644 index 0000000..ddb6d80 --- /dev/null +++ b/.config/aerc/templates/forward_as_body @@ -0,0 +1,10 @@ +X-Mailer: aerc {{version}} + +-------- Doorgestuurd bericht -------- +Onderwerp: {{.Subject}} +Datum: {{dateFormat .OriginalDate "2006-01-02 15:04 MST" }} +Van: {{.OriginalFrom}} +Aan: {{.To}} (this is broken, remove this line) +Bericht: +{{wrapText .OriginalText 72}} + diff --git a/.config/aerc/templates/new b/.config/aerc/templates/new new file mode 100644 index 0000000..8c162bb --- /dev/null +++ b/.config/aerc/templates/new @@ -0,0 +1,3 @@ +X-Mailer: aerc {{version}} + + diff --git a/.config/aerc/templates/patch.sh b/.config/aerc/templates/patch.sh new file mode 100755 index 0000000..cb10ea5 --- /dev/null +++ b/.config/aerc/templates/patch.sh @@ -0,0 +1,7 @@ +REMOTE_URL=$(git remote get-url --push origin) +COMMITS=$(git reflog -2 $(git for-each-ref --format='%(upstream:short)' $(git symbolic-ref -q HEAD)) --pretty=format:%h | xargs printf '%s from %s') +CURRENT_BRANCH=$(git branch --show-current) +UPSTREAM_BRANCH=$(git for-each-ref --format='%(upstream:short)' $(git symbolic-ref -q HEAD) | sed 's#^[^/]*/##g') +echo "On $REMOTE_URL: + $COMMITS ($CURRENT_BRANCH -> $UPSTREAM_BRANCH)" + diff --git a/.config/aerc/templates/quoted_reply b/.config/aerc/templates/quoted_reply new file mode 100644 index 0000000..4b4aba9 --- /dev/null +++ b/.config/aerc/templates/quoted_reply @@ -0,0 +1,5 @@ +X-Mailer: aerc {{version}} + +Op {{ dateFormat (.OriginalDate | toLocal) "2006-01-02 om 15:04 MST" }}, schreef {{ (index .OriginalFrom 0).Name }}: +{{ wrapText .OriginalText 72 | quote }} + diff --git a/.config/aerc/templates/quoted_thanks b/.config/aerc/templates/quoted_thanks new file mode 100644 index 0000000..e3d7ae8 --- /dev/null +++ b/.config/aerc/templates/quoted_thanks @@ -0,0 +1,8 @@ +X-Mailer: aerc {{version}} +X-Sourcehut-Patchset-Update: APPLIED + +Thanks! + +{{exec "~/.config/aerc/templates/patch.sh" "" }} +Op {{ dateFormat (.OriginalDate | toLocal) "2006-01-02 om 15:04 MST" }}, schreef {{ (index .OriginalFrom 0).Name }}: +{{ wrapText .OriginalText 72 | quote }} diff --git a/.config/aerc/templates/thanks b/.config/aerc/templates/thanks new file mode 100644 index 0000000..f63292a --- /dev/null +++ b/.config/aerc/templates/thanks @@ -0,0 +1,6 @@ +X-Mailer: aerc {{version}} +X-Sourcehut-Patchset-Update: APPLIED + +Thanks! + +{{exec "~/.config/aerc/templates/patch.sh" "" }}