Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

There was a problem

You must be a member of this account.

Column for Showing Tags / Keywords

#374

I'd like to have a column showing the tags/keywords of a message in the main list view of Mailmate. Currently as far as I could find there is only a "Raw Flags"-Column.

Reported by Martin Hilscher · April 7th, 2013 @ 03:38 PM

State: accepted
Milestone: none
Assigned to: benny benny

Activity

  1. benny
    benny
    • State changed from new to accepted

    You are correct, “Raw Flags” is currently the column available. Using some very low level customizations, it is possible to make your own specialized columns based on tags, but I do plan to offer a better solution (eventually).

    On Twitter you also asked about OpenMeta. Originally, I did plan to support OpenMeta, but right now I'm not so sure of the general future of OpenMeta because of App Store sandboxing. It's still on my todo, but it's a lower priority for now.

    April 8th, 2013 @ 07:25 AM

  2. David Rees
    David Rees

    Any tips on where to start on making this work with low level customizations?

    May 16th, 2014 @ 04:41 AM

  3. benny
    benny

    @David: Internally, all columns are defined in this file:

    MailMate.app/Contents/Resources/MmMessagesOutlineView/outlineColumns.plist
    

    You should copy that to this location and then edit it (you need to create the path):

    ~/Library/Application Support/MailMate/Resources/MmMessagesOutlineView/
    

    Try to see if you can figure out how it works and then you should actually delete it and create your own custom columns. Here is an example showing two tags in a Tag column (“Some Tag” and “Some Other Tag” with IMAP keywords SomeTag and SomeOtherTag). It should also search for messages with the same tags when double clicking a tag name.

    {
        columns =
        {
            tag =
            {
                title = "Tag";
                matchQueries =
                {
                    isSomeTag = "#flags.flag = 'SomeTag'";
                    isSomeOtherTag = "#flags.flag = 'SomeOtherTag'";
                };
                formatting =
                {
                    type = firstMatch;
                    children =
                    (
                        {
                            matchQuery = isSomeTag;
                            string = "Some Tag";
                            doubleClick =
                            {
                                titleFormatting = { string = "Some Tag"; };
                                queryFormatting = { string = "#flags.flag = 'SomeTag'"; };
                            };
                        },
                        {
                            matchQuery = isSomeOtherTag;
                            string = "Some Other Tag";
                            doubleClick =
                            {
                                titleFormatting = { string = "Some Other Tag"; };
                                queryFormatting = { string = "#flags.flag = 'SomeOtherTag'"; };
                            };
                        },
                    );
                };
            };
        };
    }
    

    May 17th, 2014 @ 07:06 PM

  4. David Rees
    David Rees

    Cool, thanks! Here is what I came up with. It seems to be working well for the column and also for double clicking.

    As you can see, I tried adding relatedSearches in the hopes that it would add emails with the same tags in the Correspondence pane. But that doesn't seem to be working. Am I guessing wrong about how relatedSearches works?

    Thanks,
    dave

        tags =
        {
            title = "Tags";
            minimumWidth = 30;
            //maximumWidth = 30;
            formatting = { 
        formatString = "${##tags}";
        doubleClick =
                {
                    titleFormatting = { prefixString = "Tags are "; formatString = "“${##tags}”"; separator = " or "; };
                    queryFormatting = { formatString = "##tags = '${##tags}'"; separator = " or "; };
                };
      };
     relatedSearches =
            (
                {
                    titleImage = "NSUser";
                    titleFormatting = { formatString = "“${##tags}”"; separator = " or "; };
                    queryFormatting = { formatString = "##tags = '${##tags}'"; separator = " or "; };
                }
                //{
                //  titleImage = "NSUser";
                //  titleFormatting = { formatString = "From “${from.name}”"; separator = " or "; };
                //  queryFormatting = { formatString = "from.name = '${from.name}'"; separator = " or "; escapeSingleQuotes = 1; };
                //},
            );
        };
    

    May 19th, 2014 @ 05:05 PM

  5. David Rees
    David Rees

    I just saw that the Correspondence pane contents is actually driven by the layout. I was able to use that to get a email with same tags pane layout working. I shared that with the mailing list.

    I am still interested in what relatedSearches does though. Thanks!

    May 19th, 2014 @ 05:53 PM

  6. benny
    benny

    The relatedSearches are the ones listed in the “Find Messages” menu when right-clicking a message (and this menu depends on the column right-clicked).

    Thanks for sharing with the mailing list.

    May 19th, 2014 @ 06:58 PM

  7. benny
    benny
    • State changed from accepted to fixcommitted

    Closing this ticket since the latest test releases of MailMate include Tags columns and related improvements.

    February 12th, 2015 @ 01:15 PM

  8. benny
    benny
    • State changed from fixcommitted to fixreleased

    March 24th, 2015 @ 12:16 PM

Please Sign in or create a free account to add a new ticket.

With your very own profile, you can contribute to projects, track your activity, watch tickets, receive and update tickets through your email and much more.