For some time I started using more keyboard (mutt as my e-mail client, abook as addressbook, canto as rss reader, emacs for rest ;]). One of few left places where I still use the mouse is iceweasel. W3m, lynx and others, are to hardcore for me. ;)

Anyway… How to connect it with mutt? When I surfed the web I found an interesting little script. After connecting it with my browser, when I click on the mailto link, mutt automatically starts in new terminal. I’ve modified it a little, to integrate it with guake, which I use extensively. Here’s the result I got:

mutt-guake script

#!/bin/bash
# Script is based on the one from:
#  https://www.linuxquestions.org/questions/linux-software-2/firefox-mutt-and-mailto-links-272743/
MAILTO_URL="$1" 

#Strip off the protocol
MAIL_DATA=$(echo "$MAILTO_URL" | sed -s 's/^[Mm][Aa][Ii][Ll][Tt][Oo]://')

#Get Recipient and strip it off
RECIPIENT=$(echo "$MAIL_DATA" | cut -d? -f1 -)
MAIL_DATA=$(echo "$MAIL_DATA" | sed -s s/^$RECIPIENT//) 

#Get Subject,BCC, and CC
SUBJECT=$(echo "$MAIL_DATA" | sed -s 's/.*?[Ss][Uu][Bb][Jj][Ee][Cc][Tt]=//' | sed -s 's/?.*//')
BCC=$(echo "$MAIL_DATA" | sed -s 's/.*?[Bb][Cc][Cc]=//' | sed -s 's/?.*//')
CC=$(echo "$MAIL_DATA" | sed -s 's/.*?[Cc][Cc]=//' | sed -s 's/?.*//') 

# Call mutt in an guake
# I use -t because when I use Iceweasel, Guake is hidden
guake -t -n "mutt" -e "mutt '$RECIPIENT' -b '$BCC' -c '$CC' -s '$SUBJECT'"

Outro

Integration of iceweasel-mutt-guake is powerful! After clicking mailto link, I have access to all my consoles which I use. I can for example: click on mailto link and start writing mail. Then by pressing CTRL+Page Up, move to the previous console tab. Clicking F11 allows me to make fullscreen. These are, of course, accessible from normal terminal too. But Guake’s advantage from normal console is that I can hide it by pressing F12 and immediately back to my previous work. Next step? Emacs and gnome-calendar integration. :)