#3706: [PATCH] Renaming attachments when composing message ----------------------------+---------------------- Reporter: gauthma | Owner: mutt-dev Type: enhancement | Status: new Priority: minor | Milestone: Component: user interface | Version: Keywords: | ----------------------------+---------------------- So mutt allows the user to rename an attachment, but what this does is to rename the underlying file. To me at least, this is 1) not very useful, and 2) a violation of the principle of least astonishment (http://en.wikipedia.org/wiki/Principle_of_least_astonishment). So I decided to have a look at the source code, to see if would be too hard to change.
It wasn't, and indeed I was able to modify the source so it does what I want it to: renaming an attachment just changed the "filename" parameter that gets sent with the "Content-Disposition" header. But I ended up doing two additional changes, as described hereinafter. First, pressing R in the compose menu, brings up the "Rename to: " diaglog, pre-filled with the *unprettyfied* original attachment name (with path)(*). The idea is to allow the user to undo the rename: just press R<Enter> and the attachment gets its original name -- and accompanying path, just like if the user had just manually selected the relevant file again. We need the unprettyfied version in order to be able to compare it with the original name. Also, the new file name (inserted through the "Rename to: " dialog) must not contain forward slashes ('/'), except if it's the original filename (otherwise we could not revert to the original filename). Second, pressing (again on the compose menu) `^o` brings up a message displaying the original file path. The idea is to allow the user to check to what file corresponds a given (new) name. It may seem a strange feature, but I've found it useful in practice. The patch can be applied by cd'ing to mutt source dir, and doing `patch < /path/to/file.patch`. Feedback is welcome. Caveat lector: due to mutt's sui generis existing indentation style, I arranged the patch to divert from it as little as possible. To what degree I have succeeded is left to the reader to determine. (*) - Perhaps we should add a small appendix to the "Rename to: " string saying the user can press ^U to clear the pre-filled name (which, being a full path, can become quite long)? -- Ticket URL: <http://dev.mutt.org/trac/ticket/3706> Mutt <http://www.mutt.org/> The Mutt mail user agent