hint: ignoring threads

2010-11-23 Thread Sebastian Spaeth
I like to ignore annoying threads, but notmuch has not easy way to
achieve it, right? Well, it actually has...

1) ok, in notmuch-show I read a message, decide the thread is uninteresting
(or annoying) and tag that message as "ignore".

2) Adding "and not tag:ignore in my saved searches doesn't help as there
are still messages without tag ignore, so notmuch search will still show
the threads. So I run this now after notmuch new: TADAA...

notmuch tag +ignore -- not tag:ignore and `notmuch search
--output=threads tag:ignore`

It seems to work, afterwords all messages in a thread where at least one
message was tagges "ignore" will be tagged "ignore" and my saved
searches suppress them.

Just wanted to share this tidbit as I can imagine plenty of usecases
where a similar scheme could be handy.

Sebastian
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 197 bytes
Desc: not available
URL: 



hint: ignoring threads

2010-11-24 Thread Michal Sojka
On Tue, 23 Nov 2010, Sebastian Spaeth wrote:
> I like to ignore annoying threads, but notmuch has not easy way to
> achieve it, right? Well, it actually has...
> 
> 1) ok, in notmuch-show I read a message, decide the thread is uninteresting
> (or annoying) and tag that message as "ignore".
> 
> 2) Adding "and not tag:ignore in my saved searches doesn't help as there
> are still messages without tag ignore, so notmuch search will still show
> the threads. So I run this now after notmuch new: TADAA...
> 
> notmuch tag +ignore -- not tag:ignore and `notmuch search
> --output=threads tag:ignore`

You should use xargs to not reach the limit of the command line length.
Something like (not tested):

notmuch search --output=threads tag:ignore | xargs notmuch tag +ignore -- not 
tag:ignore and

> It seems to work, afterwords all messages in a thread where at least one
> message was tagges "ignore" will be tagged "ignore" and my saved
> searches suppress them.
> 
> Just wanted to share this tidbit as I can imagine plenty of usecases
> where a similar scheme could be handy.

In my view, this approach has a small disadvantage: the more threads
that are tagged as "ignore" the longer time is needed to search for
them.

Since I want my initial tagging script to be as fast as possible I use a
little bit different approach. My actual implementation is more
complicated than I show here, but it can be simplified as follows:

ignored_threads=$(notmuch search tag:new|grep ignore|cut -f 1 -d ' ')
notmuch tag -new $ignored_threads

I only search the new messages and use grep to match threads where at
least one message is tagged as "ignore" (the regexp must be more complex
to match only the tag part of the search output). Finally, I untag the
ignored threads so that they do not appear in inbox (the last command of
my tagging script is notmuch tag -new +inbox tag:new).

It would be easier to write such script if we have
notmuch search --output=thread-tags, which would print only tag part of
the standard notmuch search output.

-Michal


hint: ignoring threads

2010-11-24 Thread Xavier Maillard
Hi,

On Tue, 23 Nov 2010 16:47:13 +0100, Sebastian Spaeth  
wrote:
> I like to ignore annoying threads, but notmuch has not easy way to
> achieve it, right? Well, it actually has...

If it has, it is only ugly hack in my point of view. What is missing the
most currently is scoring rules ala GNUS (formerly adaptative scoring).

> 1) ok, in notmuch-show I read a message, decide the thread is uninteresting
> (or annoying) and tag that message as "ignore".
> 
> 2) Adding "and not tag:ignore in my saved searches doesn't help as there
> are still messages without tag ignore, so notmuch search will still show
> the threads. So I run this now after notmuch new: TADAA...
> 
> notmuch tag +ignore -- not tag:ignore and `notmuch search
> --output=threads tag:ignore`

Pretty cool !

Cheers

/Xavier


hint: ignoring threads

2010-11-23 Thread Sebastian Spaeth
I like to ignore annoying threads, but notmuch has not easy way to
achieve it, right? Well, it actually has...

1) ok, in notmuch-show I read a message, decide the thread is uninteresting
(or annoying) and tag that message as "ignore".

2) Adding "and not tag:ignore in my saved searches doesn't help as there
are still messages without tag ignore, so notmuch search will still show
the threads. So I run this now after notmuch new: TADAA...

notmuch tag +ignore -- not tag:ignore and `notmuch search
--output=threads tag:ignore`

It seems to work, afterwords all messages in a thread where at least one
message was tagges "ignore" will be tagged "ignore" and my saved
searches suppress them.

Just wanted to share this tidbit as I can imagine plenty of usecases
where a similar scheme could be handy.

Sebastian


pgpIsv64jH76W.pgp
Description: PGP signature
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: hint: ignoring threads

2010-11-24 Thread Michal Sojka
On Tue, 23 Nov 2010, Sebastian Spaeth wrote:
> I like to ignore annoying threads, but notmuch has not easy way to
> achieve it, right? Well, it actually has...
> 
> 1) ok, in notmuch-show I read a message, decide the thread is uninteresting
> (or annoying) and tag that message as "ignore".
> 
> 2) Adding "and not tag:ignore in my saved searches doesn't help as there
> are still messages without tag ignore, so notmuch search will still show
> the threads. So I run this now after notmuch new: TADAA...
> 
> notmuch tag +ignore -- not tag:ignore and `notmuch search
> --output=threads tag:ignore`

You should use xargs to not reach the limit of the command line length.
Something like (not tested):

notmuch search --output=threads tag:ignore | xargs notmuch tag +ignore -- not 
tag:ignore and

> It seems to work, afterwords all messages in a thread where at least one
> message was tagges "ignore" will be tagged "ignore" and my saved
> searches suppress them.
> 
> Just wanted to share this tidbit as I can imagine plenty of usecases
> where a similar scheme could be handy.

In my view, this approach has a small disadvantage: the more threads
that are tagged as "ignore" the longer time is needed to search for
them.

Since I want my initial tagging script to be as fast as possible I use a
little bit different approach. My actual implementation is more
complicated than I show here, but it can be simplified as follows:

ignored_threads=$(notmuch search tag:new|grep ignore|cut -f 1 -d ' ')
notmuch tag -new $ignored_threads

I only search the new messages and use grep to match threads where at
least one message is tagged as "ignore" (the regexp must be more complex
to match only the tag part of the search output). Finally, I untag the
ignored threads so that they do not appear in inbox (the last command of
my tagging script is notmuch tag -new +inbox tag:new).

It would be easier to write such script if we have
notmuch search --output=thread-tags, which would print only tag part of
the standard notmuch search output.

-Michal
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: hint: ignoring threads

2010-11-24 Thread Xavier Maillard
Hi,

On Tue, 23 Nov 2010 16:47:13 +0100, Sebastian Spaeth  
wrote:
> I like to ignore annoying threads, but notmuch has not easy way to
> achieve it, right? Well, it actually has...

If it has, it is only ugly hack in my point of view. What is missing the
most currently is scoring rules ala GNUS (formerly adaptative scoring).
 
> 1) ok, in notmuch-show I read a message, decide the thread is uninteresting
> (or annoying) and tag that message as "ignore".
> 
> 2) Adding "and not tag:ignore in my saved searches doesn't help as there
> are still messages without tag ignore, so notmuch search will still show
> the threads. So I run this now after notmuch new: TADAA...
> 
> notmuch tag +ignore -- not tag:ignore and `notmuch search
> --output=threads tag:ignore`

Pretty cool !

Cheers

/Xavier
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch