commit 4026b93902005c2dbf4f7fb5eb77dee15f946c4b
parent ca2969bd23fbeb24633192d5e2f7047fe89de1bd
Author: William Casarin <jb55@jb55.com>
Date: Mon, 2 Nov 2020 15:10:12 -0800
dotfiles: add aerc config
Diffstat:
3 files changed, 235 insertions(+), 0 deletions(-)
diff --git a/dotfiles/.config/aerc/aerc.conf b/dotfiles/.config/aerc/aerc.conf
@@ -0,0 +1,122 @@
+#
+# 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:
+index-format=%D %-17.17n %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=false
+
+#
+# Ring the bell when new messages are received
+#
+# Default: yes
+new-message-bell=true
+
+[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
+
+[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
+
+[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 @SHAREDIR@/filters/hldiff
+#text/html=/nix/store/hpz653y24p99x21wvrrch16r9lgvgpic-aerc-0.2.1/share/aerc/filters/html
+text/*=awk -f @SHAREDIR@/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"<Enter>
+
+#
+# Executed when a new email arrives in the selected folder
+new-email=
diff --git a/dotfiles/.config/aerc/binds.conf b/dotfiles/.config/aerc/binds.conf
@@ -0,0 +1,100 @@
+# 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>
+
+<Enter> = :view<Enter>
+<C-d> = :confirm 'Really delete this message?' ':delete-message<Enter>'<Enter>
+D = :delete<Enter>
+A = :archive flat<Enter>
+a = :modify-labels -inbox<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>
+
+[view]
+q = :close<Enter>
+| = :pipe<space>
+D = :delete<Enter>
+S = :save<space>
+A = :archive flat<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>
+
+[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>
+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>
diff --git a/dotfiles/.config/aerc/query-map b/dotfiles/.config/aerc/query-map
@@ -0,0 +1,13 @@
+inbox=tag:inbox and not tag:filed and not tag:noise
+lightning=tag:inbox and tag:lightning
+bitcoin=tag:core and tag:inbox and subject:bitcoin/bitcoin
+best=tag:best and tag:inbox
+inbox=tag:inbox and not tag:filed and not tag:noise
+nixpkgs=tag:nixpkgs and tag:inbox
+notmuch=tag:notmuch and tag:inbox
+list=tag:list and not tag:github and tag:inbox and not tag:busy
+github=tag:github and not tag:busy and tag:inbox
+today=date:today
+rss=tag:rss and tag:inbox and not tag:busy
+rss-busy=tag:rss and tag:inbox and tag:busy
+2-day=date:yesterday.. and tag:inbox