add mutt for seaturtle only
parent
945be41bee
commit
df51d40374
6
Makefile
6
Makefile
|
@ -1,18 +1,16 @@
|
||||||
LN_FLAGS = -sfnv
|
LN_FLAGS = -sfnv
|
||||||
MKDIR_FLAGS = -pv
|
MKDIR_FLAGS = -pv
|
||||||
|
|
||||||
home_symlinks = aliases Xresources xbindkeysrc xinitrc offlineimaprc urlview msmtprc zprofile zshrc vimrc vim Xmodmap oh-my-zsh bash_profile tmux.conf gitconfig
|
home_symlinks = aliases Xresources xbindkeysrc xinitrc offlineimaprc urlview msmtprc mutt zprofile zshrc vimrc vim Xmodmap oh-my-zsh bash_profile tmux.conf gitconfig
|
||||||
|
|
||||||
config_copy =
|
config_copy =
|
||||||
|
|
||||||
config_symlinks = termite dircolors-solarized i3
|
config_symlinks = termite dircolors-solarized i3
|
||||||
|
|
||||||
ssh_symlinks = config
|
|
||||||
|
|
||||||
gnupg_symlinks = gpg-agent.conf
|
gnupg_symlinks = gpg-agent.conf
|
||||||
|
|
||||||
|
|
||||||
local_install: aliases Xresources xbindkeysrc xinitrc offlineimaprc urlview msmtprc zprofile zshrc vimrc vim termite dircolors-solarized oh-my-zsh i3 gitconfig config gpg-agent.conf
|
local_install: aliases Xresources xbindkeysrc xinitrc offlineimaprc urlview msmtprc mutt zprofile zshrc vimrc vim termite dircolors-solarized oh-my-zsh i3 gitconfig gpg-agent.conf
|
||||||
|
|
||||||
mac_local_install: zprofile zshrc vimrc vim dircolors-solarized oh-my-zsh gpg-agent.conf tmux.conf
|
mac_local_install: zprofile zshrc vimrc vim dircolors-solarized oh-my-zsh gpg-agent.conf tmux.conf
|
||||||
|
|
||||||
|
|
40
msmtprc
40
msmtprc
|
@ -2,35 +2,15 @@ defaults
|
||||||
auth on
|
auth on
|
||||||
tls on
|
tls on
|
||||||
tls_starttls
|
tls_starttls
|
||||||
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
tls_trust_file /etc/ssl/certs/ca-certificates.crt
|
||||||
logfile ~/.mutt/msmtp.log
|
logfile ~/.mutt/msmtp.log
|
||||||
|
|
||||||
account vt
|
account seaturtle
|
||||||
host smtp.gmail.com
|
host smtp.mailbox.org
|
||||||
port 587
|
port 465
|
||||||
user pwalko@vt.edu
|
tls_starttls off
|
||||||
passwordeval "pass email/vt"
|
user paul@seaturtle.pw
|
||||||
from pwalko@vt.edu
|
passwordeval pass "mailbox.org-paul@seaturtle.pw"
|
||||||
|
from paul@seaturtle.pw
|
||||||
|
|
||||||
account walko
|
account default: seaturtle
|
||||||
host smtp.gmail.com
|
|
||||||
port 587
|
|
||||||
user paul@walko.org
|
|
||||||
passwordeval "pass email/walko"
|
|
||||||
from paul@walko.org
|
|
||||||
|
|
||||||
account gmail
|
|
||||||
host smtp.gmail.com
|
|
||||||
port 587
|
|
||||||
user paulsw.pw@gmail.com
|
|
||||||
passwordeval "pass email/gmail"
|
|
||||||
from paulsw.pw@gmail.com
|
|
||||||
|
|
||||||
account vtluug
|
|
||||||
host acidburn.vtluug.org
|
|
||||||
port 587
|
|
||||||
user pew
|
|
||||||
passwordeval "pass email/vtluug"
|
|
||||||
from pew@vtluug.org
|
|
||||||
|
|
||||||
account default : vt
|
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
set from = "paul@seaturtle.pw"
|
||||||
|
set imap_user = "paul@seaturtle.pw"
|
||||||
|
set sendmail = "/usr/bin/msmtp -a seaturtle"
|
||||||
|
set mbox = "+seaturtle/Archive"
|
||||||
|
set postponed = "+seaturtle/Drafts"
|
||||||
|
|
||||||
|
color status blue default
|
|
@ -0,0 +1,161 @@
|
||||||
|
# Slightly edited solarized theme http://ethanschoonover.com/solarized
|
||||||
|
# Colors
|
||||||
|
# vim: filetype=muttrc
|
||||||
|
|
||||||
|
mono index bold ~N
|
||||||
|
mono index bold ~F
|
||||||
|
mono index bold ~T
|
||||||
|
mono index bold ~D
|
||||||
|
#
|
||||||
|
# make sure that you are using mutt linked against slang, not ncurses, or
|
||||||
|
# suffer the consequences of weird color issues. use "mutt -v" to check this.
|
||||||
|
|
||||||
|
# custom body highlights -----------------------------------------------
|
||||||
|
# highlight my name and other personally relevant strings
|
||||||
|
#color body color136 color234 "(ethan|schoonover)"
|
||||||
|
# custom index highlights ----------------------------------------------
|
||||||
|
# messages which mention my name in the body
|
||||||
|
#color index color136 color234 "~b \"phil(_g|\!| gregory| gold)|pgregory\" !~N !~T !~F !~p !~P"
|
||||||
|
#color index J_cream color230 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~N !~T !~F !~p !~P"
|
||||||
|
#color index color136 color37 "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~T !~F !~p !~P"
|
||||||
|
#color index color136 J_magent "~b \"phil(_g|\!| gregory| gold)|pgregory\" ~F !~p !~P"
|
||||||
|
## messages which are in reference to my mails
|
||||||
|
#color index J_magent color234 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" !~N !~T !~F !~p !~P"
|
||||||
|
#color index J_magent color230 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~N !~T !~F !~p !~P"
|
||||||
|
#color index J_magent color37 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~T !~F !~p !~P"
|
||||||
|
#color index J_magent color160 "~x \"(mithrandir|aragorn)\\.aperiodic\\.net|thorin\\.hillmgt\\.com\" ~F !~p !~P"
|
||||||
|
|
||||||
|
# for background in 16 color terminal, valid background colors include:
|
||||||
|
# base03, bg, black, any of the non brights
|
||||||
|
|
||||||
|
# basic colors ---------------------------------------------------------
|
||||||
|
color normal color244 color234
|
||||||
|
color error color160 color234
|
||||||
|
color tilde color235 color234
|
||||||
|
color message color37 color234
|
||||||
|
color markers color160 color254
|
||||||
|
color attachment color254 color234
|
||||||
|
color search color61 color234
|
||||||
|
#color status J_black J_status
|
||||||
|
color status color241 color235
|
||||||
|
color indicator color234 color136
|
||||||
|
color tree color136 color234 # arrow in threads
|
||||||
|
|
||||||
|
# basic monocolor screen
|
||||||
|
mono bold bold
|
||||||
|
mono underline underline
|
||||||
|
mono indicator reverse
|
||||||
|
mono error bold
|
||||||
|
|
||||||
|
# index ----------------------------------------------------------------
|
||||||
|
|
||||||
|
# color index color160 color234 "~D(!~p|~p)" # deleted
|
||||||
|
# color index color235 color234 ~F # flagged
|
||||||
|
# color index color166 color234 ~= # duplicate messages
|
||||||
|
# color index color240 color234 "~A!~N!~T!~p!~Q!~F!~D!~P" # the rest
|
||||||
|
# color index J_base color234 "~A~N!~T!~p!~Q!~F!~D" # the rest, new
|
||||||
|
color index color160 color234 "~A" # all messages
|
||||||
|
color index color166 color234 "~E" # expired messages
|
||||||
|
color index color015 color027 "~N" # new messages
|
||||||
|
color index color33 color234 "~O" # old messages
|
||||||
|
color index color61 color234 "~Q" # messages that have been replied to
|
||||||
|
color index color246 color234 "~R" # read messages
|
||||||
|
color index color015 color027 "~U" # unread messages
|
||||||
|
color index color015 color027 "~U~$" # unread, unreferenced messages
|
||||||
|
color index color241 color234 "~v" # messages part of a collapsed thread
|
||||||
|
color index color241 color234 "~P" # messages from me
|
||||||
|
color index color37 color234 "~p!~F" # messages to me
|
||||||
|
color index color015 color027 "~N~p!~F" # new messages to me
|
||||||
|
color index color015 color027 "~U~p!~F" # unread messages to me
|
||||||
|
color index color246 color234 "~R~p!~F" # messages to me
|
||||||
|
color index color160 color235 "~F" # flagged messages
|
||||||
|
color index color160 color235 "~F~p" # flagged messages to me
|
||||||
|
color index color160 color017 "~N~F" # new flagged messages
|
||||||
|
color index color160 color017 "~N~F~p" # new flagged messages to me
|
||||||
|
color index color160 color017 "~U~F~p" # new flagged messages to me
|
||||||
|
color index color235 color160 "~D" # deleted messages
|
||||||
|
color index color245 color234 "~v~(!~N)" # collapsed thread with no unread
|
||||||
|
color index color136 color234 "~v~(~N)" # collapsed thread with some unread
|
||||||
|
color index color64 color234 "~N~v~(~N)" # collapsed thread with unread parent
|
||||||
|
# statusbg used to indicated flagged when foreground color shows other status
|
||||||
|
# for collapsed thread
|
||||||
|
color index color160 color235 "~v~(~F)!~N" # collapsed thread with flagged, no unread
|
||||||
|
color index color136 color235 "~v~(~F~N)" # collapsed thread with some unread & flagged
|
||||||
|
color index color64 color235 "~N~v~(~F~N)" # collapsed thread with unread parent & flagged
|
||||||
|
color index color64 color235 "~N~v~(~F)" # collapsed thread with unread parent, no unread inside, but some flagged
|
||||||
|
color index color37 color235 "~v~(~p)" # collapsed thread with unread parent, no unread inside, some to me directly
|
||||||
|
color index color136 color160 "~v~(~D)" # thread with deleted (doesn't differentiate between all or partial)
|
||||||
|
#color index color136 color234 "~(~N)" # messages in threads with some unread
|
||||||
|
#color index color64 color234 "~S" # superseded messages
|
||||||
|
color index color076 color234 "~T" # tagged messages
|
||||||
|
color index color136 color160 "~=" # duplicated messages
|
||||||
|
|
||||||
|
# message headers ------------------------------------------------------
|
||||||
|
|
||||||
|
#color header color240 color234 "^"
|
||||||
|
color hdrdefault color240 color234
|
||||||
|
color header color241 color234 "^(From)"
|
||||||
|
color header color33 color234 "^(Subject)"
|
||||||
|
|
||||||
|
# body -----------------------------------------------------------------
|
||||||
|
|
||||||
|
color quoted color33 color234
|
||||||
|
color quoted1 color37 color234
|
||||||
|
color quoted2 color136 color234
|
||||||
|
color quoted3 color160 color234
|
||||||
|
color quoted4 color166 color234
|
||||||
|
|
||||||
|
color signature color240 color234
|
||||||
|
color bold color235 color234
|
||||||
|
color underline color235 color234
|
||||||
|
color normal color244 color234
|
||||||
|
#
|
||||||
|
color body color245 color234 "[;:][-o][)/(|]" # emoticons
|
||||||
|
color body color245 color234 "[;:][)(|]" # emoticons
|
||||||
|
color body color245 color234 "[*]?((N)?ACK|CU|LOL|SCNR|BRB|BTW|CWYL|\
|
||||||
|
|FWIW|vbg|GD&R|HTH|HTHBE|IMHO|IMNSHO|\
|
||||||
|
|IRL|RTFM|ROTFL|ROFL|YMMV)[*]?"
|
||||||
|
color body color245 color234 "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||||
|
color body color245 color234 "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||||
|
|
||||||
|
## pgp
|
||||||
|
|
||||||
|
color body color160 color234 "(BAD signature)"
|
||||||
|
color body color37 color234 "(Good signature)"
|
||||||
|
color body color234 color234 "^gpg: Good signature .*"
|
||||||
|
color body color241 color234 "^gpg: "
|
||||||
|
color body color241 color160 "^gpg: BAD signature from.*"
|
||||||
|
mono body bold "^gpg: Good signature"
|
||||||
|
mono body bold "^gpg: BAD signature from.*"
|
||||||
|
|
||||||
|
# yes, an insance URL regex
|
||||||
|
color body color160 color234 "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
||||||
|
# and a heavy handed email regex
|
||||||
|
#color body J_magent color234 "((@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]),)*@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\.[0-9]?[0-9]?[0-9]\\]):)?[0-9a-z_.+%$-]+@(([0-9a-z-]+\\.)*[0-9a-z-]+\\.?|#[0-9]+|\\[[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\.[0-2]?[0-9]?[0-9]\\])"
|
||||||
|
|
||||||
|
# Various smilies and the like
|
||||||
|
#color body color230 color234 "<[Gg]>" # <g>
|
||||||
|
#color body color230 color234 "<[Bb][Gg]>" # <bg>
|
||||||
|
#color body color136 color234 " [;:]-*[})>{(<|]" # :-) etc...
|
||||||
|
# *bold*
|
||||||
|
#color body color33 color234 "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
|
||||||
|
#mono body bold "(^|[[:space:][:punct:]])\\*[^*]+\\*([[:space:][:punct:]]|$)"
|
||||||
|
# _underline_
|
||||||
|
#color body color33 color234 "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
|
||||||
|
#mono body underline "(^|[[:space:][:punct:]])_[^_]+_([[:space:][:punct:]]|$)"
|
||||||
|
# /italic/ (Sometimes gets directory names)
|
||||||
|
#color body color33 color234 "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
|
||||||
|
#mono body underline "(^|[[:space:][:punct:]])/[^/]+/([[:space:][:punct:]]|$)"
|
||||||
|
|
||||||
|
# Border lines.
|
||||||
|
#color body color33 color234 "( *[-+=#*~_]){6,}"
|
||||||
|
|
||||||
|
#folder-hook . "color status J_black J_status "
|
||||||
|
#folder-hook gmail/inbox "color status J_black color136 "
|
||||||
|
#folder-hook gmail/important "color status J_black color136 "
|
||||||
|
|
||||||
|
|
||||||
|
## Colour definitions when on a mono screen
|
||||||
|
mono bold bold
|
||||||
|
mono underline underline
|
||||||
|
mono indicator reverse
|
|
@ -0,0 +1,18 @@
|
||||||
|
# MS Word documents
|
||||||
|
application/msword; ~/.mutt/view_attachment.sh %s "-" '/usr/bin/libreoffice'
|
||||||
|
|
||||||
|
# Images
|
||||||
|
image/jpg; ~/.mutt/view_attachment.sh %s jpg
|
||||||
|
image/jpeg; ~/.mutt/view_attachment.sh %s jpg
|
||||||
|
image/pjpeg; ~/.mutt/view_attachment.sh %s jpg
|
||||||
|
image/png; ~/.mutt/view_attachment.sh %s png
|
||||||
|
image/gif; ~/.mutt/view_attachment.sh %s gif
|
||||||
|
|
||||||
|
# PDFs
|
||||||
|
application/pdf; ~/.mutt/view_attachment.sh %s pdf
|
||||||
|
|
||||||
|
# HTML
|
||||||
|
text/html; ~/.mutt/view_attachment.sh %s html
|
||||||
|
|
||||||
|
# Unidentified files
|
||||||
|
application/octet-stream; ~/.mutt/view_attachment.sh %s "-"
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Compose things
|
||||||
|
set realname = "Paul Walko"
|
||||||
|
set sendmail = "/usr/bin/msmtp"
|
||||||
|
set sendmail_wait = 0
|
||||||
|
set editor = "vim"
|
||||||
|
|
||||||
|
# General things
|
||||||
|
set folder = ~/.mail
|
||||||
|
set mailcap_path = ~/.mutt/mailcap
|
||||||
|
set tmpdir = /tmp
|
||||||
|
|
||||||
|
set wait_key = no
|
||||||
|
set mbox_type = Maildir
|
||||||
|
set timeout = 3
|
||||||
|
set mail_check = 0
|
||||||
|
unset move
|
||||||
|
set delete
|
||||||
|
unset confirmappend
|
||||||
|
set quit
|
||||||
|
source ~/.mutt/colors
|
||||||
|
set crypt_use_gpgme = yes
|
||||||
|
|
||||||
|
# Sidebar thigns
|
||||||
|
set sidebar_visible = yes
|
||||||
|
set sidebar_width = 14
|
||||||
|
bind index <down> sidebar-next
|
||||||
|
bind index <up> sidebar-prev
|
||||||
|
bind index <right> sidebar-open
|
||||||
|
|
||||||
|
# Indexing
|
||||||
|
bind index g noop
|
||||||
|
bind index gg first-entry
|
||||||
|
bind index G last-entry
|
||||||
|
bind index R group-reply
|
||||||
|
bind index <tab> sync-mailbox
|
||||||
|
|
||||||
|
# Pager bindings
|
||||||
|
bind pager g noop
|
||||||
|
bind pager gg top
|
||||||
|
bind pager G bottom
|
||||||
|
bind pager R group-reply
|
||||||
|
bind attach <return> view-mailcap
|
||||||
|
|
||||||
|
# Macros
|
||||||
|
macro pager \Cu "|urlview<enter>" "call urlview to open links"
|
||||||
|
|
||||||
|
# Account Settings
|
||||||
|
set spoolfile = +seaturtle/INBOX
|
||||||
|
|
||||||
|
mailboxes +seaturtle/INBOX
|
||||||
|
|
||||||
|
folder-hook seaturtle/* source ~/.mutt/accounts/seaturtle
|
|
@ -0,0 +1,8 @@
|
||||||
|
from subprocess import check_output
|
||||||
|
import os
|
||||||
|
|
||||||
|
def get_pass(entry):
|
||||||
|
gpg = [
|
||||||
|
'pass', entry
|
||||||
|
]
|
||||||
|
return check_output(gpg).strip()
|
|
@ -0,0 +1,3 @@
|
||||||
|
export CURR_DIR=`echo $PWD`
|
||||||
|
mutt
|
||||||
|
cd $CURR_DIR
|
|
@ -0,0 +1,127 @@
|
||||||
|
#!/bin/bash
|
||||||
|
#
|
||||||
|
# Author: Eric Gebhart
|
||||||
|
#
|
||||||
|
# Purpose: To be called by mutt as indicated by .mailcap to handle mail attachments.
|
||||||
|
#
|
||||||
|
# Function: Copy the given file to a temporary directory so mutt
|
||||||
|
# Won't delete it before it is read by the application.
|
||||||
|
#
|
||||||
|
# Along the way, discern the file type or use the type
|
||||||
|
# That is given.
|
||||||
|
#
|
||||||
|
# Finally use 'open' or 'open -a' if the third argument is
|
||||||
|
# given.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Arguments:
|
||||||
|
#
|
||||||
|
# $1 is the file
|
||||||
|
# $2 is the type - for those times when file magic isn't enough.
|
||||||
|
# I frequently get html mail that has no extension
|
||||||
|
# and file can't figure out what it is.
|
||||||
|
#
|
||||||
|
# Set to '-' if you don't want the type to be discerned.
|
||||||
|
# Many applications can sniff out the type on their own.
|
||||||
|
# And they do a better job of it too.
|
||||||
|
#
|
||||||
|
# Open Office and MS Office for example.
|
||||||
|
#
|
||||||
|
# $3 is open with. as in open -a 'open with this .app' foo.xls
|
||||||
|
#
|
||||||
|
# Examples: These are typical .mailcap entries which use this program.
|
||||||
|
#
|
||||||
|
# Image/JPEG; /Users/vdanen/.mutt/view_attachment %s
|
||||||
|
# Image/PNG; /Users/vdanen/.mutt/view_attachment %s
|
||||||
|
# Image/GIF; /Users/vdanen/.mutt/view_attachment %s
|
||||||
|
#
|
||||||
|
# Application/PDF; /Users/vdanen/.mutt/view_attachment %s
|
||||||
|
#
|
||||||
|
# #This HTML example passes the type because file doesn't always work and
|
||||||
|
# #there aren't always extensions.
|
||||||
|
#
|
||||||
|
# text/html; /Users/vdanen/.mutt/view_attachment %s html
|
||||||
|
#
|
||||||
|
# # If your Start OpenOffice.org.app is spelled with a space like this one, <--
|
||||||
|
# # then you'll need to precede the space with a \ . I found that too painful
|
||||||
|
# # and renamed it with an _.
|
||||||
|
#
|
||||||
|
# Application/vnd.ms-excel; /Users/vdanen/.mutt/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app'
|
||||||
|
# Application/msword; /Users/vdanen/.mutt/view_attachment %s "-" '/Applications/OpenOffice.org1.1.2/Start_OpenOffice.org.app'
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Debugging: If you have problems set debug to 'yes'. That will cause a debug file
|
||||||
|
# be written to /tmp/mutt_attach/debug so you can see what is going on.
|
||||||
|
#
|
||||||
|
# See Also: The man pages for open, file, basename
|
||||||
|
#
|
||||||
|
|
||||||
|
# the tmp directory to use.
|
||||||
|
tmpdir="$HOME/Desktop/.tmp/mutt_attach"
|
||||||
|
|
||||||
|
# the name of the debug file if debugging is turned on.
|
||||||
|
debug_file=$tmpdir/debug
|
||||||
|
|
||||||
|
# debug. yes or no.
|
||||||
|
#debug="no"
|
||||||
|
debug="yes"
|
||||||
|
|
||||||
|
type=$2
|
||||||
|
open_with=$3
|
||||||
|
|
||||||
|
# make sure the tmpdir exists.
|
||||||
|
mkdir -p $tmpdir
|
||||||
|
|
||||||
|
# clean it out. Remove this if you want the directory
|
||||||
|
# to accumulate attachment files.
|
||||||
|
rm -f $tmpdir/*
|
||||||
|
|
||||||
|
# Mutt puts everything in /tmp by default.
|
||||||
|
# This gets the basic filename from the full pathname.
|
||||||
|
filename=`basename $1`
|
||||||
|
|
||||||
|
# get rid of the extenson and save the name for later.
|
||||||
|
file=`echo $filename | cut -d"." -f1`
|
||||||
|
|
||||||
|
if [ $debug = "yes" ]; then
|
||||||
|
echo "1:" $1 " 2:" $2 " 3:" $3 > $debug_file
|
||||||
|
echo "Filename:"$filename >> $debug_file
|
||||||
|
echo "File:"$file >> $debug_file
|
||||||
|
echo "===========================" >> $debug_file
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if the type is empty then try to figure it out.
|
||||||
|
if [ -z $type ]; then
|
||||||
|
file $1
|
||||||
|
type=`file -bi $1 | cut -d"/" -f2`
|
||||||
|
fi
|
||||||
|
|
||||||
|
# if the type is '-' then we don't want to mess with type.
|
||||||
|
# Otherwise we are rebuilding the name. Either from the
|
||||||
|
# type that was passed in or from the type we discerned.
|
||||||
|
if [ $type = "-" ]; then
|
||||||
|
newfile=$filename
|
||||||
|
else
|
||||||
|
newfile=$file.$type
|
||||||
|
fi
|
||||||
|
|
||||||
|
newfile=$tmpdir/$newfile
|
||||||
|
|
||||||
|
# Copy the file to our new spot so mutt can't delete it
|
||||||
|
# before the app has a chance to view it.
|
||||||
|
cp $1 $newfile
|
||||||
|
|
||||||
|
if [ $debug = "yes" ]; then
|
||||||
|
echo "File:" $file "TYPE:" $type >> $debug_file
|
||||||
|
echo "Newfile:" $newfile >> $debug_file
|
||||||
|
echo "Open With:" $open_with >> $debug_file
|
||||||
|
fi
|
||||||
|
|
||||||
|
# If there's no 'open with' then we can let preview do it's thing.
|
||||||
|
# Otherwise we've been told what to use. So do an open -a.
|
||||||
|
|
||||||
|
if [ -z $open_with ]; then
|
||||||
|
xdg-open $newfile
|
||||||
|
else
|
||||||
|
xdg-open -a "$open_with" $newfile
|
||||||
|
fi
|
|
@ -0,0 +1,23 @@
|
||||||
|
xdg-utils
|
||||||
|
|
||||||
|
xdg-utils provides the official utilities for managing MIME types and default applications according to the #XDG standard. Most importantly, it provides /usr/bin/xdg-open which many applications use to open a file with its default application. It is desktop-environment-independent in the sense that it attempts to use each environment's native default application tool and provides its own mechanism if no known environment is detected. Examples:
|
||||||
|
|
||||||
|
# determine a file's MIME type
|
||||||
|
$ xdg-mime query filetype photo.jpeg
|
||||||
|
image/jpeg
|
||||||
|
|
||||||
|
# determine the default application for a MIME type
|
||||||
|
$ xdg-mime query default image/jpeg
|
||||||
|
gimp.desktop
|
||||||
|
|
||||||
|
# change the default application for a MIME type
|
||||||
|
$ xdg-mime default feh.desktop image/jpeg
|
||||||
|
|
||||||
|
# open a file with its default application
|
||||||
|
$ xdg-open photo.jpeg
|
||||||
|
|
||||||
|
# shortcut to open all web MIME types with a single application
|
||||||
|
$ xdg-settings set default-web-browser firefox.desktop
|
||||||
|
|
||||||
|
# shortcut for setting the default application for a URL scheme
|
||||||
|
$ xdg-settings set default-url-scheme-handler irc xchat.desktop
|
155
offlineimaprc
155
offlineimaprc
|
@ -1,158 +1,33 @@
|
||||||
[general]
|
[general]
|
||||||
ui = ttyui
|
ui = ttyui
|
||||||
accounts = vt, walko, gmail, vtluug
|
accounts = seaturtle
|
||||||
maxsyncaccounts = 4
|
maxsyncaccounts = 4
|
||||||
pythonfile = ~/.mutt/offlineimap.py
|
pythonfile = ~/.mutt/offlineimap.py
|
||||||
|
|
||||||
############################
|
############################
|
||||||
### Accounts
|
### Accounts
|
||||||
# vt
|
# seaturtle
|
||||||
[Account vt]
|
[Account seaturtle]
|
||||||
localrepository = vt-local
|
localrepository = seaturtle-local
|
||||||
remoterepository = vt-remote
|
remoterepository = seaturtle-remote
|
||||||
autorefresh = 0.5
|
autorefresh = 0.5
|
||||||
quick = 10
|
quick = 10
|
||||||
|
|
||||||
# walko
|
|
||||||
[Account walko]
|
|
||||||
localrepository = walko-local
|
|
||||||
remoterepository = walko-remote
|
|
||||||
autorefresh = 0.5
|
|
||||||
quick = 10
|
|
||||||
|
|
||||||
# gmail
|
|
||||||
[Account gmail]
|
|
||||||
localrepository = gmail-local
|
|
||||||
remoterepository = gmail-remote
|
|
||||||
autorefresh = 0.5
|
|
||||||
quick = 10
|
|
||||||
|
|
||||||
# vtluug
|
|
||||||
[Account vtluug]
|
|
||||||
localrepository = vtluug-local
|
|
||||||
remoterepository = vtluug-remote
|
|
||||||
autorefresh = 0.5
|
|
||||||
quick = 10
|
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
### Repositories
|
### Repositories
|
||||||
## vt
|
## seaturtle
|
||||||
[Repository vt-local]
|
[Repository seaturtle-local]
|
||||||
type = Maildir
|
type = Maildir
|
||||||
localfolders = ~/.mail/vt
|
localfolders = ~/.mail/seaturtle
|
||||||
nametrans = lambda folder: {
|
|
||||||
'drafts': '[Gmail]/Drafts',
|
|
||||||
'sent': '[Gmail]/Sent Mail',
|
|
||||||
'flagged': '[Gmail]/Starred',
|
|
||||||
'trash': '[Gmail]/Trash',
|
|
||||||
'archive': '[Gmail]/All Mail',
|
|
||||||
}.get(folder, folder)
|
|
||||||
|
|
||||||
[Repository vt-remote]
|
[Repository seaturtle-remote]
|
||||||
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
|
|
||||||
maxconnections = 1
|
|
||||||
type = Gmail
|
|
||||||
keepalive = 60
|
|
||||||
holdconnectionopen = yes
|
|
||||||
remoteuser = pwalko@vt.edu
|
|
||||||
remotepasseval = get_pass("vt")
|
|
||||||
realdelete = no
|
|
||||||
nametrans = lambda folder: {
|
|
||||||
'[Gmail]/Drafts': 'drafts',
|
|
||||||
'[Gmail]/Sent Mail': 'sent',
|
|
||||||
'[Gmail]/Starred': 'flagged',
|
|
||||||
'[Gmail]/Trash': 'trash',
|
|
||||||
'[Gmail]/All Mail': 'archive',
|
|
||||||
}.get(folder, folder)
|
|
||||||
folderfilter = lambda folder: folder not in {
|
|
||||||
'[Gmail]/Trash',
|
|
||||||
'[Gmail]/Spam',
|
|
||||||
'[Gmail]/Important',
|
|
||||||
'[Gmail]/Chats',
|
|
||||||
}
|
|
||||||
|
|
||||||
## walko
|
|
||||||
[Repository walko-local]
|
|
||||||
type = Maildir
|
|
||||||
localfolders = ~/.mail/walko
|
|
||||||
nametrans = lambda folder: {
|
|
||||||
'drafts': '[Gmail]/Drafts',
|
|
||||||
'sent': '[Gmail]/Sent Mail',
|
|
||||||
'flagged': '[Gmail]/Starred',
|
|
||||||
'trash': '[Gmail]/Trash',
|
|
||||||
'archive': '[Gmail]/All Mail',
|
|
||||||
}.get(folder, folder)
|
|
||||||
|
|
||||||
[Repository walko-remote]
|
|
||||||
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
|
|
||||||
maxconnections = 1
|
|
||||||
type = Gmail
|
|
||||||
keepalive = 60
|
|
||||||
holdconnectionopen = yes
|
|
||||||
remoteuser = paul@walko.org
|
|
||||||
remotepasseval = get_pass("walko")
|
|
||||||
realdelete = no
|
|
||||||
nametrans = lambda folder: {
|
|
||||||
'[Gmail]/Drafts': 'drafts',
|
|
||||||
'[Gmail]/Sent Mail': 'sent',
|
|
||||||
'[Gmail]/Starred': 'flagged',
|
|
||||||
'[Gmail]/Trash': 'trash',
|
|
||||||
'[Gmail]/All Mail': 'archive',
|
|
||||||
}.get(folder, folder)
|
|
||||||
folderfilter = lambda folder: folder not in {
|
|
||||||
'[Gmail]/Trash',
|
|
||||||
'[Gmail]/Important',
|
|
||||||
'[Gmail]/Chats',
|
|
||||||
}
|
|
||||||
|
|
||||||
## gmail
|
|
||||||
[Repository gmail-local]
|
|
||||||
type = Maildir
|
|
||||||
localfolders = ~/.mail/gmail
|
|
||||||
nametrans = lambda folder: {
|
|
||||||
'drafts': '[Gmail]/Drafts',
|
|
||||||
'sent': '[Gmail]/Sent Mail',
|
|
||||||
'flagged': '[Gmail]/Starred',
|
|
||||||
'trash': '[Gmail]/Trash',
|
|
||||||
'archive': '[Gmail]/All Mail',
|
|
||||||
}.get(folder, folder)
|
|
||||||
|
|
||||||
[Repository gmail-remote]
|
|
||||||
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
|
|
||||||
maxconnections = 1
|
|
||||||
type = Gmail
|
|
||||||
keepalive = 60
|
|
||||||
holdconnectionopen = yes
|
|
||||||
remoteuser = paulsw.pw@gmail.com
|
|
||||||
remotepasseval = get_pass("gmail")
|
|
||||||
realdelete = no
|
|
||||||
nametrans = lambda folder: {
|
|
||||||
'[Gmail]/Drafts': 'drafts',
|
|
||||||
'[Gmail]/Sent Mail': 'sent',
|
|
||||||
'[Gmail]/Starred': 'flagged',
|
|
||||||
'[Gmail]/Trash': 'trash',
|
|
||||||
'[Gmail]/All Mail': 'archive',
|
|
||||||
}.get(folder, folder)
|
|
||||||
folderfilter = lambda folder: folder not in {
|
|
||||||
'[Gmail]/Trash',
|
|
||||||
'[Gmail]/Spam',
|
|
||||||
'[Gmail]/Important',
|
|
||||||
'[Gmail]/Chats',
|
|
||||||
}
|
|
||||||
|
|
||||||
## vtluug
|
|
||||||
[Repository vtluug-local]
|
|
||||||
type = Maildir
|
|
||||||
localfolders = ~/.mail/vtluug
|
|
||||||
|
|
||||||
[Repository vtluug-remote]
|
|
||||||
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
|
sslcacertfile = /etc/ssl/certs/ca-certificates.crt
|
||||||
maxconnections = 1
|
maxconnections = 1
|
||||||
type = IMAP
|
type = IMAP
|
||||||
remotehost = acidburn.vtluug.org
|
remotehost = imap.mailbox.org
|
||||||
ssl = yes
|
ssl = yes
|
||||||
keepalive = 60
|
keepalive = 60
|
||||||
holdconnectionopen = yes
|
holdconnectionopen = yes
|
||||||
remoteuser = pew
|
remoteuser = paul@seaturtle.pw
|
||||||
remotepasseval = get_pass("vtluug")
|
remotepasseval = get_pass("mailbox.org-paul@seaturtle.pw")
|
||||||
realdelete = no
|
realdelete = no
|
||||||
|
|
Loading…
Reference in New Issue