On Thu, May 10, 2012 at 04:39:33PM -0400, Ed Blackman wrote:
On Thu, May 10, 2012 at 06:58:28PM +0700, Diep Pham Van wrote:Sometimes when reading a new mail, I must going to an other folder and after some searching, I have no idea where is my previous folder.Or is there some tool that I don't know but every one use to make your life with mutt easier?I read mutt inside of screen, and use a macro to change folders such that the new folders is opened in a separate screen window, keeping the original folder where I left it.macro index F '<sync-mailbox><enter-command>set my_folder=`mutt-prompt "Change to folder" \\`; push "!screen -X screen mutt -f $my_folder\<enter\>"<enter>'That's all one line. It uses mutt-prompt, which I got from this mailing list a while ago. I'd be happy to post or send it if anyone's interested.
Diep Pham Van replied in an email direct to me: "Post it please. And how can I use this with tmux? :D"
I've attached it. It's mostly as I received it, though I added a line to change directory to $HOME/mail, which is where $folder points to. That lets me use tab completion to enter the names of mailboxes under $folder. This will only work for local mailboxes, though.
I don't know tmux, but "screen -X screen <command>" tells a running screen to open a new window running <command>. If I typed "screen -X screen mutt" at a command prompt in a screen window, screen will create a new screen window running mutt and switch to it. The macro uses that to switch to a new window running mutt in the given folder.
I presume that tmux has something similar, and someone more familiar with tmux may help you adjust the macro.
-- Ed Blackman
#!/bin/bash ## ## usage: mutt-prompt "prompt text" ## ## In muttrc: ## set my_var=`mutt-prompt "Folder"` ## cd ~/mail # save current tty state s=`stty -g` # redirect default i/o, saving current stdout in fd 5 exec 5>&1 exec >/dev/tty </dev/tty # reset tty state stty icanon sane onlcr stty erase # position cursor at bottom of screen rows=`tput lines` rows=`expr $rows - 1` tput cup $rows 0 # print prompt and read response printf "${1}: " read -e answer # return response to mutt echo "$answer" >&5 # reset tty state stty "$s"
signature.txt
Description: Digital signature