{
	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
					// },
				);
			},
			
		);
	};
}
