-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'master' of https://github.com/fischerling/dotfiles
- Loading branch information
Showing
6 changed files
with
226 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
function c2p --description 'Copy clipboard to primary selection' | ||
xclip -o -selection clipboard | xclip -i -selection primary | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
function p2c --description 'Copy primary selection to clipboard' | ||
xclip -o -selection primary | xclip -i -selection clipboard | ||
end |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,207 @@ | ||
-- | ||
-- This is the per-user configuration file for lumail. | ||
-- | ||
|
||
keymap['global']['gg'] = 'first()' | ||
keymap['global']['G'] = 'last()' | ||
|
||
----------------------------------------------------------------------------- | ||
|
||
-- | ||
-- The following line enables *experimental* conversion of message-bodies | ||
-- to UTF-8. | ||
-- | ||
-- You might require this to be enabled if you receive mail in foreign | ||
-- character-sets. It should be harmless when enabled, but character-sets, | ||
-- encoding, and similar, are scary and hard. If you see garbled text, | ||
-- unreadable emails, or similar problems with displaying message-bodies | ||
-- comment it out as a first step in isolating the problem. | ||
-- | ||
Config:set( "global.iconv", 1 ) | ||
|
||
-- | ||
-- Get our base-directories | ||
-- | ||
local HOME = os.getenv("HOME") | ||
local DATA_HOME = os.getenv("XDG_DATA_HOME") or HOME .. "/.local/share" | ||
local CACHE_HOME = os.getenv("XDG_CONFIG_HOME") or HOME .. "/.cache" | ||
|
||
-- | ||
-- The default Maildir location is ~/Maildir | ||
-- | ||
local MAILPREFIX = HOME .. "/.local/share/maildir" | ||
Config:set("maildir.prefix", MAILPREFIX); | ||
|
||
-- | ||
-- Handle both of my email accounts. | ||
-- Determine the current account on basis of the folder path. | ||
-- | ||
|
||
-- This is the account used by msmtp | ||
local account = "fau" | ||
-- Default name to use | ||
Config:set("global.name", "Florian Fischer") | ||
-- Default address. | ||
Config:set("global.address", "[email protected]") | ||
-- Default From: address. | ||
Config:set("global.sender", "Florian Fischer <[email protected]>") | ||
-- Default sent-folder. | ||
Config:set("global.sent-mail", MAILPREFIX .. "/FAU/Sent") | ||
-- Default trash-folder. | ||
Config:set("global.trash-mail", MAILPREFIX.."/FAU/Trash") | ||
-- Default GPG mode | ||
Config:set("gpg.mode", "auto") | ||
|
||
function on_folder_changed(folder) | ||
local path = folder:path() | ||
if path:find("FAU") then | ||
account = "fau" | ||
Config:set("global.address", "[email protected]") | ||
Config:set("global.sent-mail", MAILPREFIX .. "/FAU/Sent") | ||
Config:set("global.trash-mail", MAILPREFIX.."/FAU/Trash") | ||
Config:set("gpg.mode", "auto") | ||
elseif path:find("MUHQ") then | ||
account = "muhq" | ||
Config:set("global.address", "[email protected]") | ||
Config:set("global.sent-mail", MAILPREFIX .. "/MUHQ/Sent") | ||
Config:set("global.trash-mail", MAILPREFIX.."/MUHQ/Trash") | ||
Config:set("gpg.mode", "") | ||
end | ||
-- update sender | ||
Config:set("global.sender", Config:get("global.name").." <"..Config:get("global.address")..">") | ||
-- update MTA. | ||
Config:set( "global.mailer", "/usr/bin/sendmail -t -a " .. account .. " -f " .. Config:get("global.address") ) | ||
end | ||
|
||
-- | ||
-- Setup our MTA, the command which actually sends the mail. | ||
-- | ||
Config:set( "global.mailer", "/usr/bin/sendmail -t -a " .. account .. " -f " .. Config:get("global.address") ) | ||
|
||
-- | ||
-- Setup our default editor, for compose/reply/forward operations. | ||
-- | ||
local editor = os.getenv("VISUAL") or os.getenv("EDITOR") or "vi" | ||
Config:set( "global.editor", editor .. " +/^$ ++8" ) | ||
|
||
-- | ||
-- Save persistant history of our input in the named file. | ||
-- | ||
Config:set( "global.history", DATA_HOME .. "/lumail/history" ) | ||
|
||
-- | ||
-- Configure a cache-prefix, and populate it | ||
-- | ||
Config:set( "cache.prefix", CACHE_HOME .. "/lumail" ) | ||
|
||
-- Configure logging | ||
Config:set( "log.path" , DATA_HOME .. "/lumail/log" ) | ||
Config:set ( "log.level", "") | ||
|
||
-- Index mode - which shows the list of messages: | ||
-- | ||
Config:set( "index.format", | ||
"[${4|flags}] ${2|message_flags} | ${10|date} | ${20|sender} | ${indent}${subject}" ) | ||
-- | ||
-- Options include: | ||
-- | ||
-- date -> The message date. | ||
-- flags -> The local flags. | ||
-- id -> Message-ID. | ||
-- indent -> Nesting character(s) for the display of threads. | ||
-- message_flags -> The message-content flags (has attachment? is signed?). | ||
-- number -> The message number. | ||
-- sender -> The sender of the message: "Bob Smith <[email protected]>" | ||
-- email -> [email protected] | ||
-- name -> Bob Smith | ||
-- subject -> The message subject. | ||
|
||
-- | ||
-- Set the default sorting method. Valid choices are: | ||
-- | ||
-- `file` - Use the mtime of the files in the maildir. | ||
-- `date` - Read the `Date` header of the message(s) - slower than the | ||
-- above method, but works on IMAP too. | ||
-- `subject` - Sort by subject. | ||
-- `from` - Sort by sender. | ||
-- | ||
sorting_method( "threads" ) | ||
|
||
Config:set("threads.sort", "date") | ||
|
||
-- | ||
-- Unread messages/maildirs are drawn in red. | ||
-- | ||
Config:set( "colour.unread", "red" ) | ||
|
||
-- | ||
-- This table contains colouring information, it is designed to allow | ||
-- the user to override the colours used in the display easily. | ||
-- | ||
colour_table = {} | ||
|
||
-- | ||
-- Create a per-mode map for each known mode. | ||
-- | ||
for i,o in ipairs(Global:modes()) do | ||
colour_table[o] = {} | ||
end | ||
|
||
-- | ||
-- Setup our colours - for Maildir-mode | ||
-- | ||
colour_table['maildir'] = { | ||
['Automated'] = 'yellow|underline', | ||
['lists'] = 'green|bold', | ||
} | ||
|
||
-- Setup our colours - for index-mode | ||
colour_table['index'] = { | ||
['Florian Fischer'] = 'blue', | ||
['Fischer'] = 'blue', | ||
} | ||
|
||
-- Setup our colours - for a message | ||
colour_table['message'] = { | ||
-- headers | ||
['^Subject:'] = 'yellow', | ||
['^Date:'] = 'yellow', | ||
['^From:'] = 'yellow', | ||
['^To:'] = 'yellow', | ||
['^Cc:'] = 'yellow', | ||
['^Sent:'] = 'yellow', | ||
|
||
-- quoting, and nested quoting. | ||
['^>%s*>%s*'] = 'green', | ||
['^>%s*[^>%s]'] = 'blue', | ||
['^>%s$'] = 'blue', | ||
} | ||
|
||
-- | ||
-- Include address book completion in on_complete | ||
-- | ||
do | ||
local _on_complete = on_complete | ||
function on_complete(token) | ||
local res = _on_complete(token) | ||
|
||
local handle = io.popen("khard email --parsable " .. token) | ||
local stdout = handle:read("*a") | ||
handle:close() | ||
|
||
local lines = {} | ||
|
||
local function insert_mailaddr(line) | ||
-- include @ to make sure match is email | ||
local mailaddr = line:match("([^%s]*@[^%s]*)%s") | ||
if mailaddr then | ||
table.insert(res, mailaddr) | ||
end | ||
end | ||
|
||
stdout:gsub("(.-)\r?\n", insert_mailaddr) | ||
|
||
return res | ||
end | ||
end | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters