aboutsummaryrefslogtreecommitdiff
path: root/aerc
diff options
context:
space:
mode:
Diffstat (limited to 'aerc')
-rw-r--r--aerc/dot-config/aerc/accounts.conf18
-rw-r--r--aerc/dot-config/aerc/aerc.conf31
-rwxr-xr-xaerc/dot-config/aerc/filters/html53
l---------aerc/dot-config/aerc/filters/html-unsafe1
-rw-r--r--aerc/dot-config/aerc/stylesets/default_nicer37
-rw-r--r--aerc/dot-config/aerc/templates/forward_as_body11
-rw-r--r--aerc/dot-config/aerc/templates/quoted_reply2
7 files changed, 132 insertions, 21 deletions
diff --git a/aerc/dot-config/aerc/accounts.conf b/aerc/dot-config/aerc/accounts.conf
index 1e227f1..7a2fc27 100644
--- a/aerc/dot-config/aerc/accounts.conf
+++ b/aerc/dot-config/aerc/accounts.conf
@@ -1,6 +1,6 @@
[MIT]
source = maildir:///home/moreka/.local/share/mail/mit
-outgoing = /usr/bin/msmtp
+outgoing = /usr/bin/sendmail
default = INBOX
from = Mohammad Reza Karimi <moreka@mit.edu>
copy-to = Sent
@@ -8,8 +8,24 @@ postpone = Drafts
trash = Deleted
archive = Archive
aliases = moreka@MIT.EDU,MOREKA@MIT.EDU
+cache-headers = true
check-mail-cmd = mbsync mit
check-mail-timeout = 20s
folders-sort = INBOX,Sent,Drafts,Archive
+
+
+[Gmail]
+source = maildir:///home/moreka/.local/share/mail/m.r.karimi.j@gmail.com
+outgoing = /usr/bin/sendmail
+default = INBOX
+from = Mohammad Reza Karimi <m.r.karimi.j@gmail.com>
+copy-to = Sent
+postpone = Drafts
+cache-headers = true
+
+check-mail-cmd = mbsync m.r.karimi.j@gmail.com
+check-mail-timeout = 60s
+
+folders-sort = INBOX,Sent
diff --git a/aerc/dot-config/aerc/aerc.conf b/aerc/dot-config/aerc/aerc.conf
index 7f0d08d..4e3b133 100644
--- a/aerc/dot-config/aerc/aerc.conf
+++ b/aerc/dot-config/aerc/aerc.conf
@@ -1,16 +1,16 @@
+# vim: ft=confini
+
[general]
default-save-path=~/Downloads
pgp-provider=gpg
unsafe-accounts-conf=false
log-file=~/.cache/aerc.log
-log-level=warn
+log-level=error
term=alacritty
enable-osc8=true
-# default-menu-cmd=ranger --choosefiles=%f
default-menu-cmd=fzf --multi
[ui]
-#
# Describes the format for each row in a mailbox view. This is a comma
# separated list of column names with an optional align and width suffix. After
# the column name, one of the '<' (left), ':' (center) or '>' (right) alignment
@@ -51,7 +51,7 @@ this-year-time-format=Jan 02
message-view-timestamp-format=2006 Jan 02, 15:04 GMT-0700
sidebar-width=14
# message-list-split=horizontal 20
-mouse-enabled=true
+mouse-enabled=false
new-message-bell=false
dirlist-delay=200ms
@@ -88,13 +88,25 @@ column-name = {{if .To}}{{index (.To | names) 0}}{{else}} malformed email{{end}}
column-flags = {{.Flags | join " "}}
[statusline]
+status-columns = account<=,3973e022e932<=,folder<=,status<=,cbe5cfdf7c21<=,cwd<=,e3b0c44298fc<*,e3b0c44298fc>=,tray>=
+column-cwd = {{cwd}}
+column-e3b0c44298fc =
+column-tray = {{.TrayInfo}}
+column-account = [{{.Account}}
+column-3973e022e932 = -
+column-folder = {{.Folder}}]
+column-status = {{.StatusInfo}}
+column-cbe5cfdf7c21 = |
+display-mode=text
[viewer]
pager=less -Rc
alternatives=text/plain,text/html
show-headers=false
-header-layout=From,To,Cc,Bcc,Date,Subject
-always-show-mime=false
+header-layout=From,Sender,To,Cc,Bcc,Date,Subject,Labels
+always-show-mime=true
+max-mime-height=8
+parse-http-links=true
[compose]
editor=nvim
@@ -102,7 +114,10 @@ header-layout=To,From,Subject
edit-headers=false
focus-body=false
-address-book-cmd=grep -i -m 100 %s /home/moreka/.cache/maildir-rank-addr/addressbook.tsv
+address-book-cmd=addr-book-combine \
+ -c "rg -F -i -- '%s' ~/.cache/maildir-rank-addr/addressbook.tsv" \
+ -c "khard email --remove-first-line --parsable '%s' | cut -f 1,2"
+
file-picker-cmd=lf -selection-path '%f'
@@ -149,7 +164,7 @@ text/html=pandoc -f markdown -t html --standalone
# 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.
#
-text/plain=colorize
+text/plain=wrap -w 100 | colorize
text/calendar=calendar
message/delivery-status=colorize
message/rfc822=colorize
diff --git a/aerc/dot-config/aerc/filters/html b/aerc/dot-config/aerc/filters/html
new file mode 100755
index 0000000..841131e
--- /dev/null
+++ b/aerc/dot-config/aerc/filters/html
@@ -0,0 +1,53 @@
+#!/bin/sh
+
+# aerc filter to view HTML emails with w3m.
+#
+# Networking access will be disabled unless the script is named 'html-unsafe'.
+#
+# If stdout is connected to a TTY, the interactive pager of w3m will be enabled.
+
+set -- w3m \
+ -I UTF-8 -O UTF-8 -T text/html \
+ -s -graph \
+ -o fold_textarea=true \
+ -o fold_line=true \
+ -o decode_url=true \
+ -o display_link=true \
+ "$@"
+
+if [ -t 1 ]; then
+ # stdout is connected to a terminal, enable interactive mode
+ set -- "$@" -o display_borders=true
+
+ if w3m --help 2>&1 | head -n1 | grep -q "options.*image"; then
+ # display inline images if support is enabled
+ set -- "$@" -o display_image=true -o auto_image=true
+ fi
+else
+ # stdout is connected to a pager, dump output without interaction
+ set -- "$@" -cols 100 -dump -o disable_center=true
+fi
+
+if ! [ "$(basename $0)" = "html-unsafe" ]; then
+ # attempt network isolation to prevent any phoning home by rendered emails
+ set -- "$@" -o no_cache=true -o use_cookie=false
+
+ if command -v unshare >/dev/null 2>&1; then
+ # run the command in a separate network namespace
+ set -- unshare --map-root-user --net "$@"
+ elif command -v socksify >/dev/null 2>&1; then
+ # if socksify (from dante-utils) is available, use it
+ export SOCKS_SERVER="127.0.0.1:1"
+ set -- socksify "$@"
+ else
+ # best effort, use an invalid address as http proxy
+ set -- "$@" -o use_proxy=true
+ for opt in http_proxy https_proxy gopher_proxy ftp_proxy; do
+ if w3m -o | grep -q $opt; then
+ set -- "$@" -o $opt='127.0.0.1:1'
+ fi
+ done
+ fi
+fi
+
+sed 's/&nbsp;/ /g' | exec "$@"
diff --git a/aerc/dot-config/aerc/filters/html-unsafe b/aerc/dot-config/aerc/filters/html-unsafe
new file mode 120000
index 0000000..724f4d4
--- /dev/null
+++ b/aerc/dot-config/aerc/filters/html-unsafe
@@ -0,0 +1 @@
+html \ No newline at end of file
diff --git a/aerc/dot-config/aerc/stylesets/default_nicer b/aerc/dot-config/aerc/stylesets/default_nicer
index 301a028..57d02b1 100644
--- a/aerc/dot-config/aerc/stylesets/default_nicer
+++ b/aerc/dot-config/aerc/stylesets/default_nicer
@@ -1,23 +1,48 @@
-# vim: ft=dosini
+# vim: ft=dosini commentstring=#\ %s
#
# aerc default styleset (with changes)
#
# Uncomment these two lines to reset all attributes (except in the [viewer]
# section) and start from scratch.
-#*.default = true
-#*.normal = true
+# *.default = true
+# *.normal = true
+
+# *.selected.reverse = toggle
+
+title.reverse = true
+header.bold = true
+
+*error.bold = true
+error.fg = red
+warning.fg = yellow
+success.fg = green
+
+# statusline*.default = true
+# statusline_default.reverse = true
+# statusline_error.fg = red
+# statusline_error.reverse = true
+
+tab.bg = #444444
*.selected.bg = 12
*.selected.fg = 0
*.selected.bold = false
+msglist.selected.bg = #87af87
+msglist_unread.bold = true
+msglist*.fg = #aaaaaa
+msglist_unread.fg = #cccccc
+msglist_deleted.dim = true
+msglist_marked.bg = yellow
+msglist_marked.fg = 0
+
tab.selected.fg = #ffffff
tab.selected.bg = #1640b0
-tab.selected.bold = false
+tab.selected.bold = true
-dirlist*.selected.bg = 11
-dirlist*.selected.fg = 0
+dirlist*.selected.bg = 0
+dirlist*.selected.fg = #d77575
dirlist*.selected.bold = true
#statusline_*.dim = true
diff --git a/aerc/dot-config/aerc/templates/forward_as_body b/aerc/dot-config/aerc/templates/forward_as_body
index d4c9dbf..ff9076a 100644
--- a/aerc/dot-config/aerc/templates/forward_as_body
+++ b/aerc/dot-config/aerc/templates/forward_as_body
@@ -1,6 +1,7 @@
-Forwarded message from {{.OriginalFrom | names | join ", "}} on {{dateFormat .OriginalDate "Mon Jan 2, 2006 at 15:04 MST"}}:
-{{.OriginalText}}
-{{- with .Signature }}
-
-{{.}}
+Forwarded message from {{(index .OriginalFrom 0).Name}} <{{(index .OriginalFrom 0).Address}}> on {{dateFormat .OriginalDate "Mon Jan 2, 2006 at 15:04 MST"}}:
+{{ if eq .OriginalMIMEType "text/html" -}}
+{{- exec `html` .OriginalText -}}
+{{- else -}}
+{{- .OriginalText -}}
{{- end }}
+{{.Signature}}
diff --git a/aerc/dot-config/aerc/templates/quoted_reply b/aerc/dot-config/aerc/templates/quoted_reply
index 27a3892..7b176d0 100644
--- a/aerc/dot-config/aerc/templates/quoted_reply
+++ b/aerc/dot-config/aerc/templates/quoted_reply
@@ -1,4 +1,4 @@
-On {{dateFormat (.OriginalDate | toLocal) "Mon Jan 2, 2006 at 15:04 MST"}}, {{.OriginalFrom | names | join ", "}} wrote:
+On {{dateFormat (.OriginalDate | toLocal) "Mon Jan 2, 2006 at 15:04 MST"}}, {{(index .OriginalFrom 0).Name}} <{{(index .OriginalFrom 0).Address}}> wrote:
{{ if eq .OriginalMIMEType "text/html" -}}
{{- exec `html` .OriginalText | trimSignature | quote -}}
{{- else -}}