On 12 Mar 2013, at 23:55, Zvi Biener wrote:

> Does anyone know how/if one may customize the long-view of headers 
> that is displayed above the body of any given message?

Yes, that is possible (both the long and short format).

> I'd love to stick a list of the attachments up there (along w/ 
> standard from, subject, date, and to), if that's possible.

No, that is not possible. You can get an attachments count or just an 
indication of whether or not attachments exist, but that's probably it. 
I can think of ways to make this more flexible, but the long term plan 
is to completely re-implement the headers view and therefore I'm not 
really motivated with regard to improving it.

This is the relevant file:

        MailMate.app/Contents/Resources/Layouts/headersFormatting.plist

And this is where you could place a customization/extension of the file:

        ~/Library/Application 
Support/MailMate/Resources/Layouts/headersFormatting.plist

If you do this then you won't see any future changes I make to the 
default file when MailMate is updated. Note that the files are merged, 
that is, you should only include the top-level keys you actually change.

For the sake of completion, here is an example of how to show an 
attachment count. (This is MailMate-hacking and I make no guarantees 
that it'll work in the future. In fact, I guarantee the opposite.)

        {
                prefix = { string = "\tAttachments:\t"; fontStyle = bold; color 
= 
'#777777'; };
                formatString = "${#attachments-count/^0$//}";
        },

The above should be appended to the default `longFormatting` value. This 
is probably all a bit confusing. I've attached the full example.

Note that I use a regexp replacement in the format string to convert a 
count of 0 to an empty string. This has the effect of hiding the 
attachments line when the count is 0 .

-- 
Benny
-------------- next part --------------
An HTML attachment was scrubbed...
URL: 
<http://lists.freron.com/pipermail/mailmate/attachments/20130313/e1d28f08/attachment-0001.html>
-------------- next part --------------
{
        // defaultFormatting = "longFormatting";
        longFormatting =
        {
                separator = { string = "\n"; };
                children =
                (
                        {
                                prefix = { string = "\tFrom:\t"; fontStyle = 
bold; color = '#777777'; };
                                children =
                                (
                                        {
                                                formatString = "${from.name}";
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "From "; formatString = "?${from.name}?"; };
                                                        queryFormatting = { 
formatString = "from.name = '${from.name}'"; separatorString = " or "; 
escapeSingleQuotes = 1; };
                                                };
                                        },
                                        {
                                                prefix = { formatString = 
"${from.name:+ <}";};
                                                formatString = 
"${from.address}";
                                                suffix = { formatString = 
"${from.name:+>}";};
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "From "; formatString = "?${from.address}?"; };
                                                        queryFormatting = { 
formatString = "from.address = '${from.address}'"; separatorString = " or "; 
escapeSingleQuotes = 1; };
                                                };
                                        },
                                );
                                copyValues =
                                (
                                        { title = ''; valueFormatting = { 
formatString = '${from.name:+${from.name} <${from.address}>}'; }; },
                                        { title = 'Address Only'; 
valueFormatting = { formatString = '${from.address}'; }; },
                                        { title = 'Name Only'; valueFormatting 
= { formatString = '${from.name}'; }; },
                                );
                                isAddress = :true;
                        },
                        {
                                prefix = { string = "\tSubject:\t"; fontStyle = 
bold; color = '#777777'; };
                                children =
                                (
                                        {
                                                formatString = 
"${subject.prefix}";
                                                suffix = { string = " "; };
                                                // link stuff
                                        },
                                        {
                                                prefix = { string = "["; };
                                                formatString = 
"${subject.blob}";
                                                suffix = { string = "] "; };
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "Related to "; formatString = 
"${list-id.identifier:??${list-id.identifier}?:[${subject.blob}]}"; };
                                                        queryFormatting = { 
formatString = "${list-id.identifier:?list-id.identifier = 
'${list-id.identifier}':subject.blob = '${subject.blob}'}"; escapeSingleQuotes 
= 1; };
                                                };
                                        },
                                        {
                                                formatString = 
"${subject.body}";
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "Related to "; formatString = "?${subject.body}?"; };
                                                        queryFormatting = { 
formatString = "subject.body = '${subject.body}'"; escapeSingleQuotes = 1; };
                                                };
                                        },
                                );
                        },
                        {
                                prefix = { string = "\tDate:\t"; fontStyle = 
bold; color = '#777777'; };
                                formatString = "${#date.formatted}";
                                singleClick =
                                {
                                        titleFormatting = { prefixString = 
"Date is "; formatString = "?${#date.day}?"; };
                                        queryFormatting = { formatString = 
"#date.day = '${#date.day}'"; escapeSingleQuotes = 1; };
                                };
                        },
                        {
                                prefix = { string = "\tTo:\t"; fontStyle = 
bold; color = '#777777'; };
                                sharedPrefix = "to";
                                separatorString = ", ";
                                children =
                                (
                                        {
                                                formatString = "${to.name}";
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "To "; formatString = "?${to.name}?"; };
                                                        queryFormatting = { 
formatString = "#recipient.name = '${to.name}'"; escapeSingleQuotes = 1; };
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${to.name:+${to.name} <${to.address}>}'; }; 
},
                                                        { title = 'Address 
Only'; valueFormatting = { formatString = '${to.address}'; }; },
                                                        { title = 'Name Only'; 
valueFormatting = { formatString = '${to.name}'; }; },
                                                );
                                                isAddress = :true;
                                        },
                                        {
                                                prefix = { formatString = 
"${to.name:+ <}";};
                                                formatString = "${to.address}";
                                                suffix = { formatString = 
"${to.name:+>}";};
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "To "; formatString = "?${to.address}?"; };
                                                        queryFormatting = { 
formatString = "#recipient.address = '${to.address}'"; escapeSingleQuotes = 1; 
};
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${to.name:+${to.name} <${to.address}>}'; }; 
},
                                                        { title = 'Address 
Only'; valueFormatting = { formatString = '${to.address}'; }; },
                                                        { title = 'Name Only'; 
valueFormatting = { formatString = '${to.name}'; }; },
                                                );
                                                isAddress = :true;
                                        },
                                );
                        },
                        {
                                prefix = { string = "\tCc:\t"; fontStyle = 
bold; color = '#777777'; };
                                sharedPrefix = "cc";
                                separatorString = ", ";
                                children =
                                (
                                        {
                                                formatString = "${cc.name}";
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "To "; formatString = "?${cc.name}?"; };
                                                        queryFormatting = { 
formatString = "#recipient.name = '${cc.name}'"; escapeSingleQuotes = 1; };
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${cc.name:+${cc.name} <${cc.address}>}'; }; 
},
                                                        { title = 'Address 
Only'; valueFormatting = { formatString = '${cc.address}'; }; },
                                                        { title = 'Name Only'; 
valueFormatting = { formatString = '${cc.name}'; }; },
                                                );
                                                isAddress = :true;
                                        },
                                        {
                                                prefix = { formatString = 
"${cc.name:+ <}";};
                                                formatString = "${cc.address}";
                                                suffix = { formatString = 
"${cc.name:+>}";};
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "To "; formatString = "?${cc.address}?"; };
                                                        queryFormatting = { 
formatString = "#recipient.address = '${cc.address}'"; escapeSingleQuotes = 1; 
};
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${cc.name:+${cc.name} <${cc.address}>}'; }; 
},
                                                        { title = 'Address 
Only'; valueFormatting = { formatString = '${cc.address}'; }; },
                                                        { title = 'Name Only'; 
valueFormatting = { formatString = '${cc.name}'; }; },
                                                );
                                                isAddress = :true;
                                        },
                                );
                        },
                        {
                                prefix = { string = "\tBcc:\t"; fontStyle = 
bold; color = '#777777'; };
                                sharedPrefix = "bcc";
                                separatorString = ", ";
                                children =
                                (
                                        {
                                                formatString = "${bcc.name}";
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "To "; formatString = "?${bcc.name}?"; };
                                                        queryFormatting = { 
formatString = "#recipient.name = '${bcc.name}'"; escapeSingleQuotes = 1; };
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${bcc.name:+${bcc.name} <${bcc.address}>}'; 
}; },
                                                        { title = 'Address 
Only'; valueFormatting = { formatString = '${bcc.address}'; }; },
                                                        { title = 'Name Only'; 
valueFormatting = { formatString = '${bcc.name}'; }; },
                                                );
                                                isAddress = :true;
                                        },
                                        {
                                                prefix = { formatString = 
"${bcc.name:+ <}";};
                                                formatString = "${bcc.address}";
                                                suffix = { formatString = 
"${bcc.name:+>}";};
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "To "; formatString = "?${bcc.address}?"; };
                                                        queryFormatting = { 
formatString = "#recipient.address = '${bcc.address}'"; escapeSingleQuotes = 1; 
};
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${bcc.name:+${bcc.name} <${bcc.address}>}'; 
}; },
                                                        { title = 'Address 
Only'; valueFormatting = { formatString = '${bcc.address}'; }; },
                                                        { title = 'Name Only'; 
valueFormatting = { formatString = '${bcc.name}'; }; },
                                                );
                                                isAddress = :true;
                                        },
                                );
                        },
                        {
                                prefix = { string = "\tSecurity:\t"; fontStyle 
= bold; color = '#777777'; };
                                separatorString = " ";
                                children =
                                (
                                        {
                                                // formatString = 
"${#encrypted:+?Encrypted (${#security-protocol:+Unknown protocol})}";
                                                formatString = 
"${#encrypted:+?Encrypted}";
                                                singleClick = { selector = 
"showDetails:"; };
                                                toolTip = { formatString = 
"This message is encrypted."; };
                                        },
                                        {
                                                // formatString = 
"${#signed:+?Signed (${#security-protocol:+Unknown protocol})}";
                                                formatString = 
"${#signed:+?Signed}";
                                                singleClick = { selector = 
"showDetails:"; };
                                                toolTip = { formatString = 
"This message is signed."; };
                                        }
                                );
                        },
                        {
                                prefix = { string = "\tTags:\t"; fontStyle = 
bold; color = '#777777'; };
                                separatorString = " ";
                                sharedPrefix = "#flags.flag";
                                children =
                                (
                                        {
                                                formatString = 
"${#flags.flag.name}";
                                                singleClick =
                                                {
                                                        titleFormatting = { 
prefixString = "Tagged "; formatString = "?${#flags.flag}?"; };
                                                        queryFormatting = { 
formatString = "#flags.flag = '${#flags.flag}'"; escapeSingleQuotes = 1; };
                                                };
                                                copyValues =
                                                (
                                                        { title = ''; 
valueFormatting = { formatString = '${#flags.flag.name}'; }; },
                                                        { titleFormatting = 
'Server Keyword (${#flags.flag})'; valueFormatting = { formatString = 
'${#flags.flag}'; }; },
                                                );
                                                // isTag = :true;
                                        },
                                );
                        },
                        {
                                prefix = { string = "\tAttachments:\t"; 
fontStyle = bold; color = '#777777'; };
                                formatString = "${#attachments-count/^0$//}";
                        },
                );
        };

}

Reply via email to