Merge branch 'dev' into mercury

git: fix gitignore
mail: fix globbing in subdirectories
        use XDG_DIRECTORIES variables
        use PGP keys as default keys, not just for signing
        add keybindings to univ-nantes
        fix display in statusbar
        notify only the amount of mail, not content
        fix timestamp for sync
nvim: fix deprecated functions in nvim-cmp
        change Telescope keymaps prefixes
        add Telescope keymap for grepping
This commit is contained in:
David JULIEN 2022-10-25 22:28:50 +02:00
commit 18fa36a655
11 changed files with 45 additions and 30 deletions

View File

@ -10,7 +10,8 @@ set message_cachedir = "$XDG_CACHE_HOME/mutt/david.julien@posteo.net/bodies"
set mbox_type = Maildir
set crypt_autosign = yes
set pgp_sign_as = "0x7F03EA9BEFFCB97F"
set pgp_self_encrypt = yes
set pgp_default_key = "0x7F03EA9BEFFCB97F"
bind index,pager gg noop
bind index,pager g noop

View File

@ -10,7 +10,8 @@ set message_cachedir = "$XDG_CACHE_HOME/mutt/david.julien@ens-lyon.fr/bodies"
set mbox_type = Maildir
set crypt_autosign = yes
set pgp_sign_as = "0x9D5279329BB80FA0"
set pgp_self_encrypt = yes
set pgp_default_key = "0x9D5279329BB80FA0"
bind index,pager gg noop
bind index,pager g noop

View File

@ -10,7 +10,8 @@ set message_cachedir = "$XDG_CACHE_HOME/mutt/david.julien@univ-nantes.fr/bodies"
set mbox_type = Maildir
set crypt_autosign = yes
set pgp_sign_as = "0x1DD6B2BA6DD78810"
set pgp_self_encrypt = yes
set pgp_default_key = "0x1DD6B2BA6DD78810"
bind index,pager gg noop
bind index,pager g noop
@ -23,7 +24,7 @@ set signature="$XDG_CONFIG_HOME/mutt/accounts/nantes.signature"
unmacro index o
macro index o "<shell-escape>mailsync<enter>" "run mbsync to sync david.julien@univ-nantes.fr"
mailboxes "=Sent" "=Drafts" "=Trash" "=INBOX" "=thesis" "=admin" "=login" "=teaching" "=teaching/X11I020" "=teaching/X11I040"
mailboxes "=Sent" "=Drafts" "=Trash" "=INBOX" "=thesis" "=admin" "=login" "=publications" "=teaching" "=teaching/X11I020" "=teaching/X11I040"
set record = "+Sent"
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent"
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent"
@ -49,3 +50,12 @@ macro index,pager Ca ";<copy-message>=admin<enter>" "copy mail to admin"
macro index,pager gl "<change-folder>=login<enter>" "go to login"
macro index,pager Ml ";<save-message>=login<enter>" "move mail to login"
macro index,pager Cl ";<copy-message>=login<enter>" "copy mail to login"
macro index,pager gp "<change-folder>=publications<enter>" "go to publications"
macro index,pager Mp ";<save-message>=publications<enter>" "move mail to publications"
macro index,pager Cp ";<copy-message>=publications<enter>" "copy mail to publications"
macro index,pager gc2 "<change-folder>=teaching/X11I020<enter>" "go to teaching/X11I020"
macro index,pager Mc2 ";<save-message>=teaching/X11I020<enter>" "move mail to teaching/X11I020"
macro index,pager Cc2 ";<copy-message>=teaching/X11I020<enter>" "copy mail to teaching/X11I020"
macro index,pager gc4 "<change-folder>=teaching/X11I040<enter>" "go to teaching/X11I040"
macro index,pager Mc4 ";<save-message>=teaching/X11I040<enter>" "move mail to teaching/X11I040"
macro index,pager Cc4 ";<copy-message>=teaching/X11I040<enter>" "copy mail to teaching/X11I040"

View File

@ -10,7 +10,8 @@ set message_cachedir = "$XDG_CACHE_HOME/mutt/david.julien@mailo.com/bodies"
set mbox_type = Maildir
set crypt_autosign = yes
set pgp_sign_as = "0x86C2FBBE4A4F0F7F"
set pgp_self_encrypt = yes
set pgp_default_key = "0x86C2FBBE4A4F0F7F"
bind index,pager gg noop
bind index,pager g noop

View File

@ -10,7 +10,8 @@ set message_cachedir = "$XDG_CACHE_HOME/mutt/david.julien@centrale-marseille.fr/
set mbox_type = Maildir
set crypt_autosign = no
set pgp_sign_as = "0x9F46CD164AE1E813"
set pgp_self_encrypt = yes
set pgp_default_key = "0x9F46CD164AE1E813"
bind index,pager gg noop
bind index,pager g noop

View File

@ -3,7 +3,7 @@
# More information : https://github.com/LukeSmithxyz/mutt-wizard
set mailcap_path = /home/swytch/.config/mutt/mailcap:$mailcap_path
set mailcap_path = $XDG_CONFIG_HOME/mutt/mailcap:$mailcap_path
set mime_type_query_command = "file --mime-type -b %s"
set date_format="%d/%m/%y %I:%M%p"
set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)"

View File

@ -18,11 +18,13 @@ vim.keymap.set("n", "<leader><enter>", "<cmd>w! | !compiler %<CR>")
vim.keymap.set("n", "<leader>u", function() require("packer").sync() end)
-- telescope
vim.keymap.set("n", "<leader>ff",
vim.keymap.set("n", "<leader>tf",
function() require("telescope.builtin").find_files() end)
vim.keymap.set("n", "<leader>fb",
vim.keymap.set("n", "<leader>tb",
function() require("telescope.builtin").buffers() end)
vim.keymap.set("n", "<leader>fl",
vim.keymap.set("n", "<leader>tg",
function() require("telescope.builtin").grep_string() end)
vim.keymap.set("n", "<leader>tl",
function() require("telescope.builtin").live_grep() end)
-- colorscheme

View File

@ -55,7 +55,7 @@ end
-- nvim-cmp supports additional completion capabilities
local capabilities = vim.lsp.protocol.make_client_capabilities()
capabilities = require("cmp_nvim_lsp").update_capabilities(capabilities)
capabilities = require("cmp_nvim_lsp").default_capabilities(capabilities)
local servers = { "clangd", "sumneko_lua", "texlab" }
lsp_installer.setup {

14
.gitignore vendored
View File

@ -4,22 +4,28 @@
!/.xprofile
!/.zshenv
!/.local
!/.local/bin/
!/local/src/
!/.local/state/
!/.local/src/
/.local/lib/
/.local/include/
/.local/share/
/.local/state/
!/.config/
/.config/dconf/
/.config/font-manager/
/.config/fontconfig/
/.config/gnupg/
/.config/gnupg/*
!/.config/gnupg/gpg-agent.conf
/.config/libreoffice/
/.config/mpd/
/.config/mpd/*
!/.config/mpd/mpd.conf
/.config/mutt/.mailsynclastrun
/.config/nvim/plugin/
/.config/pulse/
/.config/transmission-daemon/*
/.config/transmission-daemon/settings.json
/.config/zsh/.zcompdump
/**/*.log

View File

@ -13,6 +13,8 @@
# and the GPG home. This is done by searching common profile files for variable
# assignments.
timestamp="${XDG_STATE_HOME:-$HOME/.local/state}/mailsynclastrun"
eval "$(grep -h -- \
"^\s*\(export \)\?\(XDG_CACHE_HOME\|XDG_CONFIG_HOME\|XDG_DATA_HOME\)=" \
"$HOME/.zshenv" 2>/dev/null)"
@ -32,25 +34,16 @@ export GPG_TTY=$TTY
notify() {
notify-send "neomutt" " $2 new mail(s) in \`$1\` account."
}
messageinfo() {
notify-send "$from:" "$subject"
}
# Check account for new mail. Notify if there is new content.
syncandnotify() {
acc="$(echo "$account" | sed "s/.*\///")"
mbsync "$acc"
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc/*/new/ -type f -newer "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun" | grep -iv "trash" 2>/dev/null)"
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc -path */new/* -type f -newer "$timestamp" | grep -iv -e "trash" -e "drafts" 2>/dev/null)"
newcount=$(echo "$new" | sed '/^\s*$/d' | wc -l)
if [ "$newcount" -gt "0" ]; then
for file in $new; do
# Extract subject and sender from mail.
from=$(awk '/^From: / && ++n ==1,/^\<.*\>:/' "$file" | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | awk '{ $1=""; if (NF>=3)$NF=""; print $0 }' | sed 's/^[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//')
subject=$(awk '/^Subject: / && ++n == 1,/^\<.*\>: / && ++i == 2' "$file" | head -n 1 | perl -CS -MEncode -ne 'print decode("MIME-Header", $_)' | sed 's/^Subject: //' | sed 's/^{[[:blank:]]*[\"'\''\<]*//;s/[\"'\''\>]*[[:blank:]]*$//' | tr -d '\n')
messageinfo &
done
notify "$acc" "$newcount" &
[ -n "$(pidof dwmblocks)" ] && kill -40 $(pidof dwmblocks)
notify "$acc" "$newcount" &
[ -n "$(pidof dwmblocks)" ] && kill -40 $(pidof dwmblocks)
fi
}
@ -66,4 +59,4 @@ wait
notmuch new 2>/dev/null
#Create a touch file that indicates the time of the last run of mailsync
touch "${XDG_CONFIG_HOME:-$HOME/.config}/mutt/.mailsynclastrun"
touch $timestamp

View File

@ -13,7 +13,7 @@
unread=""
for acc in $(ls "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/)
do
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc/*/new/ -type f | grep -iv "trash" | wc -l 2>/dev/null)"
new="$(find "${XDG_DATA_HOME:-$HOME/.local/share}"/mail/$acc -path */new/* -type f | grep -iv -e "trash" -e "drafts" | wc -l 2>/dev/null)"
if [ $new -gt 0 ]; then
box=""
[ -n "$(echo "$acc" | sed -n '/@centrale/p')" ] && box=""
@ -23,6 +23,6 @@ do
unread="$unread/$box$new"
fi
done
[ -n "$unread" ] && unread="($(echo "$unread" | cut -c 2-))" || exit
[ -n "$unread" ] && unread="$(echo "$unread" | cut -c 2-)" || exit
printf "  %s%s " "$unread" "$icon"