Discussion:
[VM] message labels & usage pattern
Kyle Farrell
2012-03-21 18:48:00 UTC
Permalink
Hey VM folks,

Message labels are a VM feature I'm starting to pick up on more and
more. That said, I've got concerns my usage of labels may not "scale"
and am wondering how others solve for this use case.

Basically, in going through mail I'll find something I should reply
to, but maybe not immediately. What I've been doing is adding a
message label of "todo_{X}_{Y}" where X/Y may be a calendar date.
Each day I come into the office, I can create a virtual folder of
"todo_{today}", and see what I've put off and am on the hook for (at
this point I'm not too concerned about year). A minor functionality
point is it would be nice to create a virtual folder of labels
matching a regular expression.

First thing I noticed is that deleting a label from all messages does
not delete that label from the folder (all labels show up as possible
completions). So I've got a growing set of labels. Is it possible to
delete the label from the folder?

The greater question, how do others handle this use case? Save to a
"todo" folder instead?

thanks,
Kyle
Julian Bradfield
2012-03-21 20:05:07 UTC
Permalink
Post by Kyle Farrell
Basically, in going through mail I'll find something I should reply
to, but maybe not immediately. What I've been doing is adding a
message label of "todo_{X}_{Y}" where X/Y may be a calendar date.
Each day I come into the office, I can create a virtual folder of
"todo_{today}", and see what I've put off and am on the hook for (at
this point I'm not too concerned about year). A minor functionality
I do something similar but more sophisticated. For many years I've
been labelling messages that need attention with "***" (also with "**"
and "*", but these are so non-urgent they never get done;-). These get
flagged up with red summary lines.
Nowadays, I can label messages "***2012-04-03", and VM will convert
the label to "***" on the given date.
Post by Kyle Farrell
point is it would be nice to create a virtual folder of labels
matching a regular expression.
Agreed. I've almost got to the point of doing this, but still don't
have quite enough spare round tuits.
Post by Kyle Farrell
First thing I noticed is that deleting a label from all messages does
not delete that label from the folder (all labels show up as possible
completions). So I've got a growing set of labels. Is it possible to
delete the label from the folder?
There's no official API to do this. But in a live folder you can do
(unintern label vm-label-obarray)
to remove the label from the list that gets stashed when the folder is
saved.
Uday Reddy
2012-03-21 22:33:05 UTC
Permalink
Post by Julian Bradfield
I do something similar but more sophisticated. For many years I've
been labelling messages that need attention with "***" (also with "**"
and "*", but these are so non-urgent they never get done;-). These get
flagged up with red summary lines.
Nowadays, I can label messages "***2012-04-03", and VM will convert
the label to "***" on the given date.
Note that this functionality is in the file vm-sumarg.el in the contrib
directory, included in vm-8.2.0b.

Cheers,
Uday
anakreon
2012-09-05 09:59:43 UTC
Permalink
Post by Uday Reddy
Post by Julian Bradfield
I do something similar but more sophisticated. For many years I've
been labelling messages that need attention with "***" (also with "**"
and "*", but these are so non-urgent they never get done;-). These get
flagged up with red summary lines.
Nowadays, I can label messages "***2012-04-03", and VM will convert
the label to "***" on the given date.
Note that this functionality is in the file vm-sumarg.el in the contrib
directory, included in vm-8.2.0b.
Cheers,
Uday
I like this functionality but if I add vm-sumarg as a requirement in the .vm file, all operations of VM stop working with the message:
Wrong type argument: arrayp, nil

Even vm-quit will produce the same message and won't close VM. I have to restart emacs in order to restore normal operation.
Anakreontas Mentis
2012-09-07 12:06:07 UTC
Permalink
Post by anakreon
Post by Uday Reddy
Post by Julian Bradfield
I do something similar but more sophisticated. For many years I've
been labelling messages that need attention with "***" (also with "**"
and "*", but these are so non-urgent they never get done;-). These get
flagged up with red summary lines.
Nowadays, I can label messages "***2012-04-03", and VM will convert
the label to "***" on the given date.
Note that this functionality is in the file vm-sumarg.el in the contrib
directory, included in vm-8.2.0b.
Cheers,
Uday
Wrong type argument: arrayp, nil
Even vm-quit will produce the same message and won't close VM. I have to restart emacs in order to restore normal operation.
Does anyone else has this problem with vm-8.2.0b and emacs 24.2.50.3?
Anakreontas Mentis
2012-09-07 12:06:07 UTC
Permalink
Post by anakreon
Post by Uday Reddy
Post by Julian Bradfield
I do something similar but more sophisticated. For many years I've
been labelling messages that need attention with "***" (also with "**"
and "*", but these are so non-urgent they never get done;-). These get
flagged up with red summary lines.
Nowadays, I can label messages "***2012-04-03", and VM will convert
the label to "***" on the given date.
Note that this functionality is in the file vm-sumarg.el in the contrib
directory, included in vm-8.2.0b.
Cheers,
Uday
Wrong type argument: arrayp, nil
Even vm-quit will produce the same message and won't close VM. I have to restart emacs in order to restore normal operation.
Does anyone else has this problem with vm-8.2.0b and emacs 24.2.50.3?
anakreon
2012-09-05 09:59:43 UTC
Permalink
Post by Uday Reddy
Post by Julian Bradfield
I do something similar but more sophisticated. For many years I've
been labelling messages that need attention with "***" (also with "**"
and "*", but these are so non-urgent they never get done;-). These get
flagged up with red summary lines.
Nowadays, I can label messages "***2012-04-03", and VM will convert
the label to "***" on the given date.
Note that this functionality is in the file vm-sumarg.el in the contrib
directory, included in vm-8.2.0b.
Cheers,
Uday
I like this functionality but if I add vm-sumarg as a requirement in the .vm file, all operations of VM stop working with the message:
Wrong type argument: arrayp, nil

Even vm-quit will produce the same message and won't close VM. I have to restart emacs in order to restore normal operation.
Uday Reddy
2012-03-21 21:00:16 UTC
Permalink
I do something similar. I used to use two specific labels "*" and "~"
(roughly with the meaning "important - needs action" and "temporary - can be
expunged".)

Now there is a \flagged attribute which is somewhat standard. It is used by
IMAP servers and Thunderbird etc. So, I have switched from the "*" label to
\flagged.

The reason for using these single-character labels is that I can fit them
easily in message summaries without wasting too much screen real estate. I
use a single character attribute/status indicator (as opposed to the
4-character VM standard attribute columns), which have the following
possibilities

N = new
U = unseen
D = deleted
! = important/flagged
* = also means important
~ = temporary

The following summary-function creates these indicators.

(defun vm-summary-function-D (m)
(cond ((vm-deleted-flag m) "D")
((vm-new-flag m) "N")
((vm-unread-flag m) "U")
((vm-flagged-flag m) "!")
((member "*" (vm-labels-of m)) "*")
((member "~" (vm-labels-of m)) "~")
(t " ")))

One could also use color-coding of summary lines instead of status
indicators. See the "Summary Faces" section of the VM manual for the
pre-defined summary faces that could use. You can also define additional
summary faces of your own quite easily as well.
Post by Kyle Farrell
Basically, in going through mail I'll find something I should reply
to, but maybe not immediately. What I've been doing is adding a
message label of "todo_{X}_{Y}" where X/Y may be a calendar date.
Each day I come into the office, I can create a virtual folder of
"todo_{today}", and see what I've put off and am on the hook for (at
this point I'm not too concerned about year). A minor functionality
point is it would be nice to create a virtual folder of labels
matching a regular expression.
I think that, in the long run, it would be a better idea to add additional
date attributes to messages. One could be some kind of an alert/action
date. Another could be an expiration date (after which messages get
deleted or archived).
Post by Kyle Farrell
First thing I noticed is that deleting a label from all messages does
not delete that label from the folder (all labels show up as possible
completions). So I've got a growing set of labels. Is it possible to
delete the label from the folder?
I could add some functions to clean up ununused labels. I will put it on
the wish list.

Cheers,
Uday
Loading...