bye sup, hi notmuch/alot
This commit is contained in:
parent
911acc84d4
commit
55376c70d7
30
config/alot/config
Normal file
30
config/alot/config
Normal file
@ -0,0 +1,30 @@
|
||||
|
||||
initial_command = search tag:inbox OR tag:draft AND NOT tag:killed
|
||||
periodic_hook_frequency = 60
|
||||
|
||||
[accounts]
|
||||
|
||||
[[gmail]]
|
||||
realname = Felix Van der Jeugt
|
||||
address = felix.vanderjeugt@gmail.com
|
||||
alias_regexp = felix\.vanderjeugt\+.+@gmail.com
|
||||
sendmail_command = /usr/bin/msmtp --account=gmail -t
|
||||
sent_box = maildir:///data/mail/gmail/Sent
|
||||
draft_box = maildir:///data/mail/gmail/Sent
|
||||
sent_tags = sent, gmail
|
||||
sign_by_default = True
|
||||
|
||||
[[ugent]]
|
||||
realname = Felix Van der Jeugt
|
||||
address = felix.vanderjeugt@ugent.be
|
||||
aliases = Felix.VanderJeugt@UGent.be,
|
||||
gpg_key = 68FF561137C38F9618E97339AF25A2C2862AA368
|
||||
sendmail_command = /usr/bin/msmtp --account=ugent -t
|
||||
sent_box = maildir:///data/mail/ugent/Sent
|
||||
draft_box = maildir:///data/mail/ugent/Sent
|
||||
sent_tags = sent, ugent
|
||||
sign_by_default = True
|
||||
|
||||
[bindings]
|
||||
|
||||
P = shellescape --thread True --refocus True notmuch\ new\ --quiet
|
16
config/alot/hooks.py
Normal file
16
config/alot/hooks.py
Normal file
@ -0,0 +1,16 @@
|
||||
|
||||
from alot.commands.globals import ExternalCommand
|
||||
from alot.commands.search import OpenThreadCommand
|
||||
|
||||
def loop_hook(ui=None):
|
||||
ui.apply_command(ExternalCommand(
|
||||
["notmuch", "new", "--quiet"],
|
||||
thread=True,
|
||||
))
|
||||
if ui and ui.current_buffer:
|
||||
ui.update()
|
||||
|
||||
def post_search_select(ui=None, dbm=None, cmd=None):
|
||||
if isinstance(cmd, OpenThreadCommand):
|
||||
cmd.thread.remove_tags({"unread"})
|
||||
|
12
local/bin/alot
Executable file
12
local/bin/alot
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/python2
|
||||
# EASY-INSTALL-ENTRY-SCRIPT: 'alot==0.6.0.dev0','console_scripts','alot'
|
||||
__requires__ = 'alot==0.6.0.dev0'
|
||||
import re
|
||||
import sys
|
||||
from pkg_resources import load_entry_point
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
|
||||
sys.exit(
|
||||
load_entry_point('alot==0.6.0.dev0', 'console_scripts', 'alot')()
|
||||
)
|
1
mailcap
Normal file
1
mailcap
Normal file
@ -0,0 +1 @@
|
||||
text/html; w3m -dump -o document_charset=%{charset} '%s'; nametemplate=%s.html; copiousoutput
|
98
notmuch-config
Normal file
98
notmuch-config
Normal file
@ -0,0 +1,98 @@
|
||||
# .notmuch-config - Configuration file for the notmuch mail system
|
||||
#
|
||||
# For more information about notmuch, see https://notmuchmail.org
|
||||
|
||||
# Database configuration
|
||||
#
|
||||
# The only value supported here is 'path' which should be the top-level
|
||||
# directory where your mail currently exists and to where mail will be
|
||||
# delivered in the future. Files should be individual email messages.
|
||||
# Notmuch will store its database within a sub-directory of the path
|
||||
# configured here named ".notmuch".
|
||||
#
|
||||
[database]
|
||||
path=/data/mail
|
||||
|
||||
# User configuration
|
||||
#
|
||||
# Here is where you can let notmuch know how you would like to be
|
||||
# addressed. Valid settings are
|
||||
#
|
||||
# name Your full name.
|
||||
# primary_email Your primary email address.
|
||||
# other_email A list (separated by ';') of other email addresses
|
||||
# at which you receive email.
|
||||
#
|
||||
# Notmuch will use the various email addresses configured here when
|
||||
# formatting replies. It will avoid including your own addresses in the
|
||||
# recipient list of replies, and will set the From address based on the
|
||||
# address to which the original email was addressed.
|
||||
#
|
||||
[user]
|
||||
name=Felix Van der Jeugt
|
||||
primary_email=felix.vanderjeugt@gmail.com
|
||||
other_email=felix.vanderjeugt@ugent.be;
|
||||
|
||||
# Configuration for "notmuch new"
|
||||
#
|
||||
# The following options are supported here:
|
||||
#
|
||||
# tags A list (separated by ';') of the tags that will be
|
||||
# added to all messages incorporated by "notmuch new".
|
||||
#
|
||||
# ignore A list (separated by ';') of file and directory names
|
||||
# that will not be searched for messages by "notmuch new".
|
||||
#
|
||||
# NOTE: *Every* file/directory that goes by one of those
|
||||
# names will be ignored, independent of its depth/location
|
||||
# in the mail store.
|
||||
#
|
||||
[new]
|
||||
tags=unread;new;
|
||||
ignore=
|
||||
|
||||
# Search configuration
|
||||
#
|
||||
# The following option is supported here:
|
||||
#
|
||||
# exclude_tags
|
||||
# A ;-separated list of tags that will be excluded from
|
||||
# search results by default. Using an excluded tag in a
|
||||
# query will override that exclusion.
|
||||
#
|
||||
[search]
|
||||
exclude_tags=deleted;spam;
|
||||
|
||||
# Maildir compatibility configuration
|
||||
#
|
||||
# The following option is supported here:
|
||||
#
|
||||
# synchronize_flags Valid values are true and false.
|
||||
#
|
||||
# If true, then the following maildir flags (in message filenames)
|
||||
# will be synchronized with the corresponding notmuch tags:
|
||||
#
|
||||
# Flag Tag
|
||||
# ---- -------
|
||||
# D draft
|
||||
# F flagged
|
||||
# P passed
|
||||
# R replied
|
||||
# S unread (added when 'S' flag is not present)
|
||||
#
|
||||
# The "notmuch new" command will notice flag changes in filenames
|
||||
# and update tags, while the "notmuch tag" and "notmuch restore"
|
||||
# commands will notice tag changes and update flags in filenames
|
||||
#
|
||||
[maildir]
|
||||
synchronize_flags=true
|
||||
|
||||
# Cryptography related configuration
|
||||
#
|
||||
# The following option is supported here:
|
||||
#
|
||||
# gpg_path
|
||||
# binary name or full path to invoke gpg.
|
||||
#
|
||||
[crypto]
|
||||
gpg_path=gpg2
|
8
notmuch-hooks/post-new
Executable file
8
notmuch-hooks/post-new
Executable file
@ -0,0 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
# notify for new messages
|
||||
notmuch search tag:new | cut -d' ' --complement -f1 | xargs -0 --no-run-if-empty notify-send
|
||||
|
||||
# finally, put new messages in the inbox
|
||||
notmuch tag +inbox -new -- tag:new
|
||||
|
2
notmuch-hooks/pre-new
Executable file
2
notmuch-hooks/pre-new
Executable file
@ -0,0 +1,2 @@
|
||||
#!/bin/sh
|
||||
mbsync -qq ugent gmail
|
8
sup/.gitignore
vendored
8
sup/.gitignore
vendored
@ -1,8 +0,0 @@
|
||||
lock
|
||||
log
|
||||
sent.mbox
|
||||
sync-back-ok
|
||||
xapian
|
||||
contacts.txt
|
||||
labels.txt
|
||||
drafts
|
@ -1,49 +0,0 @@
|
||||
---
|
||||
:editor: nvim
|
||||
:thread_by_subject: false
|
||||
:edit_signature: false
|
||||
:ask_for_from: false
|
||||
:ask_for_to: true
|
||||
:ask_for_cc: false
|
||||
:ask_for_bcc: false
|
||||
:ask_for_subject: true
|
||||
:account_selector: true
|
||||
:confirm_no_attachments: true
|
||||
:confirm_top_posting: true
|
||||
:jump_to_open_message: true
|
||||
:discard_snippets_from_encrypted_messages: false
|
||||
:load_more_threads_when_scrolling: true
|
||||
:default_attachment_save_dir: '/data/temporary'
|
||||
:sent_source: sup://sent
|
||||
:archive_sent: true
|
||||
:poll_interval: 300
|
||||
:wrap_width: 0
|
||||
:slip_rows: 0
|
||||
:col_jump: 2
|
||||
:stem_language: english
|
||||
:sync_back_to_maildir: true
|
||||
:continuous_scroll: true
|
||||
:always_edit_async: false
|
||||
:accounts:
|
||||
:default:
|
||||
:name: Felix Van der Jeugt
|
||||
:email: felix.vanderjeugt@gmail.com
|
||||
:alternates: [felixvdj@zeus.ugent.be]
|
||||
:sendmail: "/usr/bin/msmtp --account=gmail -t --read-envelope-from"
|
||||
:signature: "/home/felix/.signature"
|
||||
:gpgkey: ''
|
||||
:ugent:
|
||||
:name: Felix Van der Jeugt
|
||||
:email: felix.vanderjeugt@ugent.be
|
||||
:alternates: []
|
||||
:sendmail: "/usr/bin/msmtp --account=ugent -t --read-envelope-from"
|
||||
:signature: "/home/felix/.signature"
|
||||
:gpgkey: ''
|
||||
:12ul:
|
||||
:name: Felix Van der Jeugt
|
||||
:email: felix.vanderjeugt@12urenloop.be
|
||||
:alternates: []
|
||||
:sendmail: "/usr/bin/msmtp --account=12ul -t --read-envelope-from"
|
||||
:signature: "/home/felix/.signature"
|
||||
:gpgkey: ''
|
||||
:time_mode: 24h
|
@ -1,6 +0,0 @@
|
||||
|
||||
if num_inbox > 0
|
||||
system "notify-send", \
|
||||
"#{num_inbox_total_unread} unread messages (#{num_inbox} new)", \
|
||||
from_and_subj_inbox.map {|p| "#{p[0]} - #{p[1]}"}.join("\n")
|
||||
end
|
@ -1,4 +0,0 @@
|
||||
say "Running mbsync..."
|
||||
if not system "mbsync", "-qq", "ugent", "gmail"
|
||||
say "mbsync unsuccesful."
|
||||
end
|
@ -1,3 +0,0 @@
|
||||
|
||||
crypto_selector.set_to :sign if crypto_selector.can_set_to? :sign
|
||||
|
@ -1,46 +0,0 @@
|
||||
#!/usr/bin/env ruby
|
||||
|
||||
$:.unshift File.join(File.dirname(__FILE__), *%w[.. lib])
|
||||
|
||||
require 'xapian'
|
||||
require 'trollop'
|
||||
require 'set'
|
||||
|
||||
unless defined? BASE_DIR
|
||||
BASE_DIR = ENV["SUP_BASE"] || File.join(ENV["HOME"], ".sup")
|
||||
end
|
||||
|
||||
xapian = Xapian::Database.new File.join(BASE_DIR, 'xapian')
|
||||
version = xapian.get_metadata 'rescue-version'
|
||||
version = '0' if version.empty?
|
||||
|
||||
contacts = Hash.new { |key| Set.new }
|
||||
|
||||
case version
|
||||
when '0'
|
||||
xapian.postlist('Kmail').each do |x|
|
||||
entry = Marshal.load(xapian.document(x.docid).data)
|
||||
([entry[:from]] + entry[:to] + entry[:cc] + entry[:bcc]).compact.each do |email, name|
|
||||
next if email.nil?
|
||||
name = name.strip.chomp("'").chomp('"').reverse
|
||||
.chomp("'").chomp('"').reverse unless name.nil?
|
||||
email.downcase!
|
||||
if name.nil? or email.include? name.downcase
|
||||
contacts[email] = Set.new unless contacts.has_key? email
|
||||
else
|
||||
contacts[email] <<= name
|
||||
end
|
||||
end
|
||||
end
|
||||
else
|
||||
abort "this sup-dump version doesn't understand your index"
|
||||
end
|
||||
|
||||
contacts.map do |email, names|
|
||||
if names.empty?
|
||||
email
|
||||
else
|
||||
names.map { |name| "#{name} <#{email}>" }
|
||||
end
|
||||
end.flatten
|
||||
|
@ -1 +0,0 @@
|
||||
system "xdg-open #{uri} > /dev/null"
|
@ -1,7 +0,0 @@
|
||||
require 'shellwords'
|
||||
unless sibling_types.member? "text/plain"
|
||||
case content_type
|
||||
when "text/html"
|
||||
`/usr/bin/w3m -dump -T #{content_type} #{Shellwords.escape filename}`
|
||||
end
|
||||
end
|
@ -1,53 +0,0 @@
|
||||
---
|
||||
- !supmua.org,2006-10-01/Redwood/Maildir
|
||||
uri: maildir:/data/mail/gmail/Inbox
|
||||
usual: true
|
||||
archived: false
|
||||
sync_back: true
|
||||
id: 1
|
||||
labels:
|
||||
- GMail
|
||||
- !supmua.org,2006-10-01/Redwood/Maildir
|
||||
uri: maildir:/data/mail/ugent/Inbox
|
||||
usual: true
|
||||
archived: false
|
||||
sync_back: true
|
||||
id: 3
|
||||
labels:
|
||||
- UGent
|
||||
- !supmua.org,2006-10-01/Redwood/Maildir
|
||||
uri: maildir:/data/mail/12ul/Inbox
|
||||
usual: true
|
||||
archived: false
|
||||
sync_back: true
|
||||
id: 5
|
||||
labels:
|
||||
- 12UL
|
||||
- !supmua.org,2006-10-01/Redwood/Maildir
|
||||
uri: maildir:/data/mail/gmail/Sent
|
||||
usual: true
|
||||
archived: true
|
||||
sync_back: true
|
||||
id: 2
|
||||
labels:
|
||||
- GMail
|
||||
- Sent
|
||||
- !supmua.org,2006-10-01/Redwood/Maildir
|
||||
uri: maildir:/data/mail/ugent/Sent
|
||||
usual: true
|
||||
archived: true
|
||||
sync_back: true
|
||||
id: 4
|
||||
labels:
|
||||
- UGent
|
||||
- Sent
|
||||
- !supmua.org,2006-10-01/Redwood/Maildir
|
||||
uri: maildir:/data/mail/12ul/Sent
|
||||
usual: true
|
||||
archived: true
|
||||
sync_back: true
|
||||
id: 6
|
||||
labels:
|
||||
- 12UL
|
||||
- Sent
|
||||
- !supmua.org,2006-10-01/Redwood/SentLoader {}
|
Loading…
Reference in New Issue
Block a user