diff options
| -rw-r--r-- | .config/aerc/aerc.conf | 58 | ||||
| -rw-r--r-- | .config/aerc/binds.conf | 201 | ||||
| -rwxr-xr-x | .config/aerc/filters/github-review-fix | 29 | ||||
| -rw-r--r-- | .config/aerc/stylesets/gnzler | 13 | ||||
| -rw-r--r-- | .config/aerc/stylesets/hu | 13 | ||||
| -rw-r--r-- | .config/aerc/stylesets/moji | 13 | ||||
| -rw-r--r-- | .config/aerc/stylesets/r | 56 | ||||
| -rw-r--r-- | .config/aerc/templates/new | 7 |
8 files changed, 253 insertions, 137 deletions
diff --git a/.config/aerc/aerc.conf b/.config/aerc/aerc.conf index d5cca92..e6faea7 100644 --- a/.config/aerc/aerc.conf +++ b/.config/aerc/aerc.conf @@ -1,42 +1,50 @@ # vim: ft=conf [ui] -next-message-on-delete=true - -[ui:folder=Sent] -index-format=%D %-40.40r %Z %s +dirlist-left={{if eq .Folder "INBOX"}} {{end}}{{if eq .Folder "Trash"}} {{end}}{{if eq .Folder "Archive"}} {{end}}{{if eq .Folder "Spam?"}} {{end}}{{if eq .Folder "Sent Items"}} {{end}}{{if eq .Folder "Drafts"}} {{end}}{{.Folder}} +dirlist-tree=true -[ui:account=gnzler] -styleset-name=gnzler - -[ui:account=hu] -styleset-name=hu +next-message-on-delete=true +border-char-vertical="│" +border-char-horizontal="─" +styleset-name=r -[ui:account=moji] -styleset-name=moji +[ui:folder=Sent Items] +index-columns = date<20,to<40,flags>4,subject<* +column-date = {{.DateAutoFormat .Date.Local}} +column-to = {{.To | persons | join ", "}} +column-flags = {{.Flags | join ""}} +column-subject = {{.ThreadPrefix}}{{.Subject}} [viewer] # Default: less -R -# pager=less -g -i -M -R -s -S -w -X -# pager=nvimpager --noplugin -c 'set nowrap' -#pager=bat --style=plain --color=always --language=email --wrap=character - +# pager=page +# pager=less -g -i -M -s -S -w -X +pager=less -c -F -i -R -s -~ --mouse +# pager=bat --style=plain --color=always --language=email --wrap=character always-show-mime=true +[compose] +address-book-cmd = known-emails "%s" +file-picker-cmd = porta filechooser + [filters] -application/pdf=pdf -image/*=swayimg /dev/stdin +#subject,~Git(hub|lab)=lolcat -f +#from,thatguywhodoesnothardwraphismessages=fmt -w 72 | colorize +X-GitHub-Recipient,robertgzr=github-review-fix | colorize + +# application/pdf=pdf +# image/*=vv +# text/*=bat -fP --file-name="$AERC_FILENAME" +application/x-sh=bat -fP -l sh # keep defaults around -text/plain=colorize +text/html=html | colorize +text/plain=wrap | colorize text/calendar=calendar message/delivery-status=colorize message/rfc822=colorize -# text/html=pandoc -f html -t plain | colorize -text/html=html | colorize -text/*=bat -fP --file-name="$AERC_FILENAME" -application/x-sh=bat -fP -l sh -#image/*=catimg -w $(tput cols) - -#subject,~Git(hub|lab)=lolcat -f -#from,thatguywhodoesnothardwraphismessages=fmt -w 72 | colorize + +[hooks] +mail-received = notify-send -i /usr/share/icons/mdi/scalable/email-fast-outline.svg -a aerc "[$AERC_ACCOUNT/$AERC_FOLDER] new mail from $AERC_FROM_NAME" "$AERC_SUBJECT" diff --git a/.config/aerc/binds.conf b/.config/aerc/binds.conf index 11009c2..9e0a41f 100644 --- a/.config/aerc/binds.conf +++ b/.config/aerc/binds.conf @@ -1,106 +1,161 @@ -# 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-h> = :prev-tab<Enter> -<C-l> = :next-tab<Enter> +<C-h> = :prev-tab<cr> +<C-l> = :next-tab<cr> +<C-t> = :term<cr> +? = :help keys<cr> + [messages] -q = :quit<Enter> - -j = :next<Enter> -<Down> = :next<Enter> -<PgDn> = :next 100%<Enter> -k = :prev<Enter> -<Up> = :prev<Enter> -<PgUp> = :prev 100%<Enter> -gg = :select 0<Enter> -G = :select -1<Enter> - -<C-n> = :next-folder<Enter> -<C-p> = :prev-folder<Enter> - -v = :mark -t<Enter> -V = :mark -v<Enter> - -<Enter> = :view<Enter> -dd = :read<Enter> :mv Trash<Enter> -a = :read<Enter> :archive year<Enter> -<Space> = :read<Enter> -<C-Space> = :unread<Enter> -U = :filter -u<Enter> -fc = :filter ''<Enter> - -rr = :reply -aT reply<Enter> -rq = :reply -aq<Enter> - -c = :cf<space> +q = :quit<cr> + +j = :next<cr> +<Down> = :next<cr> +<PgDn> = :next 100%<cr> +k = :prev<cr> +<Up> = :prev<cr> +<PgUp> = :prev 100%<cr> +gg = :select 0<cr> +G = :select -1<cr> + +<C-p> = :prev-folder<cr> +<C-n> = :next-folder<cr> + +V = :mark -v<cr> +v = :mark -t<cr> + +<cr> = :view<cr> +<S-cr> = :vsplit<cr> +<space> = :read -t<cr> +dd = :read<cr> :mv Trash<cr> +a = :read<cr> :archive year<cr> + +F = :filter<space> +fa = :filter -a # filter entire text +fb = :filter -b # filter body +fc = :filter -c # filter cc +fd = :filter -d # filter date range +fr = :filter -r # filter read +fs = :filter -H Subject: # filter subject +ft = :filter -t # filter recipient +fu = :filter -u # filter unread +ff = :filter -f "{{index (.From | emails) 0}}"<cr> # filter from current sender +fl = :filter -H List-ID:"{{.Header \"List-ID\"}}"<cr> # filter from current list +<Esc> = :clear<cr> + +sA = :sort -r arrival<cr> # sort arrival (reverse) +sa = :sort arrival<cr> # sort arrival +sC = :sort -r cc<cr> # sort cc (reversed) +sc = :sort cc<cr> # sort cc (reversed) +sF = :sort -r from<cr> # sort from (reversed) +sf = :sort from<cr> # sort from + +rr = :reply -aT reply<cr> +rq = :reply -aq<cr> + +ct = :compose -T new -H 'To: {{index (.To | emails) 0}}'<cr> +cf = :compose -T new -H 'To: {{index (.From | emails) 0}}'<cr> + $ = :term<space> ! = :term<space> | = :pipe<space> / = :search<space> \ = :filter<space> -n = :next-result<Enter> -N = :prev-result<Enter> -T = :toggle-threads<Enter> +n = :next-result<cr> +N = :prev-result<cr> + +tt = :toggle-threads<cr> + +gi = :cf INBOX<cr> +C = :check-mail<cr> +cm = :check-mail<cr> -gi = :cf INBOX<Enter> -# <C-w> = :pipe -mb aerc-copy-link<Enter> -<C-w> = :open-link -C = :check-mail<Enter> +<C-o> = :vsplit + <cr> +<C-i> = :vsplit - <cr> +<C-w> = :vsplit<cr> + +zC = :collapse-folder<cr> +zc = :collapse<cr> # collapse thread +z0 = :expand-folder<cr> +zo = :open-thread<cr> [messages:account=gnzler] -gl = :cf lists<Enter> -gh = :cf lists/github<Enter> -gs = :cf lists/srht<Enter> -ga = :cf Archive/2022<Enter> -gw = :cf work<Enter> +ga = :cf Archive/2024<cr> +gs = :clear<cr>:filter -a @lists.sr.ht<cr> +gh = :clear<cr>:filter -H 'X-Github-Recipient: robertgzr'<cr> +gp = :clear<cr>:filter -a 'alpinelinux.org'<cr> +gt = :clear<cr>:filter -H 'X-Bugzilla-URL: https://bugs.gentoo.org'<cr> + +[messages:folder=Drafts] +<cr> = :recall<cr> + [view] -<C-k> = :prev-part<Enter> -<C-j> = :next-part<Enter> -<C-n> = :next<Enter> -<C-p> = :prev<Enter> +<C-k> = :prev-part<cr> +<C-j> = :next-part<cr> + +<C-h> = :prev-tab<cr> +<C-l> = :next-tab<cr> -q = :close<Enter> +<C-p> = :prev<cr> +<C-n> = :next<cr> + +q = :close<cr> | = :pipe<space> -D = :prompt 'Really delete?' mv Trash<Enter> +D = :prompt 'Really delete?' mv Trash<cr> S = :save<space> -A = :prompt 'Really archive?' archive year<Enter> +A = :prompt 'Really archive?' archive year<cr> +O = :open porta open-uri<space> + +f = :forward<cr> +rr = :reply -a<cr> +rq = :reply -aq<cr> +rQ = :reply -aQ<cr> +Rr = :reply<cr> +Rq = :reply -q<cr> -f = :forward<Enter> -rr = :reply -a<Enter> -rq = :reply -aq<Enter> -rQ = :reply -aQ<Enter> -Rr = :reply<Enter> -Rq = :reply -q<Enter> +H = :toggle-headers<cr> +<C-w> = :open-link<space> + +ym = :pipe -sd k2 fmt -body | wl-copy -nf<cr> +yf = :pipe -sd k2 fmt -headers=from | awk '{print $2}' | wl-copy -nf<cr> +yt = :pipe -sd k2 fmt -headers=to | awk '{print $2}' | wl-copy -nf<cr> + +[view::passthrough] +$noinherit = true +$ex = <C-x> +<Esc> = :toggle-key-passthrough<cr> -H = :toggle-headers<Enter> -# <C-w> = :pipe -mb aerc-copy-link<Enter> -<C-w> = :open-link [compose] $ex = <C-x> -<C-k> = :prev-field<Enter> -<C-j> = :next-field<Enter> +$noinherit = true +<C-k> = :prev-field<cr> +<C-j> = :next-field<cr> +<C-h> = :prev-tab<cr> +<C-l> = :next-tab<cr> +<tab> = :next-field<cr> +<backtab> = :prev-field<cr> [compose::editor] $noinherit = true $ex = <C-x> -<C-k> = :prev-field<Enter> -<C-j> = :next-field<Enter> +<C-k> = :prev-field<cr> +<C-j> = :next-field<cr> +<C-h> = :prev-tab<cr> +<C-l> = :next-tab<cr> [compose::review] -# Keybindings used when reviewing a message to be sent -y = :send<Enter> -n = :abort<Enter> -v = :preview<Enter> -p = :postpone<Enter> -q = :choose -o d discard abort -o p postpone postpone<Enter> -e = :edit<Enter> +y = :send<cr> +n = :abort<cr> +v = :preview<cr> +p = :postpone<cr> +q = :choose -o d discard abort -o p postpone postpone<cr> +e = :edit<cr> a = :attach<space> d = :detach<space> [terminal] $noinherit = true $ex = <C-x> +<C-h> = :prev-tab<cr> +<C-l> = :next-tab<cr> diff --git a/.config/aerc/filters/github-review-fix b/.config/aerc/filters/github-review-fix new file mode 100755 index 0000000..0c567ab --- /dev/null +++ b/.config/aerc/filters/github-review-fix @@ -0,0 +1,29 @@ +#!/bin/awk -f + +/^> / {c=1} +/^\w/ {c=0} + +# space out footer +# /^--/ { +# cmd="tput lines" +# cmd | getline lines +# close(cmd); +# +# for (i=0;i<lines;i++) +# printf "\n" +# } +/^--/ { + cmd="tput cols" + cmd | getline cols + close(cmd); + + for (i=0;i<cols;i++) + printf "-" + printf "\n\n" + next +} + +{ + if (c) gsub("^(> |)", "> ") + print $0 +} diff --git a/.config/aerc/stylesets/gnzler b/.config/aerc/stylesets/gnzler deleted file mode 100644 index 1059131..0000000 --- a/.config/aerc/stylesets/gnzler +++ /dev/null @@ -1,13 +0,0 @@ -*.default=true -*.selected.bg=13 -*.selected.fg=white - -title.reverse=true -header.bold=true - -*error.bold=true -*error.fg=9 -*warning.fg=3 -*success.fg=2 - -statusline_default.fg=3 diff --git a/.config/aerc/stylesets/hu b/.config/aerc/stylesets/hu deleted file mode 100644 index 72a663c..0000000 --- a/.config/aerc/stylesets/hu +++ /dev/null @@ -1,13 +0,0 @@ -*.default=true -*.selected.bg=12 -*.selected.fg=white - -title.reverse=true -header.bold=true - -*error.bold=true -*error.fg=9 -*warning.fg=3 -*success.fg=2 - -statusline_default.fg=3 diff --git a/.config/aerc/stylesets/moji b/.config/aerc/stylesets/moji deleted file mode 100644 index 69331cf..0000000 --- a/.config/aerc/stylesets/moji +++ /dev/null @@ -1,13 +0,0 @@ -*.default=true -*.selected.bg=1 -*.selected.fg=white - -title.reverse=true -header.bold=true - -*error.bold=true -*error.fg=9 -*warning.fg=3 -*success.fg=2 - -statusline_default.fg=3 diff --git a/.config/aerc/stylesets/r b/.config/aerc/stylesets/r new file mode 100644 index 0000000..55de166 --- /dev/null +++ b/.config/aerc/stylesets/r @@ -0,0 +1,56 @@ +# msglist_flagged.fg=3 +# *.default=true +# *.selected.bg=5 +# *.selected.fg=15 +# +# *error.fg=9 +# *warning.fg=11 +# *success.fg=2 +# +# statusline_default.fg=3 +# +# selector_focused.bg=5 +# selector_focused.fg=15 +# selector_chooser.bg=5 +# selector_chooser.fg=15 + +tab.reverse = false + +border.bg = 0 +border.fg = 5 + +statusline_default.bg = 255 +statusline_default.fg = 0 +statusline_default.reverse = true + +*.selected.bg = 5 +*.selected.fg = 0 +*.selected.reverse = false + +msglist_default.List-ID,~"github.com".bg = #52433d +msglist_default.List-ID,~"github.com".selected.fg = toggle +msglist_default.List-ID,~"github.com".selected.bg = toggle + +msglist_default.List-ID,~"lists.sr.ht".bg = #0f2540 +msglist_default.List-ID,~"lists.sr.ht".selected.fg = toggle +msglist_default.List-ID,~"lists.sr.ht".selected.bg = toggle +msglist_default.To,~"lists.sr.ht".bg = #0f2540 +msglist_default.To,~"lists.sr.ht".selected.fg = toggle +msglist_default.To,~"lists.sr.ht".selected.bg = toggle + +msglist_default.List-ID,~"openstreetmap.org".bg = #0f4c3a +msglist_default.List-ID,~"openstreetmap.org".selected.fg = toggle +msglist_default.List-ID,~"openstreetmap.org".selected.bg = toggle + +msglist_default.List-ID,~"alpinelinux.org".bg = #4d5139 +msglist_default.List-ID,~"alpinelinux.org".selected.fg = toggle +msglist_default.List-ID,~"alpinelinux.org".selected.bg = toggle +msglist_default.From,~"@alpinelinux.org".bg = #4d5139 +msglist_default.From,~"@alpinelinux.org".selected.fg = toggle +msglist_default.From,~"@alpinelinux.org".selected.bg = toggle + +msglist_default.X-Bugzilla-URL,~"bugs.gentoo.org".bg = #3c2f41 +msglist_default.X-Bugzilla-URL,~"bugs.gentoo.org".selected.bg = toggle +msglist_default.X-Bugzilla-URL,~"bugs.gentoo.org".selected.bg = toggle + +msglist_flagged.fg = 11 diff --git a/.config/aerc/templates/new b/.config/aerc/templates/new new file mode 100644 index 0000000..54002bd --- /dev/null +++ b/.config/aerc/templates/new @@ -0,0 +1,7 @@ +{{range $idx, $elm := .To -}} +{{if eq (exec `grep -q 'sr.ht$' && printf '1'` $elm.Address) "1" -}} +From: "Robert Günzler" <r@gnzler.io> +{{- end}} +{{- end}} +X-Mailer: aerc {{version}} + |