This layout view is a hatchet job, but it works. For each selected
message, it brings automatically brings up both the thread and all
correspondence with the correspondent. Just be sure to set the font
small enough on the thread and correspondence windows, select the
columns that make sense (for the correspondence, I use subject and date;
and for thread, I use from and date). It doesn't clear the search field,
like you wanted, but it does give you immediate access to the info you
need, without messing with the from field.
Z
On 19 Apr 2018, at 15:43, Filip Stokkeland wrote:
Hi!
When I search and find an interesting message, I'd like to read the
other emails in that thread.
But if I clear the search field, the email I found and had selected,
it disappears.
... Something obvious I'm missing? How can I just jump to the thread
of the selected email, clearing the search?
Mailmate rocks! :)
--
Filip
_______________________________________________
mailmate mailing list
mailmate@lists.freron.com
https://lists.freron.com/listinfo/mailmate
{
name = "Three Panes + Corr + Thread";
rootViewer =
{
viewerType = "MmSplitView";
orientation = "horizontal";
children =
(
{
viewerType = "MmSplitView";
orientation = "vertical";
collapsibleSubview = 2; // Incomplete support
-- no way to get it back (1 = first, 2 = last)
children =
(
{
viewerType = "MmBoxView";
orientation = "vertical";
toggleMenuTitle = "Mailboxes";
toggleKeyEquivalent = "^~@d";
children =
(
{
viewerType =
"MmMailboxesStatusBar";
},
{
identifier =
"mailboxesOutline";
viewerType =
"MmMailboxesOutlineView";
stickyMessages
= 1;
},
);
},
{
identifier = "ThreadAndCorrSplit";
viewerType = "MmSplitView";
orientation = "vertical";
// is this the panel that gets shrunk?
collapsibleSubview = 2; // Incomplete support -- no
way to get it back (1 = first, 2 = last)
children =
(
// ### Correspondence panel (Label + msgoutline
must be contained by a MmBoxView)
{
viewerType = "MmBoxView";
children =
(
{
viewerType = "MmLabelView";
label = "Correspondence";
},
{ viewerType = "MmSeparatorView"; },
{
identifier = "correspondenceOutline";
userDefaultsIdentifier = "CorrespondenceOutline";
viewerType = "MmMessagesOutlineView";
minWidth = 100;
sources = ( { sourceIdentifier =
"mainOutline"; } );
selectionSources = ( { sourceIdentifier =
"threadOutline"; } );
// Correspondence participation is when
both the sender
// and the recipient of the message(s)
selected in the
// in main (top) message list are either
the sender or
// a recipient. I.e. both can be recipients.
transformation = "$ALL_MESSAGES.filter(
(#any-address.address = $mainOutline.to.address or #any-address.name =
$mainOutline.to.name) and (#any-address.address = $mainOutline.from.address or
#any-address.name = $mainOutline.from.name) )";
defaultColumns = ( "relativeDate",
"subject", "from", "mailbox" );
outlineColumn = "relativeDate";
}, // end message list
);
}, // end of correspondance panel
// ### Thread panel (Label + msgoutline must be
contained by a MmBoxView)
{
viewerType = "MmBoxView";
children =
(
{
viewerType = "MmLabelView";
label = "Thread";
},
{ viewerType = "MmSeparatorView"; },
{
identifier = "threadOutline";
userDefaultsIdentifier = "threadOutline";
viewerType = "MmMessagesOutlineView";
minWidth = 100;
sources = ( { sourceIdentifier =
"mainOutline"; } );
selectionSources = ( { sourceIdentifier =
"mainOutline"; } );
transformation =
"$ALL_MESSAGES.filter(#thread-id =[c] $mainOutline.#thread-id)";
defaultColumns = ( "relativeDate", "from");
outlineColumn = "relativeDate";
}, // end message list
);
}, // End of Thread panel
);
toggleMenuTitle = "Thread & Correspondence View";
toggleKeyEquivalent = "^~@c";
}, // end of hideable view (panel with Thread &
Corresponence view)
);
},
{
viewerType = "MmSplitView";
orientation = "vertical";
collapsibleSubview = 2; // Incomplete support
-- no way to get it back (1 = first, 2 = last)
children =
(
{
identifier = "pathOutlineBox";
viewerType = "MmBoxView";
orientation = "vertical";
defaultSize = 250;
autoresize = 0;
children =
(
{
identifier =
"pathControl";
viewerType =
"MmPathControlView";
sources = ( {
sourceIdentifier = "mailboxesOutline"; } );
},
{ viewerType =
"MmSeparatorView"; showWithViews = ( "pathControl" ); },
{
viewerType =
"MmSplitView";
minHeight = 50;
orientation =
"horizontal";
children =
(
{
identifier = "mainOutline";
viewerType = "MmMessagesOutlineView";
// columnSettings = "outlineColumns";
sources = ( { sourceIdentifier = "pathControl"; } );
defaultSize = 350;
},
// {
//
identifier = "locator";
//
viewerType = "MmLocatorView";
//
sources = ( { sourceIdentifier = "mainOutline"; } );
//
canBecomeKeyView = 0; // Not implemented
// },
);
},
);
},
{
viewerType = "MmSplitView";
orientation = "horizontal";
children =
(
{
viewerType =
"MmBoxView";
orientation =
"vertical";
children =
(
{
identifier = "headersView";
viewerType = "MmHeadersView";
sources = ( { sourceIdentifier = "correspondenceOutline"; } );
inject = ( "headersFormatting.plist" );
},
{
viewerType = "MmSeparatorView"; showWithViews = ( "headersView" ); },
{
identifier = "tagsEditor";
viewerType = "MmTagsEditor";
sources = ( { sourceIdentifier = "correspondenceOutline"; } );
},
{
viewerType = "MmSeparatorView"; showWithViews = ( "tagsEditor" ); },
{
identifier = "blockingView";
viewerType = "MmImageBlockingView";
sources = ( { sourceIdentifier = "correspondenceOutline"; } );
transformation = "$correspondenceOutline.filter(##blocked-count exists)";
},
{
viewerType = "MmSeparatorView"; showWithViews = ( "blockingView" ); },
{
identifier = "securityView";
viewerType = "MmSecurityView";
sources = ( { sourceIdentifier = "correspondenceOutline"; } );
transformation = "$correspondenceOutline.filter(##security-problem exists)";
},
{
viewerType = "MmSeparatorView"; showWithViews = ( "securityView" ); },
{
identifier = "messageView";
viewerType = "MmWebView";
sources = ( { sourceIdentifier = "correspondenceOutline"; } );
minWidth = 175;
minHeight = 50;
},
);
}
);
toggleMenuTitle = "Message
View";
toggleKeyEquivalent = "^~@h";
},
// {
// identifier = "messageEditor";
// viewerType =
"MmMessageTextView";
// sources = ( { sourceIdentifier
= "correspondenceOutline"; } );
// minimumNumberOfMessages = 1;
// maximumNumberOfMessages = 1;
// match =
"$correspondenceOutline.filter(#flags.flag = '\\Draft')"; // Only match drafts
// },
);
},
);
};
}
_______________________________________________
mailmate mailing list
mailmate@lists.freron.com
https://lists.freron.com/listinfo/mailmate