[MlMt] Defaults for subject search

Vincent Danen vdanen at linsec.ca
Mon Oct 20 17:24:24 EDT 2014


On 10/20/2014, at 14:35 PM, Benny Kjær Nielsen wrote:

> On 20 Oct 2014, at 21:58, Vincent Danen wrote:
>
>> Is there a way to specify the defaults for subject-based searching?  
>> For instance, when you click on the Subject line in an email, 
>> MailMate does a search on that subject by default which is a 
>> "related" search (I'm guessing by message-id).  The default search is 
>> "Subject -> Body" "is" "criteria"... is there a way to change that 
>> "is" by default to "contains"?
>
> Not easily. It would require customizing the set of outline columns 
> available. This is the default file:
>
> 	MailMate.app/Contents/Resources/MmMessagesOutlineView/outlineColumns.plist
>
> You would need a custom file here (create the path):
>
> 	~/Library/Application 
> Support/MailMate/Resources/MmMessagesOutlineView/outlineColumns.plist
>
> That file should just contain the `subject` column definition of the 
> original file. That would allow you to customize it. This is the 
> default query:
>
> 	queryFormatting = { formatString = "subject.body = 
> '${subject.body}'"; separator = " or "; escapeSingleQuotes = 1; };
>
> This would change it to “contains”:
>
> 	queryFormatting = { formatString = "subject.body ~ 
> '${subject.body}'"; separator = " or "; escapeSingleQuotes = 1; };
>
> I said it wasn't easy ;-)
>
>> The reason I ask is we get mails via a ticketing system for work, and 
>> it includes an ID number and it never matches the default search so 
>> I'm constantly clicking "Expand" and then making that change.
>
> Hmm, that sounds like you need to exclude the ID number from the 
> comparison. That'll require a custom specifier. Here is a starting 
> point: 
> https://www.mail-archive.com/mailmate%40lists.freron.com/msg02243.html
>
> All of this is very low level and I cannot promise that details are 
> not going to change in the future.

Ok, thank first off for the quick response!  I've tried this and it 
doesn't seem to work, but maybe I'm missing something.  I copied the 
outlineColumns.plist file to the noted directory above with the 
following contents:

//{
//	columns =
//	{
		subject =
		{
			title = "Subject"; // how can the title be easily localized?
			sortKey = "subject.blob,subject.body,subject.prefix";
			formatting =
			{
				formatString = "${subject.prefix:+${subject.prefix} 
}${subject.blob:+[${subject.blob}] }${subject.body}";
				placeholderString = "(No Subject)";
				doubleClick =
				{
					// FIXME: In this case, the style of inserted words could be bold 
or italic (well, something that looks good without the single quotes)
					titleFormatting = { prefixString = "Subject is "; formatString = 
"“${subject.body}”"; separator = " or "; };
					queryFormatting = { formatString = "subject.body ~ 
'${subject.body}'"; separator = " or "; escapeSingleQuotes = 1; };
				};
			};
			minimumWidth = 10;

			relatedSearches =
			(
				{
					titleFormatting = { formatString = "Related to 
“${subject.body}”"; separator = " or "; };
					queryFormatting = { formatString = "subject.body ~ 
'${subject.body}'"; separator = " or "; escapeSingleQuotes = 1; };
					// keyEquivalent = "s";
				},
				{
					titleFormatting = { formatString = "Related to [${subject.blob}]"; 
separator = " or "; };
					queryFormatting = { formatString = "subject.blob = 
'${subject.blob}'"; separator = " or "; escapeSingleQuotes = 1; };
				}
			);
		};
//    };
//}


As you can see, I tried it a few ways (not sure if that initial "columns 
= bit" is required but I suspect it is.  Whenever I click on the subject 
line in the header view of a message, it still comes up with "is" not 
"contains" when I hit expand.  I can tell by the wording that shows up 
when it is doing "Related to" or "Subject is" (so even when I 
double-click a message it still is doing "is").

Of course I can't tell if the file is actually being loaded or not.  Is 
there a way to tell?

Thanks so much, Benny!

--
Vincent Danen @ http://linsec.ca/


More information about the mailmate mailing list