#1582 ✓fixreleased
Mike K

Customize email window title format string?

Reported by Mike K | November 20th, 2016 @ 04:11 AM

Ok, I've been googling and it doesn't appear this is currently possible in MailMate.

It would be great if we could customize window titles so they showed more than just the subject line - like, if I could change it so the window title would be {sender email} - {date} - {subject}.

That would make it much easier to visually scan the Window menu for what I'm looking for when I have a lot of emails open. Plus, more importantly for me, for my time tracking I use a system that records what windows I have open on my computer and for how long, and then I bill by assigning windows to projects. So, without the sender in the window title, I have to remember every single email subject associated with a project in order to bill the total time spent on on email for it. If the sender was in the window title, I could just search the logged window titles by each client's email address to easily group all emails for that client, without having to manually remember and tick off dozens of different subject lines.

It would be great to alter the window title by specifying a format string, exactly as we can specify a format string to change the titles of submailboxes of smart mailboxes. Even just a hidden preference for this would be awesome.

Either way, a subject line all by its lonesome is really not the best identifying header for an email, because many different emails can share the same subject line. Even just email address and date/time, without the subject, would be better than the subject alone.

Comments and changes to this ticket

  • benny

    benny November 21st, 2016 @ 03:18 PM

    • State changed from “new” to “fixcommitted”

    In the next update of MailMate you can try this:

    defaults write com.freron.MailMate MmWindowTitleFormatString -string '${from.address} — ${date.formatted} — ${subject}'

    That's probably a bit long in some cases though.

  • Mike K

    Mike K November 28th, 2016 @ 11:57 PM

    Beautiful, thanks! That works for me. "${date.formatted}" doesn't seem to be yielding anything though. "${date}" works although it's much longer than I need.

    Is there a comprehensive list somewhere of all those internal "${foo.bar}"-style internal field names?

  • benny

    benny November 29th, 2016 @ 09:14 AM

    It should have been ${date.#formatted}. Sorry about that.

    I'm afraid there's still not a complete list available. A (bad) workaround is to play with values in smart mailbox conditions (or submailbox partitioning) and then look in the following file to see the string generated:

    ~/Library/Application Support/MailMate/Mailboxes.plist
  • benny

    benny December 21st, 2016 @ 09:56 AM

    • State changed from “fixcommitted” to “fixreleased”
  • Mike K

    Mike K May 10th, 2017 @ 10:54 PM

    This is working really well (thanks again for that!) but there's one minor glitch remaining: When creating a new email, when you edit the subject the window title always changes to match the subject, instead of obeying the format string. It would be nice if this worked even for new emails.

  • Mike K

    Mike K September 22nd, 2018 @ 10:40 PM

    Bumping because this still isn't working... new emails show only the subject in the title bar, not the string specified in MmWindowTitleFormatString. Since I spend about 85% of my time in MailMate writing new emails, this means that my time tracking app still can't categorize most of my activity in MailMate by client unless I go through and compile a manual list of subject lines of emails I've worked on by client, which is what I was trying to avoid with the original feature request. Thanks.

  • benny

    benny September 24th, 2018 @ 01:16 PM

    Sorry about the delay (in answering the previous ticket response). It's a bit tricky to do the same in the Composer window since this should be dynamically updated based on values which have not been saved to the message yet.

    Nevertheless, I've looked into it and implemented a different approach for the Composer window which combines the entered header values (and the From-setting) and what has been saved to the message. This should work in the next update. If needed then the Composer window title can be configured differently using MmComposerTitleFormatString.

    MailMate is still hardcoded to insert “(no subject)” if the subject header value is empty.

    It might take a few days before a test release is available.

  • Mike K

    Mike K September 27th, 2018 @ 03:37 AM

    Perfect, that's what I needed. Just tested, working fine. Thanks!

    BTW, I didn't need to upload anything right now, but below, the form says "Upload Quota Reached. Please notify the account owner."

  • Mike K

    Mike K November 13th, 2019 @ 05:01 AM

    Hey there, coming back with a late-breaking issue with this.

    It would be nice if there was some sort of internal field that meant "The sender address of incoming mail OR the recipient address of outgoing mail".

    Right now, I've been using "<${to.address}>|<${cc.address}>|${subject} - ${date.#formatted}" so my time tracking program can categories emails to the right project by who they're addressed to. The problem is, I just noticed, for incoming emails, <${to.address}> is ME... so I need to use "<${from.address}>|<${to.address}>|<${cc.address}>|${subject} - ${date.#formatted}" in order for time spent reading incoming emails to get properly accounted for by my time tracking app... but that leads to some awfully long window titles.

    It would be nice if we had, say, "${otherCorrespondent.address}", meaning, "the person in this conversation who is not me".

    BTW, I've long wanted an "Other Correspondent"-type column available in mailbox list views, too... A column that always showed the person I was talking to, whether it was an incoming or outgoing email.

    . . .

    Also, about some of the old messages above, it looks like ${date.#formatted} isn't working anymore... my window titles have stopped including the dates even though my current format string is '<${from.address}>➔<${to.address}>|${subject}|${date.#formatted}|<${cc.address}>|<${bcc.address}>'. Looks like maybe you moved the hash sign?

    Not a huge deal, I just wound up changing it to '${#date.day}' instead, but I thought I'd point it out.

  • Mike K

    Mike K November 13th, 2019 @ 05:14 AM

    • no changes were found...

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