Introduction
I want to start a series of articles to describe how I improve my workflow with geeky Open Source applications. I will concentrate on terminal applications that I try to use in my GTD process.
Terminal
Solarized gnome-terminal
If you already don’t know what solarized color scheme is then please take a look at this page. To install solarized colorscheme in gnome-terminal simply follow instruction from this git repository.
Mutt again
During last days I spent a lot of time to tweak my mutt configuration. Here I will give you few hints about things that I learned.
Solarized mutt
To enable solarized colorscheme in mutt simply download one of scheme files from
github. If you installed dark scheme for your gnome-terminal then I suggest
mutt-colors-solarized-dark-16.muttrc
. Copy this file for example to
$HOME/.mutt
and source it in muttrc file:
|
|
Width of From column
Usually from field in today’s emails is longer than 19 characters. If this happens mutt by default will not display whole string. To change this behavior you can manipulate
|
|
Sidebar
Finally I gave up sidebar for using latest code without annoying
tls_socket_read
error. Switching between IMAP folders is not so bad, you can
quickly display all folders by c<Tab><Tab>
or simply y
Offline imap
This is probably best program to synchronize your emails with local storage. It
also has feature that allow synchronization between different IMAP servers but
I’m not using it. Few things are crucial when using offlineimap
:
- probably easiest way to keep passwords secret is using python hooks for
gnome-keyring, detailed description how to integrate it with
offlineimap
is here. Debian name ofgnome-python2-gnomekeyring
is different:python-gnomekeyring
. - Use meaningful
localfolders
because you will use it inmutt
configuration
Typical configuration of $HOME/.offlineimaprc
:
|
|
What this means by section:
[mbnames]
- automatically create mailboxes folders according to your configuration on IMAP server[general]
- most important things here are self explanatory accounts variable andmax{syncaccounts,connections}
, first said how many accounts should be synchronized and second how many simultaneous connections should be used[Account *]
- contain sync refresh time in minutes (autorefresh
) and link to local and remote repository definitions (localrepository
andremoterepository
)[Repository *]
- for local folder and its type and for remote gnome-keyring configuration
Multiple account configuration
To simplify multiple accounts configuration I added two things:
-
separated account files configuration - in my case placed in
$HOME/.mutt/accounts
1 2 3 4 5
set postponed = <+account1@server.com>/Drafts set spoolfile = <+account1@server.com>/INBOX set record = <+account1@server.com>/Sent set from = '<account1@server.com>' set realname = 'My Name' set smtp_url = smtps://acc1@smtp.server.com:587 set smtp_pass = $my_pass set signature = "~/.mutt/signature.example"
-
folder hooks for particular account - it cause automatic loading of configurations when folder was changed (in
$HOME/muttrc
):folder-hook ‘account1@server.com’ ‘source $HOME/.mutt/accounts/account1’
Separate mailing list file
I keep my mailing list configuration file separated and source it in my
$HOME/.muttrc
. I’m not mailing list advanced user, so right now I have
manually created IMAP folders and Gmail filters to move mails from mailing list
to this folders. On the mutt side I use subscribe
command to indicate that
particular mail id is a mailing list.
Personal improvement
Some improvement in my configuration files shouldn’t be available for all. I mean my email account configuration, my todo list, passwords and things like that. To store this improvement I use additional private git repository and use it as a submodule for my workspace configuration. I wrote post about keeping configuration using git here and here.
Taskwarrior and vit
I really like taskwarrior
as a GTD tool but I was tired of writing everything
every time I wanted to change sth. I found vit
. Vit is a vi-like interface to
task list generated by taskwarrior
it works really great. Mostly it is written
in perl and there is no official repository for its code base but latest version
is from April 2013. I use lot of project:
and +flag
to update my TODO list.
I prefer long
filter.
My taskwarrior projects and flags
I have few ongoing projects like blog
, productivity
and ideas
. In addition
I use few flags like ideas
, finish
, enhancement
, fix
or bug
. So when I
connect project and flag I get few categories like:
blog ideas
for new articles ideasblog finish
for articles that should be finished ASAPblog bug/fix
for articles that have to be changed for some reasonproductivity bug/fix
for productivity tools configuration improvementsproductivity ideas
for new improvements
Summary
I think this is enough for first post from this series. Hope it was helpful. If yes then please share, if no then comment what I should improve. Thanks for reading.