dotfiles

Yes, my $HOME has a git repo now :(

git clone git://git.shimmy1996.com/dotfiles.git
commit d0795dd5ea70f7e28d44382b475642dcd6feab84
parent d88deac8f7dd4cc09b473b100b9a19eb49d74cc1
Author: Shimmy Xu <shimmy.xu@shimmy1996.com>
Date:   Sat, 23 Nov 2019 21:54:31 -0500

Add configuration for aerc

Diffstat:
M.README.org | 1+
A.config/aerc/aerc.conf | 122+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
A.config/aerc/binds.conf | 99+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
M.gitignore | 3+++
4 files changed, 225 insertions(+), 0 deletions(-)
diff --git a/.README.org b/.README.org
@@ -13,6 +13,7 @@ Geared towards migration to Wayland in the long term. X11 variants also included
 | Compositor (X)           | =compton=              |
 | Display Manager          | =tbsm=                 |
 | Editor                   | =emacs=                |
+| Email Client             | =aerc=                 |
 | File Browser             | =lf=                   |
 | File Syncing             | =syncthing=, =dropbox= |
 | Font - Monospace         | Iosevka SS09           |
diff --git a/.config/aerc/aerc.conf b/.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=25
+
+#
+# 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: 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 /usr/share/aerc/filters/hldiff
+#text/html=/usr/share/aerc/filters/html
+text/*=awk -f /usr/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"<Enter>
+
+#
+# Executed when a new email arrives in the selected folder
+new-email=exec notify-send "New email from %nk" "%s"<Enter>
diff --git a/.config/aerc/binds.conf b/.config/aerc/binds.conf
@@ -0,0 +1,99 @@
+# 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>
+d = :confirm 'Really delete this message?' ':delete-message<Enter>'<Enter>
+D = :delete<Enter>
+A = :archive flat<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/.gitignore b/.gitignore
@@ -11,6 +11,9 @@
 !.bashrc
 !.clang-format
 !.config
+!.config/aerc
+!.config/aerc/aerc.conf
+!.config/aerc/binds.conf
 !.config/alacritty
 !.config/alacritty/*
 !.config/dunst