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

Reply via email to