neomutt -> aerc+khard

This commit is contained in:
Henrik Bakken
2025-05-18 13:40:19 +02:00
parent c287391ead
commit 8415f9807c
25 changed files with 740 additions and 722 deletions
-1
View File
@@ -1,4 +1,3 @@
.gitsecret/keys/random_seed .gitsecret/keys/random_seed
!*.secret !*.secret
homeassistant/SERVICE_ACCOUNT.JSON homeassistant/SERVICE_ACCOUNT.JSON
SECRETS/neomutt/pwd_henrik@hjarl.com
-1
View File
@@ -1,2 +1 @@
homeassistant/SERVICE_ACCOUNT.JSON:5a3eabcbc53278f7713423b0ea20d0558f6334f8a1f6aed2a2e4cfb2ca9c93ab homeassistant/SERVICE_ACCOUNT.JSON:5a3eabcbc53278f7713423b0ea20d0558f6334f8a1f6aed2a2e4cfb2ca9c93ab
SECRETS/neomutt/pwd_henrik@hjarl.com:cba46950125c0266d72e61c458b174d54c3751f773bbeab3ef7ff2522d099294
Binary file not shown.
+23
View File
@@ -0,0 +1,23 @@
[hjarl]
source = imaps://henrik%40hjarl.com@imap.purelymail.com
outgoing = smtps://henrik%40hjarl.com@smtp.purelymail.com
default = INBOX
from = Henrik Bakken <henrik@hjarl.com>
copy-to = Sent
cache-headers = true
source-cred-cmd = pass show henrik@hjarl.com
outgoing-cred-cmd = pass show henrik@hjarl.com
folders-sort = INBOX, Drafts, Sent, Trash, Junk
folder-map = ~/.config/aerc/henrik@hjarl.com.map
[gmail]
source = imaps://bakken.henrik@imap.gmail.com:993
outgoing = smtps+plain://bakken.henrik@smtp.gmail.com:465
default = INBOX
from = Henrik Bakken <bakken.henrik@gmail.com>
copy-to = Sent
cache-headers = true
source-cred-cmd = pass show bakken.henrik@gmail.com
outgoing-cred-cmd = pass show bakken.henrik@gmail.com
folders-sort = INBOX, Drafts, Starred, All Mail, Sent Mail, Important, Trash
folder-map = ~/.config/aerc/bakken.henrik@gmail.com.map
+74
View File
@@ -0,0 +1,74 @@
[general]
enable-osc8=true
log-file=~/aerc.log
[ui]
border-char-vertical="│"
border-char-horizontal="─"
styleset-name=catppuccin.frappe
sidebar-width=25
fuzzy-complete=true
timestamp-format=Mon 2006-01-02 15:04
this-day-time-format=15:04
this-week-time-format=
this-year-time-format=
mouse-enabled=true
tab-title-account=󰇮 {{.Account}} {{if .Unread "INBOX"}}({{.Unread "INBOX"}}){{end}}
dirlist-left=  {{.Folder}}
dirlist-right={{if .Unread}}{{humanReadable .Unread}}{{end}}
next-message-on-delete=false
dirlist-tree=true
dirlist-collapse=1
icon-unencrypted=
icon-encrypted=✔
icon-signed=✔
icon-signed-encrypted=✔
icon-unknown=✘
icon-invalid=⚠
reverse-thread-order=true
threading-enabled=true
[viewer]
always-show-mime=true
completion-delay=100ms
pager=bat --plain --tabs 4 --paging always --color always
sort=unread
[compose]
address-book-cmd=khard email --parsable --remove-first-line %s
header-layout=To|From,Cc|Bcc,Subject
[multipart-converters]
text/html=pandoc -f markdown -t html --standalone
[filters]
text/plain=colorize
text/calendar=calendar
text/html=w3m -T text/html -I UTF-8 -cols $(tput cols) -dump -o display_image=false -o display_link_number=true
#text/html=pandoc -f html -t plain | colorize
#text/html=! html
#text/*=bat -fP --file-name="$AERC_FILENAME"
message/delivery-status=colorize
message/rfc822=colorize
application/pdf=pdftotext - -l 10 -nopgbrk -q - | fmt -w $(tput cols)
#application/x-sh=bat -fP -l sh
image/*=img2sixel
#image/*=catimg -w $(tput cols) -
#subject,~Git(hub|lab)=lolcat -f
#from,thatguywhodoesnothardwraphismessages=wrap -w 100 | colorize
.headers=colorize
[openers]
text/html=qutebrowser
application/x-pdf=zathura
application/pdf=zathura
application/octet-stream=zathura
image/*=imv
image/png=imv
image/jpg=imv
video/*=mpv
audio/*=mpv --no-video
text/*=vim
[hooks]
mail-received=notify-send "[$AERC_ACCOUNT/$AERC_FOLDER] New mail from $AERC_FROM_NAME" "$AERC_SUBJECT"
+2
View File
@@ -0,0 +1,2 @@
Trash = [Google Mail]/Bin
* = [Google Mail]/*
+160
View File
@@ -0,0 +1,160 @@
# 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>
\[t = :prev-tab<Enter>
\]t = :next-tab<Enter>
<C-t> = :term<Enter>
? = :help keys<Enter>
[messages]
q = :quit<Enter>
j = :next<Enter>
<Down> = :next<Enter>
<C-d> = :next 50%<Enter>
<C-f> = :next 100%<Enter>
<PgDn> = :next 100%<Enter>
k = :prev<Enter>
<Up> = :prev<Enter>
<C-u> = :prev 50%<Enter>
<C-b> = :prev 100%<Enter>
<PgUp> = :prev 100%<Enter>
g = :select 0<Enter>
G = :select -1<Enter>
J = :next-folder<Enter>
K = :prev-folder<Enter>
H = :collapse-folder<Enter>
L = :expand-folder<Enter>
v = :mark -t<Enter>
V = :mark -v<Enter>
T = :toggle-threads<Enter>
zz = :align center<Enter>
zt = :align top<Enter>
zb = :align bottom<Enter>
<Enter> = :view<Enter>
dd = :mv Trash<Enter>
D = :delete-message<Enter>
m = :move<space>
aa = :archive flat<Enter>
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
C = :compose<Enter>
b = :bounce<space>
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>
<Esc> = :clear<Enter>
s = :split<Enter>
S = :vsplit<Enter>
[messages:folder=Drafts]
<Enter> = :recall<Enter>
[messages:folder=Trash]
dd = :delete-message<Enter>
D = :delete-message<Enter>
[messages:folder=Spam]
dd = :delete-message<Enter>
D = :delete-message<Enter>
[view]
/ = :toggle-key-passthrough<Enter>/
q = :close<Enter>
O = :open<Enter>
o = :open<Enter>
S = :save<space>
| = :pipe<space>
dd = :mv Trash<Enter>
D = :delete-message<Enter>
m = :move<space>
aa = :archive flat<Enter>
A = :unmark -a<Enter>:mark -T<Enter>:archive flat<Enter>
<C-l> = :open-link <space>
f = :forward<Enter>
rr = :reply -a<Enter>
rq = :reply -aq<Enter>
Rr = :reply<Enter>
Rq = :reply -q<Enter>
H = :toggle-headers<Enter>
<C-o> = :prev-part<Enter>
<C-i> = :next-part<Enter>
J = :next<Enter>
K = :prev<Enter>
[view:folder=Trash]
dd = :delete-message<Enter>
D = :delete-message<Enter>
[view::passthrough]
$noinherit = true
$ex = <C-x>
<Esc> = :toggle-key-passthrough<Enter>
[compose]
# Keybindings used when the embedded terminal is not selected in the compose
# view
$noinherit = true
$ex = <C-x>
$complete = <C-o>
<C-o> = :prev-field<Enter>
<C-i> = :next-field<Enter>
<A-p> = :switch-account -p<Enter>
<A-n> = :switch-account -n<Enter>
<tab> = :next-field<Enter>
<backtab> = :prev-field<Enter>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
[compose::editor]
# Keybindings used when the embedded terminal is selected in the compose view
$noinherit = true
$ex = <C-x>
<C-o> = :prev-field<Enter>
<C-i> = :next-field<Enter>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
[compose::review]
y = :send<Enter> # Send
n = :abort<Enter> # Abort (discard message, no confirmation)
v = :preview<Enter> # Preview message
p = :postpone<Enter> # Postpone
q = :choose -o d discard abort -o p postpone postpone<Enter> # Abort or postpone
e = :edit<Enter> # Edit (body and headers)
a = :attach<space> # Add attachment
d = :detach<space> # Remove attachment
s = :sign<Enter> # Toggle signing
x = :encrypt<Enter> # Toggle encryption to all recipients
[terminal]
$noinherit = true
$ex = <C-x>
<C-p> = :prev-tab<Enter>
<C-n> = :next-tab<Enter>
View File
+50
View File
@@ -0,0 +1,50 @@
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-frappe
*.default=true
*.normal=true
default.fg=#c6d0f5
error.fg=#e78284
warning.fg=#ef9f76
success.fg=#a6d189
tab.fg=#737994
tab.bg=#292c3c
tab.selected.fg=#c6d0f5
tab.selected.bg=#303446
tab.selected.bold=true
border.fg=#232634
border.bold=true
msglist_unread.bold=true
msglist_flagged.fg=#e5c890
msglist_flagged.bold=true
msglist_result.fg=#8caaee
msglist_result.bold=true
msglist_*.selected.bold=true
msglist_*.selected.bg=#414559
dirlist_*.selected.bold=true
dirlist_*.selected.bg=#414559
statusline_default.fg=#949cbb
statusline_default.bg=#414559
statusline_error.bold=true
statusline_success.bold=true
completion_default.selected.bg=#414559
[viewer]
url.fg=#8caaee
url.underline=true
header.bold=true
signature.dim=true
diff_meta.bold=true
diff_chunk.fg=#8caaee
diff_chunk_func.fg=#8caaee
diff_chunk_func.bold=true
diff_add.fg=#a6d189
diff_del.fg=#e78284
quote_*.fg=#737994
quote_1.fg=#949cbb
+50
View File
@@ -0,0 +1,50 @@
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-latte
#*.default=true
*.normal=true
default.fg=#4c4f69
error.fg=#d20f39
warning.fg=#fe640b
success.fg=#40a02b
tab.fg=#9ca0b0
tab.bg=#e6e9ef
tab.selected.fg=#4c4f69
tab.selected.bg=#eff1f5
tab.selected.bold=true
border.fg=#dce0e8
border.bold=true
msglist_unread.bold=true
msglist_flagged.fg=#df8e1d
msglist_flagged.bold=true
msglist_result.fg=#1e66f5
msglist_result.bold=true
msglist_*.selected.bold=true
msglist_*.selected.bg=#ccd0da
dirlist_*.selected.bold=true
dirlist_*.selected.bg=#ccd0da
statusline_default.fg=#7c7f93
statusline_default.bg=#ccd0da
statusline_error.bold=true
statusline_success.bold=true
completion_default.selected.bg=#ccd0da
[viewer]
url.fg=#1e66f5
url.underline=true
header.bold=true
signature.dim=true
diff_meta.bold=true
diff_chunk.fg=#1e66f5
diff_chunk_func.fg=#1e66f5
diff_chunk_func.bold=true
diff_add.fg=#40a02b
diff_del.fg=#d20f39
quote_*.fg=#9ca0b0
quote_1.fg=#7c7f93
+50
View File
@@ -0,0 +1,50 @@
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-macchiato
*.default=true
*.normal=true
default.fg=#cad3f5
error.fg=#ed8796
warning.fg=#f5a97f
success.fg=#a6da95
tab.fg=#6e738d
tab.bg=#1e2030
tab.selected.fg=#cad3f5
tab.selected.bg=#24273a
tab.selected.bold=true
border.fg=#181926
border.bold=true
msglist_unread.bold=true
msglist_flagged.fg=#eed49f
msglist_flagged.bold=true
msglist_result.fg=#8aadf4
msglist_result.bold=true
msglist_*.selected.bold=true
msglist_*.selected.bg=#363a4f
dirlist_*.selected.bold=true
dirlist_*.selected.bg=#363a4f
statusline_default.fg=#939ab7
statusline_default.bg=#363a4f
statusline_error.bold=true
statusline_success.bold=true
completion_default.selected.bg=#363a4f
[viewer]
url.fg=#8aadf4
url.underline=true
header.bold=true
signature.dim=true
diff_meta.bold=true
diff_chunk.fg=#8aadf4
diff_chunk_func.fg=#8aadf4
diff_chunk_func.bold=true
diff_add.fg=#a6da95
diff_del.fg=#ed8796
quote_*.fg=#6e738d
quote_1.fg=#939ab7
+50
View File
@@ -0,0 +1,50 @@
# https://raw.githubusercontent.com/catppuccin/aerc/refs/heads/main/dist/catppuccin-mocha
*.default=true
*.normal=true
default.fg=#cdd6f4
error.fg=#f38ba8
warning.fg=#fab387
success.fg=#a6e3a1
tab.fg=#6c7086
tab.bg=#181825
tab.selected.fg=#cdd6f4
tab.selected.bg=#1e1e2e
tab.selected.bold=true
border.fg=#11111b
border.bold=true
msglist_unread.bold=true
msglist_flagged.fg=#f9e2af
msglist_flagged.bold=true
msglist_result.fg=#89b4fa
msglist_result.bold=true
msglist_*.selected.bold=true
msglist_*.selected.bg=#313244
dirlist_*.selected.bold=true
dirlist_*.selected.bg=#313244
statusline_default.fg=#9399b2
statusline_default.bg=#313244
statusline_error.bold=true
statusline_success.bold=true
completion_default.selected.bg=#313244
[viewer]
url.fg=#89b4fa
url.underline=true
header.bold=true
signature.dim=true
diff_meta.bold=true
diff_chunk.fg=#89b4fa
diff_chunk_func.fg=#89b4fa
diff_chunk_func.bold=true
diff_add.fg=#a6e3a1
diff_del.fg=#f38ba8
quote_*.fg=#6c7086
quote_1.fg=#9399b2
+83
View File
@@ -0,0 +1,83 @@
# should work with any terminal colorscheme, but was designed for gruvbox
# terminal colors are preferred, but hex is used for grayscale
*.default=true
# present in 'Send this email?' dialog
title.fg=yellow
title.bg=#303030
title.bold=true
# used in setup and in 'From:' etc
header.bold=true
header.fg=purple
# decorative lines
border.fg=blue
# requires attention
*error.bold=true
*error.fg=red
*error.blink=true
*warning.fg=yellow
*warning.blink=true
*success.fg=green
# statusline
statusline_default.fg=gray
statusline_*.bg=#303030
# message list colors
msglist_deleted.fg=gray
msglist_unread.fg=#98971a
msglist_unread.bold=true
msglist_default.fg=#dedede
msglist_marked.fg=yellow
msglist_marked.reverse=true
msglist_flagged.fg=white
# msglist_flagged.bg=red
msglist_flagged.bold=true
# inbox etc
dirlist_default.fg=#dedede
dirlist_unread.fg=white
dirlist_unread.bold=true
# highlight selected item
*.selected.bg=#303030
*.selected.fg=#fabd2f
*.selected.bold=true
# primarily used in account setup
selector_default.fg=gray
selector_chooser.bold=true
selector_focused.bg=green
selector_focused.bold=true
# command completion
completion_default.bg=#303030
completion_gutter.bg=#303030
completion_pill.bg=aqua
#dynamic
*msglist_answered.fg = #21771f
[viewer]
header.fg=#d845c5
header.bold=true
signature.fg=3
signature.dim=true
diff_meta.fg=#ff0000
diff_meta.bold=true
diff_chunk.dim=true
diff_add.fg=#00ff00
diff_del.fg=#ff0000
quote_1.fg=6
quote_2.fg=7
quote_3.fg=6
quote_4.fg=7
quote_3.dim=true
quote_4.dim=true
quote_x.fg=gray
quote_x.dim=true
+52
View File
@@ -0,0 +1,52 @@
# styleset for aerc providing color and sensible defaults
*.default=true
*.normal=true
# style for selected elements
*.selected.bold=true
*.selected.fg="#fe8019"
# status message style
error.fg=red
error.bold=true
warning.fg=yellow
warning.bold=true
success.fg=green
success.bold=true
# title and header style
title.fg=blue
title.bold=true
header.fg=green
header.bold=true
# statusline style
statusline_default.fg=green
statusline_error.fg=red
statusline_success.fg=green
statusline_*.bold=true
# style for messages in message list
msglist_unread.fg=green
msglist_unread.bold=true
msglist_flagged.fg=orangered
msglist_flagged.bold=true
msglist_deleted.fg=gray
msglist_deleted.bold=true
msglist_marked.bg="#665c54"
msglist_result.fg=yellow
msglist_result.bold=true
# style for directories in directory list
dirlist*.fg=blue
dirlist*.bold=true
dirlist*.selected.fg=blue
dirlist*.selected.reverse=true
# tab style
tab.bg="#3C3836"
tab.bold=false
tab.selected.default=true
tab.selected.fg=yellow
tab.selected.bold=true
tab.selected.reverse=false
+75
View File
@@ -0,0 +1,75 @@
# vim: ft=dosini
*.default=true
*.normal=true
border.bg=#005f87
title.bg=#005f87
title.fg=white
title.bold=true
header.bold=true
header.fg=#005f87
tab.selected.fg=white
tab.selected.bg=#005f87
tab.selected.bold=true
dirlist*.selected.bg=#005f87
dirlist*.selected.fg=white
dirlist*.selected.bold=true
dirlist_unread.fg=#64A6B3
*error.bold=true
*error.fg=red
*warning.fg=yellow
*success.fg=green
statusline_default.bg=#303030
statusline_error.fg=red
msglist_unread.fg=#ffffff
msglist_unread.bold=true
msglist_deleted.fg=#666666
#msglist_*.selected.bg=#303030
msglist_*.selected.fg=yellow
msglist_marked.fg=white
msglist_marked.selected.fg=white
msglist_marked.bg=#005f87
msglist_marked.selected.bg=#005fff
msglist_pill.reverse=true
part_*.fg=#ffffff
part_mimetype.fg=#005f87
part_*.selected.fg=#ffffff
part_*.selected.bg=#005f87
part_filename.selected.bold=true
completion_pill.reverse=true
selector_focused.bold=true
selector_focused.bg=#005f87
selector_focused.fg=white
selector_chooser.bold=true
selector_chooser.bg=#005f87
selector_chooser.fg=white
default.selected.bold=true
default.selected.fg=white
default.selected.bg=#005f87
completion_default.selected.bg=#005f87
#[viewer]
#url.fg=#ffffaf
#url.underline=true
#header.fg=#af87ff
#signature.fg=#af87ff
#diff_meta.fg=#ffffff
#diff_meta.bold=true
#diff_chunk.fg=#00cdcd
#diff_add.fg=#00cd00
#diff_del.fg=#cd0000
#quote_1.fg=#5fafff
#quote_2.fg=#ff8700
#quote_3.fg=#af87ff
#quote_4.fg=#ff5fd7
#quote_x.fg=#808080
-2
View File
@@ -4,11 +4,9 @@ default_calendar = purelymail
highlight_event_days = true highlight_event_days = true
[view] [view]
dynamic_days = true dynamic_days = true
[locale] [locale]
unicode_symbols = false unicode_symbols = false
local_timezone = Europe/Oslo local_timezone = Europe/Oslo
default_timezone = Europe/Oslo default_timezone = Europe/Oslo
+49
View File
@@ -0,0 +1,49 @@
[addressbooks]
[[bakken.henrik@gmail.com]]
path = ~/.config/vdirsyncer/contacts/google/default/
[general]
debug = no
default_action = list
# These are either strings or comma seperated lists
editor = nvim, -i, NONE
merge_editor = vimdiff
[contact table]
# display names by first or last name: first_name / last_name / formatted_name
display = formatted_name
# group by address book: yes / no
group_by_addressbook = no
# reverse table ordering: yes / no
reverse = no
# append nicknames to name column: yes / no
show_nicknames = yes
# show uid table column: yes / no
show_uids = yes
# show kind table column: yes / no
show_kinds = no
# sort by first or last name: first_name / last_name / formatted_name
sort = last_name
# localize dates: yes / no
localize_dates = yes
# set a comma separated list of preferred phone number types in descending priority
# or nothing for non-filtered alphabetical order
preferred_phone_number_type = pref, cell, home
# set a comma separated list of preferred email address types in descending priority
# or nothing for non-filtered alphabetical order
preferred_email_address_type = pref, work, home
[vcard]
# extend contacts with your own private objects
# these objects are stored with a leading "X-" before the object name in the vcard files
# every object label may only contain letters, digits and the - character
# example:
# private_objects = Jabber, Skype, Twitter
# default: , (the empty list)
private_objects = Jabber, Skype, Twitter
# preferred vcard version: 3.0 / 4.0
preferred_version = 3.0
# Look into source vcf files to speed up search queries: yes / no
search_in_source_files = no
# skip unparsable vcard files: yes / no
skip_unparsable = no
+2 -4
View File
@@ -85,9 +85,8 @@ sudo systemctl edit coolercontrold.service # set log level to WARN
yay -S vlc protobuf yt-dlp yay -S vlc protobuf yt-dlp
yay -S castnow yay -S castnow
# cal+email # cal+email+contacts
yay -S khal vdirsyncer python-aiohttp-oauthlib yay -S khard aerc khal vdirsyncer python-aiohttp-oauthlib pandoc
yay -S neomutt urlscan mutt-ics sc-im pandoc w3m python-icalendar notmuch msmtp mbsync-git pandoc
# div applications # div applications
yay -S \ yay -S \
@@ -109,7 +108,6 @@ yay -S \
# can be achieved by setting full-screen-api.ignore-widgets to true in about:config # can be achieved by setting full-screen-api.ignore-widgets to true in about:config
wget -P ~/.local/share/fonts/ https://raw.githubusercontent.com/SUNET/static_sunet_se/refs/heads/master/fonts/Akkurat-Mono.otf wget -P ~/.local/share/fonts/ https://raw.githubusercontent.com/SUNET/static_sunet_se/refs/heads/master/fonts/Akkurat-Mono.otf
wget -O mutt-trim -P ~/.local/bin https://raw.githubusercontent.com/Konfekt/mutt-trim/refs/heads/master/mutt-trim
sudo mkdir -p /usr/share/backgrounds/ultrawide/ sudo mkdir -p /usr/share/backgrounds/ultrawide/
sudo wget -O rainbowsmoke.jpg -P /usr/share/backgrounds/ultrawide https://superultrawidewallpaper.com/wp-content/uploads/2022/02/rainbow-smoke-3840x1080-1860x523.jpg sudo wget -O rainbowsmoke.jpg -P /usr/share/backgrounds/ultrawide https://superultrawidewallpaper.com/wp-content/uploads/2022/02/rainbow-smoke-3840x1080-1860x523.jpg
-21
View File
@@ -1,21 +0,0 @@
# vim:filetype=msmtp
defaults
auth on
tls on
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /home/hjalmarlucius/.config/msmtp/msmtp.log
account henrik@hjarl.com
host smtp.purelymail.com
port 465
tls_starttls off
from henrik@hjarl.com
user henrik@hjarl.com
passwordeval "pass henrik@hjarl.com"
account bakken.henrik@gmail.com
host smtp.gmail.com
port 587
from bakken.henrik@gmail.com
user bakken.henrik
passwordeval "pass bakken.henrik@gmail.com"
-22
View File
@@ -1,22 +0,0 @@
set realname = "Henrik Bakken"
set sendmail = "msmtp -a henrik@hjarl.com"
set from = "henrik@hjarl.com"
set folder = "imaps://imap.purelymail.com/"
set imap_user = "henrik@hjarl.com"
source "~/.config/neomutt/pwd_henrik@hjarl.com"
mailboxes = "imaps://imap.purelymail.com/Inbox"
set spoolfile = "+INBOX"
set record = "+Sent"
set postponed = "+Drafts"
set trash = "+Trash"
macro index,pager gi "<change-folder>=INBOX<enter>" "go to inbox"
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts"
macro index,pager gS "<change-folder>=Spam<enter>" "go to spam"
macro index,pager ga "<change-folder>=Archives<enter>" "go to archive"
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash"
macro index D ";:set resolve=no<enter><clear-flag>!<save-message>=Trash<enter><enter><sync-mailbox><enter><enter-command>echo 'Message deleted'<enter>:set resolve=yes<enter>" "Quick Delete"
macro index A ";:set resolve=no<enter><clear-flag>!<save-message>=Archives<enter><enter><sync-mailbox><enter><enter-command>echo 'Message archived'<enter>:set resolve=yes<enter>" "Quick Archive"
-9
View File
@@ -1,9 +0,0 @@
text/html; $BROWSER %s
text/html; w3m -I %{charset} -T text/html -dump; copiousoutput;
text/calendar; /home/hjalmarlucius/src/mutt_dotfiles/bin/render-calendar-attachment.py %s; copiousoutput;
image/*; imv %s &
video/*; mpv --autofit-larger=90\%x90\% %s; needsterminal;
video/*; setsid mpv --quiet %s &; copiousoutput
application/pdf; zathura %s &
application/vnd.openxmlformats-officedocument.wordprocessingml.document; libreoffice %s & disown
application/vnd.openxmlformats-officedocument.spreadsheetml.sheet; sc-im %s; needsterminal
-399
View File
@@ -1,399 +0,0 @@
source "~/.config/neomutt/unbindrc"
# cache
set header_cache = ~/.cache/mutt
set message_cachedir = "~/.cache/mutt"
set mailcap_path = $HOME/.config/neomutt/mailcap
set rfc2047_parameters = yes
set check_mbox_size = yes
set new_mail_command = "notify-send 'New Email'"
set imap_check_subscribed
#------------------------------------------------------------
# Accounts
#------------------------------------------------------------
source "~/.config/neomutt/henrik@hjarl.com"
# macro index,pager i1 '<sync-mailbox><enter-command>source $HOME/.config/neomutt/REPLACEME<enter><change-folder>!<enter>;<check-stats>' "switch to REPLACEME"
#------------------------------------------------------------
# Settings
#------------------------------------------------------------
#### General Settings
set smtp_authenticators = 'gssapi:login'
unset help
set sleep_time = 0 # Pause 0 seconds for informational messages
set pager_read_delay = 3 # View a message for 3 seconds to mark as read
set mark_old = no # Unread mail stay unread until read
set mime_forward = no # attachments are forwarded with mail
set wait_key = no # mutt won't ask "press key to continue"
set fast_reply # skip to compose when replying
set fcc_attach # save attachments with the body
set forward_format = "Fwd: %s" # format of subject when forwarding
set forward_quote # quote forwarded message
set reverse_name # reply as whomever it was to
set reverse_realname = yes # use any real name provided when replying
set auto_tag # automatically apply commands to all tagged messages (if some messages are tagged)
set include # include message in replies
set delete # messages marked for deleting will automatically be purged without prompting
set quit
set mail_check = 5 # to avoid lags using IMAP with some email providers (yahoo for example)
set timeout = 3 # how long to wait after user input until unblocking background stuff like mail syncing
set count_alternatives = yes # recurse into text/multipart when looking for attachement types
set thorough_search = no # don't process mail (via mailcap etc) before parsing with queries like ~B
set flag_safe # flagged messages can't be deleted
#### Header Options
ignore * # ignore all headers
unignore to: cc: # ..then selectively show only these headers
unhdr_order * # some distros order things by default
hdr_order from: to: cc: date: subject: # header item ordering
#### View Settings
set allow_ansi # allow ansi escape codes (e.g. colors)
set pager_index_lines = 10 # number of index lines to show
set pager_context = 3 # number of context lines to show
set pager_stop # don't go to next message automatically
set menu_scroll # scroll in menus
set smart_wrap # wrap lines at word boundaries rather than splitting up words
set wrap = 90 # email view width
set quote_regexp = "^( {0,4}[>|:#%]| {0,4}[a-z0-9]+[>|]+)+"
set reply_regexp = "^(([Rr][Ee]?(\[[0-9]+\])?: *)?(\[[^]]+\] *)?)*"
# Tidy up emails significantly
set display_filter="perl -0777pe 's/___{10,}[^_]*microsoft teams meeting.*to join the meeting<([^>]*).*(___{10,})/\\n────────────────────────────────────────────────────────────────────────\\n\\nTeams Meeting ~~\\n\\nMeeting URL:\\n$1\\n\\n────────────────────────────────────────────────────────────────────────/is'| sed 's/^\\(To\\|CC\\): \\([^<]*[^>]\\)$/\\1\:<\\2>/g' | perl -0777pe 's/(((?!.*CC:)To:|CC:).+?(?=>\\n)>)/$1!REMOVE_ME!\\n!END!/gs' | sed '/^To:/{;:l N;/!END!/b; s/\\(\\n\\| *\\|\\t\\t*\\)/ /g; bl}' | sed '/^To:/,/>$/ s/\\([^>]*>,\\?\\)/\\1\\n/g' | sed -e 's/^ \\(CC:\\)\\(.*$\\)/\\1\\n\\2/' -e 's/^\\(To:\\)\\(.*$\\)/\\1 --------------------------------------------------------------------\\n\\2/' -e 's/^!END!$/------------------------------------------------------------------------/' -e '/!REMOVE_ME!/d' -e '/\\[-- Type: text.* --\\]/d' -e '/\\[-- Autoview.* --\\]/d' -e '/\\[-- Type.* --\\]/d' -e '/\\[-- .*unsupported.* --\\]/d' -e '/\\[-- Attachment #[0-9] --\\]/d' -e 's/Attachment #[0-9]: //g' -e '/./,/^$/!d' -e 's/\\([A-Z]*\\), *\\([A-Za-z]*\\)\\(\"\\)\\?/\\2 \\L\\u\\1\\E\\3/g'"
#### Notmuch Config
set nm_query_type = threads # bring in the whole thread instead of just the matched message, really useful
set nm_default_url = "notmuch:///$HOME/.local/share/mail" # default notmuch URL
set nm_record_tags = "sent" # default 'sent' tag
set virtual_spoolfile = yes # allow using virtual mailboxes as spoolfile
macro index \Cg "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search: ' x; echo \$x >~/.cache/mutt_terms<enter><change-folder>All Accounts<enter><limit>~i \"\`notmuch --config ~/.config/notmuch/notmuchrc search --output=messages \$(/bin/cat ~/.cache/mutt_terms) | head -n 1000 | perl -le '@a=<>;chomp@a;s/\^id:// for@a;$,=\"|\";print@a' | sed 's/id://g' \`\"<enter>" "Search all mailboxes in all accounts (Global search)"
#### Content/Autoview
auto_view application/ics
auto_view text/calendar
auto_view text/plain
auto_view text/html
auto_view application/pgp-encrypted
alternative_order text/calendar application/ics text/plain text/enriched text/html
#### Sidebar Config
set sidebar_divider_char = '│'
set sidebar_folder_indent = yes
set sidebar_indent_string = ' - '
set sidebar_non_empty_mailbox_only = yes
set sidebar_visible = no
set sidebar_width = 50
set sidebar_next_new_wrap = yes
set sidebar_short_path = yes
set sidebar_component_depth = 0
set sidebar_sort = "path"
#### Thread ordering
set use_threads=threads
set sort=last-date
set sort_aux=date
set collapse_all = yes
set uncollapse_new = no
set thread_received = yes
set narrow_tree = no
#### Lists
set auto_subscribe
### Sounds
set beep = no # don't beep for errors
set beep_new # beep for new messages
#### Text editor
set edit_headers = yes
set autoedit = yes
set editor="~/.local/bin/mutt-trim %s; nvim +':set textwidth=72' +':set wrapmargin=0' +':set wrap' +':set spell' %s"
#### Markdown to html email conversion
macro compose M "F pandoc -s -f markdown -t html \ny^T^Utext/html; charset=UTF-8\n" "Convert from MD to HTML"
#### Show patch files (requires git-split-diffs)
macro attach P "|git-split-diffs --color | less -RF<enter>" "View a patch file as a diff"
set wait_key = no
#------------------------------------------------------------
# Bind
#------------------------------------------------------------
# General Navigation
bind index <Left> collapse-thread
bind index <Right> collapse-thread
bind index h collapse-thread
bind index l collapse-thread
bind index + link-threads
bind index zz current-middle
bind index zt current-top
bind index zb current-bottom
bind index \\ limit
macro index <return> "<display-message>\n<skip-headers>\n"
macro index \# "<edit-label>\n" "Mark as Complete"
macro index x "<limit>all\n" "show all messages (undo limit)"
macro index \ci "<limit>~F\n" "Limit by flagged"
bind attach <return> view-mailcap
bind browser gg top-page
bind browser G bottom-page
bind pager j next-line
bind pager k previous-line
bind pager <Down> next-line
bind pager <Up> previous-line
bind pager G bottom
bind pager gg top
macro pager J "<next-entry>\n<skip-headers>\n"
macro pager K "<previous-entry>\n<skip-headers>\n"
bind index,pager f change-folder
bind index,pager \Cu half-up
bind index,pager \Cd half-down
bind index,pager \Cb sidebar-toggle-visible
bind index,pager \Cj sidebar-next
bind index,pager \Ck sidebar-prev
bind index,pager \Co sidebar-open
bind index,pager \Cn next-unread
bind index,pager \Cp previous-unread
bind index,pager H view-raw-message
bind index,pager v view-attachments
bind index,pager | pipe-message
bind browser,query <return> select-entry
bind index,attach,browser,query G last-entry
bind index,attach,browser,query gg first-entry
bind index,attach,browser,query j next-entry
bind index,attach,browser,query k previous-entry
bind index,attach,browser,query <Down> next-entry
bind index,attach,browser,query <Up> previous-entry
bind index,pager,attach,browser,query,alias,compose q exit
# Mail manipulation from index list
bind index t tag-entry
bind index T tag-thread
bind index <space> flag-message
bind index u undelete-message
bind index U undelete-thread
bind index,pager d delete-message
bind index,pager L edit-label
# Compose, Replies and Forwarding
bind index,pager c mail # compose message
bind index,pager \Cr recall-message # (from drafts)
bind index,pager r reply
bind index,pager R group-reply
bind index,pager F forward-message
# Compose screen options
bind compose y send-message
bind compose a attach-file
bind compose p postpone-message
bind compose e edit-message
bind compose t edit-to
bind compose f edit-from
bind compose s edit-subject
bind compose c edit-cc
bind compose b edit-bcc
bind compose r rename-file
bind compose F filter-entry
bind compose \Ct edit-type
bind compose \Ck move-up
bind compose \Cj move-down
bind compose <return> view-attach
bind attach,compose | pipe-entry
# Commands and Misc
bind index,pager $ sync-mailbox # more like a refresh than a sync
bind editor <Tab> complete-query
bind index,pager n search-next
bind index,pager N search-opposite
bind index,pager p search-opposite
bind index,pager,attach,editor,compose <F5> refresh
macro index,pager \cl '<pipe-message>urlscan -d -w 80<enter>' "call urlscan to open links"
macro index O "<shell-escape>mbsync -a -c $HOME/.config/isync/mbsyncrc<enter>" "run mbsync to sync all mail"
macro attach s '<save-entry><kill-line>~/Downloads/<enter>a' "Save file to ~/Downloads"
macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
macro index \Ca "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
macro attach,compose \cl "<pipe-entry> urlscan -d -w 80<Enter>" "call urlscan to extract URLs out of a message"
set abort_key = "<Esc>"
# copy / move messages
macro index C "<copy-message>?<toggle-mailboxes>" "copy a message to a mailbox"
macro index M "<save-message>?<toggle-mailboxes>" "move a message to a mailbox"
#------------------------------------------------------------
# Colors
#------------------------------------------------------------
# Nerd icons idea based on https://github.com/sheoak/neomutt-powerline-nerdfonts/
# Dracula colors based on Dracula Theme by Paul Townsend <paul@caprica.org>
# Formatting ----------------------------------------------------------------------
set date_format = "%a %d %h %H:%M"
set index_format=" %zc %zs %zt | %-35.35L %@attachment_info@ ?%-30.100s %> %?Y?%Y ? %(!%a %d %h %H:%M) "
set pager_format="%n %T %s%*  %{!%d %b · %H:%M} %?X? %X?%P"
set status_format = " %D %?u? %u ?%?R? %R ?%?d? %d ?%?t? %t ?%?F? %F ?%?p? %p? \n \n"
set compose_format="-- NeoMutt: Compose [Approx. msg size: %l Atts: %a]%>-"
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
index-format-hook attachment_info '=B text/calendar ~X 1' ' '
index-format-hook attachment_info '=B text/calendar' " "
index-format-hook attachment_info '~X 1' " "
index-format-hook attachment_info '~A' " "
# General Colors ------------------------------------------------------------------
color normal default default # general text
color error color231 color212 # error messages
color message default default # messages at the bottom
color prompt default default # prompt text
color search black color10 # search highlight
# Statusbar Colors ----------------------------------------------------------------
color status color141 default
color status color7 color8 '([a-zA-Z0-9\.,]|\[|\])(\s)' # bubble content 1
color status color7 color8 '(\s)([a-zA-Z0-9\.,]|\[|\])' # bubble content 2
color status color7 color8 '(\% )' # % symbol
color status color7 color8 '(\S)' # empty spaces
color status color8 default '(|)' # statusline "bubbles"
color status color69 black '(\` )' # bubble account variation
color status white color69 '([a-zA-Z0-9\.]+)()' # account text
color status green color8 '' # Unread messages count
color status blue color8 '' # Read messages count icon
color status yellow color8 '' # Flagged icon
color status red color8 '' # Pending delete icon
# Index Colors --------------------------------------------------------------------
color index color15 default '~N' # new messages
color index color8 default '~R' # read messages
color index color8 default '~Q' # messages which have been replied to
color index_collapsed color4 default # collapsed thread (message count text)
color index color5 default '!~Q^~p' # sent only to me and haven't been replied to
color index color22 default '~h X-Label..' # messages with a complete label
color index color6 default '~F' # flagged messages
color index color6 default '~F~N' # flagged messages (new)
color index color14 default '~F~R' # flagged messages (read)
color index color1 default '~D' # deleted messages
color index color1 default '~D~N' # deleted messages (new)
color index color9 default '~D~R' # deleted messages (read)
color index color3 default '~T' # tagged messages
color index color3 default '~T~N' # tagged messages (new)
color index color11 default '~T~R' # tagged messages (read)
color tree color8 color8 # thread tree lines/arrow
color indicator default color8 # selection indicator
color index_date color8 default # date is always the same colour
color index_label color6 default # label is always the same colour
# Sidebar Colors ------------------------------------------------------------------
color sidebar_indicator color14 black # currently selected mailbox
color sidebar_highlight white color8 # highlighted, but not open, mailbox.
color sidebar_ordinary color8 default # Color to give mailboxes by default
color sidebar_divider color8 black # divider between sidebar & content
color sidebar_flagged red black # mailboxes containing flagged mail
color sidebar_new green black # mailboxes containing new mail
color sidebar_unread color7 default # mailboxes containing unread mail
color sidebar_unread color7 default # mailboxes containing unread mail
# Message Headers -----------------------------------------------------------------
color hdrdefault color8 default
# Message Body --------------------------------------------------------------------
# Attachments
color attachment color8 default
# Signature
color signature color8 default
# emails
# color body color14 default '[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+'
# hide "mailto"
color body color0 color0 '<mailto:[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+>'
# URLs
color body color3 default '(https?|ftp)://[-\.,/%~_:?&=\#a-zA-Z0-9\+]+'
# Dividers
color body color8 default '(^[-_]*$)'
# Important info in calendar invites
color body color6 default '^(Date\/Time|Location|Organiser|Invitees|Teams Meeting)(:| \~\~)'
# Quotes
color quoted color61 default
color quoted1 color117 default
color quoted2 color84 default
color quoted3 color215 default
color quoted4 color212 default
# Forward/reply headers
color body color8 default '(^(To|From|Sent|Subject):.*)'
# Patch syntax highlighting
color body brightwhite default '^[[:space:]].*'
color body yellow default ^(diff).*
color body white default ^[\-\-\-].*
color body white default ^[\+\+\+].*
color body green default ^[\+].*
color body red default ^[\-].*
color body brightblue default [@@].*
color body cyan default ^(Signed-off-by).*
color body brightwhite default ^(Cc)
color body yellow default "^diff \-.*"
color body brightwhite default "^index [a-f0-9].*"
color body brightblue default "^---$"
color body white default "^\-\-\- .*"
color body white default "^[\+]{3} .*"
color body green default "^[\+][^\+]+.*"
color body red default "^\-[^\-]+.*"
color body brightblue default "^@@ .*"
color body green default "LGTM"
color body brightmagenta default "-- Commit Summary --"
color body brightmagenta default "-- File Changes --"
color body brightmagenta default "-- Patch Links --"
color body green default "^Merged #.*"
color body red default "^Closed #.*"
color body brightblue default "^Reply to this email.*"
# Misc -----------------------------------------------------------------------------
# no addressed to me, to me, group, cc, sent by me, mailing list
set to_chars=" "
# unchanged mailbox, changed, read only, attach mode
set status_chars = " "
ifdef crypt_chars set crypt_chars = " "
set flag_chars = " "
# hide some tags
set hidden_tags = "unread,draft,flagged,passed,replied,attachment,signed,encrypted"
tag-transforms "replied" "↻ " \
"encrytpted" "" \
"signed" "" \
"attachment" "" \
# The formats must start with 'G' and the entire sequence is case sensitive.
tag-formats "replied" "GR" \
"encrypted" "GE" \
"signed" "GS" \
"attachment" "GA" \
# don't put '+' at the beginning of wrapped lines
set markers = no
-261
View File
@@ -1,261 +0,0 @@
bind generic,pager,editor,index,compose,browser,attach | noop
bind generic,pager,editor,index,compose,browser,attach a noop
bind generic,pager,editor,index,compose,browser,attach b noop
bind generic,pager,editor,index,compose,browser,attach c noop
bind generic,pager,editor,index,compose,browser,attach d noop
bind generic,pager,editor,index,compose,browser,attach e noop
bind generic,pager,editor,index,compose,browser,attach f noop
bind generic,pager,editor,index,compose,browser,attach g noop
bind generic,pager,editor,index,compose,browser,attach h noop
bind generic,pager,editor,index,compose,browser,attach i noop
bind generic,pager,editor,index,compose,browser,attach j noop
bind generic,pager,editor,index,compose,browser,attach k noop
bind generic,pager,editor,index,compose,browser,attach l noop
bind generic,pager,editor,index,compose,browser,attach m noop
bind generic,pager,editor,index,compose,browser,attach n noop
bind generic,pager,editor,index,compose,browser,attach o noop
bind generic,pager,editor,index,compose,browser,attach p noop
bind generic,pager,editor,index,compose,browser,attach r noop
bind generic,pager,editor,index,compose,browser,attach s noop
bind generic,pager,editor,index,compose,browser,attach t noop
bind generic,pager,editor,index,compose,browser,attach u noop
bind generic,pager,editor,index,compose,browser,attach v noop
bind generic,pager,editor,index,compose,browser,attach w noop
bind generic,pager,editor,index,compose,browser,attach x noop
bind generic,pager,editor,index,compose,browser,attach y noop
bind generic,pager,editor,index,compose,browser,attach z noop
bind generic,pager,editor,index,compose,browser,attach A noop
bind generic,pager,editor,index,compose,browser,attach B noop
bind generic,pager,editor,index,compose,browser,attach C noop
bind generic,pager,editor,index,compose,browser,attach D noop
bind generic,pager,editor,index,compose,browser,attach E noop
bind generic,pager,editor,index,compose,browser,attach F noop
bind generic,pager,editor,index,compose,browser,attach G noop
bind generic,pager,editor,index,compose,browser,attach H noop
bind generic,pager,editor,index,compose,browser,attach I noop
bind generic,pager,editor,index,compose,browser,attach J noop
bind generic,pager,editor,index,compose,browser,attach K noop
bind generic,pager,editor,index,compose,browser,attach L noop
bind generic,pager,editor,index,compose,browser,attach M noop
bind generic,pager,editor,index,compose,browser,attach N noop
bind generic,pager,editor,index,compose,browser,attach O noop
bind generic,pager,editor,index,compose,browser,attach P noop
bind generic,pager,editor,index,compose,browser,attach Q noop
bind generic,pager,editor,index,compose,browser,attach R noop
bind generic,pager,editor,index,compose,browser,attach S noop
bind generic,pager,editor,index,compose,browser,attach T noop
bind generic,pager,editor,index,compose,browser,attach U noop
bind generic,pager,editor,index,compose,browser,attach V noop
bind generic,pager,editor,index,compose,browser,attach W noop
bind generic,pager,editor,index,compose,browser,attach X noop
bind generic,pager,editor,index,compose,browser,attach Y noop
bind generic,pager,editor,index,compose,browser,attach Z noop
bind generic,pager,editor,index,compose,browser,attach <Tab> noop
bind generic,pager,editor,index,compose,browser,attach <Space> noop
bind generic,pager,editor,index,compose,browser,attach <PageUp> noop
bind generic,pager,editor,index,compose,browser,attach <PageDown> noop
bind generic,pager,editor,index,compose,browser,attach <Home> noop
bind generic,pager,editor,index,compose,browser,attach <End> noop
bind generic,pager,editor,index,compose,browser,attach <Insert> noop
bind generic,pager,editor,index,compose,browser,attach <Delete> noop
bind generic,pager,index,compose,browser,attach <Up> noop
bind generic,pager,index,compose,browser,attach <Down> noop
bind generic,pager,editor,index,compose,browser,attach <Left> noop
bind generic,pager,editor,index,compose,browser,attach <Right> noop
bind generic,pager,editor,index,compose,browser,attach <Enter> noop
bind generic,pager,editor,index,compose,browser,attach <Return> noop
bind generic,pager,editor,index,compose,browser,attach 1 noop
bind generic,pager,editor,index,compose,browser,attach 2 noop
bind generic,pager,editor,index,compose,browser,attach 3 noop
bind generic,pager,editor,index,compose,browser,attach 4 noop
bind generic,pager,editor,index,compose,browser,attach 5 noop
bind generic,pager,editor,index,compose,browser,attach 6 noop
bind generic,pager,editor,index,compose,browser,attach 7 noop
bind generic,pager,editor,index,compose,browser,attach 8 noop
bind generic,pager,editor,index,compose,browser,attach 9 noop
bind generic,pager,editor,index,compose,browser,attach 0 noop
bind generic,pager,editor,index,compose,browser,attach ! noop
bind generic,pager,editor,index,compose,browser,attach @ noop
bind generic,pager,editor,index,compose,browser,attach $ noop
bind generic,pager,editor,index,compose,browser,attach % noop
bind generic,pager,editor,index,compose,browser,attach ^ noop
bind generic,pager,editor,index,compose,browser,attach & noop
bind generic,pager,editor,index,compose,browser,attach * noop
bind generic,pager,editor,index,compose,browser,attach ( noop
bind generic,pager,editor,index,compose,browser,attach ) noop
bind generic,pager,editor,index,compose,browser,attach \Ca noop
bind generic,pager,editor,index,compose,browser,attach \Cb noop
bind generic,pager,editor,index,compose,browser,attach \Cc noop
bind generic,pager,editor,index,compose,browser,attach \Cd noop
bind generic,pager,editor,index,compose,browser,attach \Ce noop
bind generic,pager,editor,index,compose,browser,attach \Cf noop
bind generic,pager,editor,index,compose,browser,attach \Cg noop
bind generic,pager,editor,index,compose,browser,attach \Ch noop
bind generic,pager,editor,index,compose,browser,attach \Ci noop
bind generic,pager,editor,index,compose,browser,attach \Cj noop
bind generic,pager,editor,index,compose,browser,attach \Ck noop
bind generic,pager,editor,index,compose,browser,attach \Cl noop
bind generic,pager,editor,index,compose,browser,attach \Cm noop
bind generic,pager,editor,index,compose,browser,attach \Cn noop
bind generic,pager,editor,index,compose,browser,attach \Co noop
bind generic,pager,editor,index,compose,browser,attach \Cp noop
bind generic,pager,editor,index,compose,browser,attach \Cq noop
bind generic,pager,editor,index,compose,browser,attach \Cr noop
bind generic,pager,editor,index,compose,browser,attach \Cs noop
bind generic,pager,editor,index,compose,browser,attach \Ct noop
bind generic,pager,editor,index,compose,browser,attach \Cv noop
bind generic,pager,editor,index,compose,browser,attach \Cw noop
bind generic,pager,editor,index,compose,browser,attach \Cxe noop
bind generic,pager,editor,index,compose,browser,attach \Cx noop
bind generic,pager,editor,index,compose,browser,attach \Cy noop
bind generic,pager,editor,index,compose,browser,attach \Cz noop
bind generic,pager,editor,index,compose,browser,attach \CA noop
bind generic,pager,editor,index,compose,browser,attach \CB noop
bind generic,pager,editor,index,compose,browser,attach \CC noop
bind generic,pager,editor,index,compose,browser,attach \CD noop
bind generic,pager,editor,index,compose,browser,attach \CE noop
bind generic,pager,editor,index,compose,browser,attach \CF noop
bind generic,pager,editor,index,compose,browser,attach \CG noop
bind generic,pager,editor,index,compose,browser,attach \CH noop
bind generic,pager,editor,index,compose,browser,attach \CI noop
bind generic,pager,editor,index,compose,browser,attach \CJ noop
bind generic,pager,editor,index,compose,browser,attach \CK noop
bind generic,pager,editor,index,compose,browser,attach \CL noop
bind generic,pager,editor,index,compose,browser,attach \CM noop
bind generic,pager,editor,index,compose,browser,attach \CN noop
bind generic,pager,editor,index,compose,browser,attach \CO noop
bind generic,pager,editor,index,compose,browser,attach \CP noop
bind generic,pager,editor,index,compose,browser,attach \CQ noop
bind generic,pager,editor,index,compose,browser,attach \CR noop
bind generic,pager,editor,index,compose,browser,attach \CS noop
bind generic,pager,editor,index,compose,browser,attach \CT noop
bind generic,pager,editor,index,compose,browser,attach \CV noop
bind generic,pager,editor,index,compose,browser,attach \CW noop
bind generic,pager,editor,index,compose,browser,attach \CX noop
bind generic,pager,editor,index,compose,browser,attach \CY noop
bind generic,pager,editor,index,compose,browser,attach \CZ noop
bind generic,pager,editor,index,compose,browser,attach \C<Tab> noop
bind generic,pager,editor,index,compose,browser,attach \C<Space> noop
bind generic,pager,editor,index,compose,browser,attach \C<PageUp> noop
bind generic,pager,editor,index,compose,browser,attach \C<PageDown> noop
bind generic,pager,editor,index,compose,browser,attach \C<Home> noop
bind generic,pager,editor,index,compose,browser,attach \C<End> noop
bind generic,pager,editor,index,compose,browser,attach \C<Insert> noop
bind generic,pager,editor,index,compose,browser,attach \C<Delete> noop
bind generic,pager,editor,index,compose,browser,attach \C<Up> noop
bind generic,pager,editor,index,compose,browser,attach \C<Down> noop
bind generic,pager,editor,index,compose,browser,attach \C<Left> noop
bind generic,pager,editor,index,compose,browser,attach \C<Right> noop
bind generic,pager,editor,index,compose,browser,attach \C<Enter> noop
bind generic,pager,editor,index,compose,browser,attach \C<Return> noop
bind generic,pager,editor,index,compose,browser,attach \C1 noop
bind generic,pager,editor,index,compose,browser,attach \C2 noop
bind generic,pager,editor,index,compose,browser,attach \C3 noop
bind generic,pager,editor,index,compose,browser,attach \C4 noop
bind generic,pager,editor,index,compose,browser,attach \C5 noop
bind generic,pager,editor,index,compose,browser,attach \C6 noop
bind generic,pager,editor,index,compose,browser,attach \C7 noop
bind generic,pager,editor,index,compose,browser,attach \C8 noop
bind generic,pager,editor,index,compose,browser,attach \C9 noop
bind generic,pager,editor,index,compose,browser,attach \C0 noop
bind generic,pager,editor,index,compose,browser,attach \C! noop
bind generic,pager,editor,index,compose,browser,attach \C$ noop
bind generic,pager,editor,index,compose,browser,attach \C% noop
bind generic,pager,editor,index,compose,browser,attach \C^ noop
bind generic,pager,editor,index,compose,browser,attach \C& noop
bind generic,pager,editor,index,compose,browser,attach \C* noop
bind generic,pager,editor,index,compose,browser,attach \C( noop
bind generic,pager,editor,index,compose,browser,attach \C) noop
bind generic,pager,editor,index,compose,browser,attach <Esc>a noop
bind generic,pager,editor,index,compose,browser,attach <Esc>b noop
bind generic,pager,editor,index,compose,browser,attach <Esc>c noop
bind generic,pager,editor,index,compose,browser,attach <Esc>d noop
bind generic,pager,editor,index,compose,browser,attach <Esc>e noop
bind generic,pager,editor,index,compose,browser,attach <Esc>f noop
bind generic,pager,editor,index,compose,browser,attach <Esc>g noop
bind generic,pager,editor,index,compose,browser,attach <Esc>h noop
bind generic,pager,editor,index,compose,browser,attach <Esc>i noop
bind generic,pager,editor,index,compose,browser,attach <Esc>j noop
bind generic,pager,editor,index,compose,browser,attach <Esc>k noop
bind generic,pager,editor,index,compose,browser,attach <Esc>l noop
bind generic,pager,editor,index,compose,browser,attach <Esc>m noop
bind generic,pager,editor,index,compose,browser,attach <Esc>n noop
bind generic,pager,editor,index,compose,browser,attach <Esc>o noop
bind generic,pager,editor,index,compose,browser,attach <Esc>p noop
bind generic,pager,editor,index,compose,browser,attach <Esc>q noop
bind generic,pager,editor,index,compose,browser,attach <Esc>r noop
bind generic,pager,editor,index,compose,browser,attach <Esc>s noop
bind generic,pager,editor,index,compose,browser,attach <Esc>t noop
bind generic,pager,editor,index,compose,browser,attach <Esc>u noop
bind generic,pager,editor,index,compose,browser,attach <Esc>v noop
bind generic,pager,editor,index,compose,browser,attach <Esc>w noop
bind generic,pager,editor,index,compose,browser,attach <Esc>x noop
bind generic,pager,editor,index,compose,browser,attach <Esc>y noop
bind generic,pager,editor,index,compose,browser,attach <Esc>z noop
bind generic,pager,editor,index,compose,browser,attach <Esc>A noop
bind generic,pager,editor,index,compose,browser,attach <Esc>B noop
bind generic,pager,editor,index,compose,browser,attach <Esc>C noop
bind generic,pager,editor,index,compose,browser,attach <Esc>D noop
bind generic,pager,editor,index,compose,browser,attach <Esc>E noop
bind generic,pager,editor,index,compose,browser,attach <Esc>F noop
bind generic,pager,editor,index,compose,browser,attach <Esc>G noop
bind generic,pager,editor,index,compose,browser,attach <Esc>H noop
bind generic,pager,editor,index,compose,browser,attach <Esc>I noop
bind generic,pager,editor,index,compose,browser,attach <Esc>J noop
bind generic,pager,editor,index,compose,browser,attach <Esc>K noop
bind generic,pager,editor,index,compose,browser,attach <Esc>L noop
bind generic,pager,editor,index,compose,browser,attach <Esc>M noop
bind generic,pager,editor,index,compose,browser,attach <Esc>N noop
bind generic,pager,editor,index,compose,browser,attach <Esc>O noop
bind generic,pager,editor,index,compose,browser,attach <Esc>P noop
bind generic,pager,editor,index,compose,browser,attach <Esc>Q noop
bind generic,pager,editor,index,compose,browser,attach <Esc>R noop
bind generic,pager,editor,index,compose,browser,attach <Esc>S noop
bind generic,pager,editor,index,compose,browser,attach <Esc>T noop
bind generic,pager,editor,index,compose,browser,attach <Esc>U noop
bind generic,pager,editor,index,compose,browser,attach <Esc>V noop
bind generic,pager,editor,index,compose,browser,attach <Esc>W noop
bind generic,pager,editor,index,compose,browser,attach <Esc>X noop
bind generic,pager,editor,index,compose,browser,attach <Esc>Y noop
bind generic,pager,editor,index,compose,browser,attach <Esc>Z noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Tab> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Space> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><PageUp> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><PageDown> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Home> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><End> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Insert> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Delete> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Up> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Down> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Left> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Right> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Enter> noop
bind generic,pager,editor,index,compose,browser,attach <Esc><Return> noop
bind generic,pager,editor,index,compose,browser,attach <Esc>1 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>2 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>3 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>4 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>5 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>6 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>7 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>8 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>9 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>0 noop
bind generic,pager,editor,index,compose,browser,attach <Esc>! noop
bind generic,pager,editor,index,compose,browser,attach <Esc>@ noop
bind generic,pager,editor,index,compose,browser,attach <Esc>$ noop
bind generic,pager,editor,index,compose,browser,attach <Esc>% noop
bind generic,pager,editor,index,compose,browser,attach <Esc>^ noop
bind generic,pager,editor,index,compose,browser,attach <Esc>& noop
bind generic,pager,editor,index,compose,browser,attach <Esc>* noop
bind generic,pager,editor,index,compose,browser,attach <Esc>( noop
bind generic,pager,editor,index,compose,browser,attach <Esc>) noop
+1 -1
View File
@@ -201,7 +201,7 @@ bindsym $mod+p exec pcmanfm-qt
bindsym $mod+Shift+p exec $term_float ranger bindsym $mod+Shift+p exec $term_float ranger
bindsym $mod+u exec unipicker --command "rofi -dmenu | wl-copy" bindsym $mod+u exec unipicker --command "rofi -dmenu | wl-copy"
bindsym $mod+period exec $term_float khal interactive bindsym $mod+period exec $term_float khal interactive
bindsym $mod+comma exec $term_float neomutt bindsym $mod+comma exec $term_float aerc
# Special keys # Special keys
bindsym --locked XF86AudioMute exec $volume_mute bindsym --locked XF86AudioMute exec $volume_mute
+18
View File
@@ -37,6 +37,24 @@ token_file = "~/.config/vdirsyncer/google_calendar_token"
client_id = "46299105873-2qbog08khdujcgvecbnjeql1r1rb0nir.apps.googleusercontent.com" client_id = "46299105873-2qbog08khdujcgvecbnjeql1r1rb0nir.apps.googleusercontent.com"
client_secret = "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" client_secret = "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"
[pair google_contacts]
a = "google_contacts_local"
b = "google_contacts_remote"
collections = ["from a", "from b"]
conflict_resolution = "b wins"
metadata = ["color"]
[storage google_contacts_local]
type = "filesystem"
path = "~/.config/vdirsyncer/contacts/google/"
fileext = ".vcf"
[storage google_contacts_remote]
type = "google_contacts"
token_file = "~/.config/vdirsyncer/google_contacts_token"
client_id = "46299105873-2qbog08khdujcgvecbnjeql1r1rb0nir.apps.googleusercontent.com"
client_secret = "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"
[pair holidays] [pair holidays]
a = "holidays_local" a = "holidays_local"
b = "holidays_remote" b = "holidays_remote"