#374 accepted
Martin Hilscher

Column for Showing Tags / Keywords

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

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.

Comments and changes to this ticket

  • benny

    benny April 8th, 2013 @ 07:25 AM

    • 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.

  • David Rees

    David Rees May 16th, 2014 @ 04:41 AM

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

  • benny

    benny May 17th, 2014 @ 07:06 PM

    @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'"; };
                            };
                        },
                    );
                };
            };
        };
    }
    
  • David Rees

    David Rees May 19th, 2014 @ 05:05 PM

    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; };
                //},
            );
        };
    
  • David Rees

    David Rees May 19th, 2014 @ 05:53 PM

    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!

  • benny

    benny May 19th, 2014 @ 06:58 PM

    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.

  • benny

    benny February 12th, 2015 @ 01:15 PM

    • State changed from “accepted” to “fixcommitted”

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

  • benny

    benny March 24th, 2015 @ 12:16 PM

    • State changed from “fixcommitted” to “fixreleased”

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.

New-ticket Create new ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile ยป

Mac OS X email client.

Shared Ticket Bins

People watching this ticket

Referenced by

Pages