[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Tomi Ollila
On Tue, Aug 07 2012, Mark Walters  wrote:

> On Tue, 07 Aug 2012, Michal Nazarewicz  wrote:

[ ... ]

>> Mark Walters  writes:
>>> As an alternative approach would allowing a list of tags (or even tag
>>> changes) to apply when a message is "read" do what you want and be more
>>> flexible?
>>
>> Something like the following (not tested)?
>
> Yes this was what I had in mind. I like this (both the symmetry with
> reply tags and the added flexibility) but I will let others
> comment. (There is one small bug in your draft: see below)

I like the idea -- and the draft!

>
> Best wishes
>
> Mark

Tomi

>
>> From: Michal Nazarewicz 
>> Date: Mon, 6 Aug 2012 15:31:20 +0200
>> Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option
>>
>> The `notmuch-show-mark-read-tags' lists tags that are to be applied when
>> message is read.  By default, the only value is "-unread" which will remove
>> the unread tag.  Among other uses, this variable can be used to stop
>> notmuch-show from modifying tags when message is shown (by setting the
>> variable to an empty list).
>> ---
>>  emacs/notmuch-show.el |   12 ++--
>>  1 files changed, 10 insertions(+), 2 deletions(-)
>>
>> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
>> index dcfc190..92a4beb 100644
>> --- a/emacs/notmuch-show.el
>> +++ b/emacs/notmuch-show.el
>> @@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' 
>> input."
>>   notmuch-show-stash-mlarchive-link-alist))
>>:group 'notmuch-show)
>>  
>> +(defcustom notmuch-show-mark-read-tags '("-unread")
>> +  "List of tags to apply when message is read, ie. shown in notmuch-show
>> +buffer."
>> +  :type '(repeat string)
>> +  :group 'notmuch-show)
>> +
>> +
>>  (defmacro with-current-notmuch-show-message ( body)
>>"Evaluate body with current buffer set to the text of current message"
>>`(save-excursion
>> @@ -1383,8 +1390,9 @@ current thread."
>>(notmuch-show-get-prop :headers-visible))
>>  
>>  (defun notmuch-show-mark-read ()
>> -  "Mark the current message as read."
>> -  (notmuch-show-tag-message "-unread"))
>> +  "Apply `notmuch-show-mark-read-tags' to the message."
>> +  (when notmuch-show-mark-read-tags
>> +(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))
>
>  This needs to be (apply 'notmuch-show-tag-message ...)
>>  
>>  ;; Functions for getting attributes of several messages in the current
>>  ;; thread.
>>
>> -- 
>> Best regards, _ _
>> .o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
>> ..o | Computer Science,  Micha? ?mina86? Nazarewicz(o o)
>> ooo +--ooO--(_)--Ooo--
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Tomi Ollila
On Tue, Aug 07 2012, Mark Walters  wrote:

> On Mon, 06 Aug 2012, Michal Nazarewicz  wrote:
>> From: Michal Nazarewicz 
>>
>> Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
>> the message as read (by removing the unread tag).  Inteded for people who
>> like to mark messages read explicitly.
>> ---
>>  emacs/notmuch-show.el |   16 +---
>>  1 files changed, 13 insertions(+), 3 deletions(-)
>>
>> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
>> index d318430..85a17b1 100644
>> --- a/emacs/notmuch-show.el
>> +++ b/emacs/notmuch-show.el
>> @@ -183,6 +183,14 @@ provided with an MLA argument nor `completing-read' 
>> input."
>>   notmuch-show-stash-mlarchive-link-alist))
>>:group 'notmuch-show)
>>  
>> +(defcustom notmuch-show-auto-mark-read t
>> +  "Whether to automatically mark message as read when it is shown.  If
>> +nil, message needs to be marked as read manually for instance by
>> +removing the unread tag."
>> +  :type 'boolean
>> +  :group 'notmuch-show)
>> +
>> +
>>  (defmacro with-current-notmuch-show-message ( body)
>>"Evaluate body with current buffer set to the text of current message"
>>`(save-excursion
>> @@ -1374,9 +1382,11 @@ current thread."
>>"Are the headers of the current message visible?"
>>(notmuch-show-get-prop :headers-visible))
>>  
>> -(defun notmuch-show-mark-read ()
>> -  "Mark the current message as read."
>> -  (notmuch-show-tag-message "-unread"))
>> +(defun notmuch-show-mark-read ( force)
>> +  "Mark the current message as read if FORCE or
>> +`notmuch-show-auto-mark-read' is non-nil."
>> +  (when (or force notmuch-show-auto-mark-read)
>> +(notmuch-show-tag-message "-unread")))
>
>
> As an alternative approach would allowing a list of tags (or even tag
> changes) to apply when a message is "read" do what you want and be more
> flexible?

That's a great idea -- better than mine (just a variable which informs
which tag is to be removed) .. something like:

(defcustom notmuch-message-read-tag-changes '("-unread") "docstring" ...)

Then one can have e.g.

'() -- for no tag changes
'("-inbox" "-unread" "+read") 
'("-postilaatikko" "-lukematon" "+luettu") -- the above in finnish.


Tomi


> I am thinking of something roughly analogous to
> notmuch-message-replied-tags. I can imagine some people would like to
> remove the inbox tag automatically for example. (And since we sync with
> maildir flags the exact tag name does matter).
>
> I agree with Austin that the current unread marking is a little
> weird/unpredictable (eg notmuch-show-next-message marks a message read
> even if it is closed) but I don't think fixing that helps your use.


>
> Best wishes 
>
> Mark
>
>
> ___
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Michal Nazarewicz
>> From: Michal Nazarewicz 
>> @@ -1383,8 +1390,9 @@ current thread."
>>(notmuch-show-get-prop :headers-visible))
>>  
>>  (defun notmuch-show-mark-read ()
>> -  "Mark the current message as read."
>> -  (notmuch-show-tag-message "-unread"))
>> +  "Apply `notmuch-show-mark-read-tags' to the message."
>> +  (when notmuch-show-mark-read-tags
>> +(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))

Mark Walters  writes:
>  This needs to be (apply 'notmuch-show-tag-message ...)

Yes, it would appear you are right. :)

-- 
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Micha? ?mina86? Nazarewicz(o o)
ooo +--ooO--(_)--Ooo--
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: 



[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Michal Nazarewicz
> On Mon, 06 Aug 2012, Michal Nazarewicz  wrote:
>> @@ -1374,9 +1382,11 @@ current thread."
>>"Are the headers of the current message visible?"
>>(notmuch-show-get-prop :headers-visible))
>>  
>> -(defun notmuch-show-mark-read ()
>> -  "Mark the current message as read."
>> -  (notmuch-show-tag-message "-unread"))
>> +(defun notmuch-show-mark-read ( force)
>> +  "Mark the current message as read if FORCE or
>> +`notmuch-show-auto-mark-read' is non-nil."
>> +  (when (or force notmuch-show-auto-mark-read)
>> +(notmuch-show-tag-message "-unread")))

Mark Walters  writes:
> As an alternative approach would allowing a list of tags (or even tag
> changes) to apply when a message is "read" do what you want and be more
> flexible?

Something like the following (not tested)?

From: Michal Nazarewicz 
Date: Mon, 6 Aug 2012 15:31:20 +0200
Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option

The `notmuch-show-mark-read-tags' lists tags that are to be applied when
message is read.  By default, the only value is "-unread" which will remove
the unread tag.  Among other uses, this variable can be used to stop
notmuch-show from modifying tags when message is shown (by setting the
variable to an empty list).
---
 emacs/notmuch-show.el |   12 ++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index dcfc190..92a4beb 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' input."
 notmuch-show-stash-mlarchive-link-alist))
   :group 'notmuch-show)

+(defcustom notmuch-show-mark-read-tags '("-unread")
+  "List of tags to apply when message is read, ie. shown in notmuch-show
+buffer."
+  :type '(repeat string)
+  :group 'notmuch-show)
+
+
 (defmacro with-current-notmuch-show-message ( body)
   "Evaluate body with current buffer set to the text of current message"
   `(save-excursion
@@ -1383,8 +1390,9 @@ current thread."
   (notmuch-show-get-prop :headers-visible))

 (defun notmuch-show-mark-read ()
-  "Mark the current message as read."
-  (notmuch-show-tag-message "-unread"))
+  "Apply `notmuch-show-mark-read-tags' to the message."
+  (when notmuch-show-mark-read-tags
+(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))

 ;; Functions for getting attributes of several messages in the current
 ;; thread.

-- 
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Micha? ?mina86? Nazarewicz(o o)
ooo +--ooO--(_)--Ooo--
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: 



[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Mark Walters
On Tue, 07 Aug 2012, Michal Nazarewicz  wrote:
>> On Mon, 06 Aug 2012, Michal Nazarewicz  wrote:
>>> @@ -1374,9 +1382,11 @@ current thread."
>>>"Are the headers of the current message visible?"
>>>(notmuch-show-get-prop :headers-visible))
>>>  
>>> -(defun notmuch-show-mark-read ()
>>> -  "Mark the current message as read."
>>> -  (notmuch-show-tag-message "-unread"))
>>> +(defun notmuch-show-mark-read ( force)
>>> +  "Mark the current message as read if FORCE or
>>> +`notmuch-show-auto-mark-read' is non-nil."
>>> +  (when (or force notmuch-show-auto-mark-read)
>>> +(notmuch-show-tag-message "-unread")))
>
> Mark Walters  writes:
>> As an alternative approach would allowing a list of tags (or even tag
>> changes) to apply when a message is "read" do what you want and be more
>> flexible?
>
> Something like the following (not tested)?

Yes this was what I had in mind. I like this (both the symmetry with
reply tags and the added flexibility) but I will let others
comment. (There is one small bug in your draft: see below)

Best wishes

Mark

> From: Michal Nazarewicz 
> Date: Mon, 6 Aug 2012 15:31:20 +0200
> Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option
>
> The `notmuch-show-mark-read-tags' lists tags that are to be applied when
> message is read.  By default, the only value is "-unread" which will remove
> the unread tag.  Among other uses, this variable can be used to stop
> notmuch-show from modifying tags when message is shown (by setting the
> variable to an empty list).
> ---
>  emacs/notmuch-show.el |   12 ++--
>  1 files changed, 10 insertions(+), 2 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index dcfc190..92a4beb 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' 
> input."
>notmuch-show-stash-mlarchive-link-alist))
>:group 'notmuch-show)
>  
> +(defcustom notmuch-show-mark-read-tags '("-unread")
> +  "List of tags to apply when message is read, ie. shown in notmuch-show
> +buffer."
> +  :type '(repeat string)
> +  :group 'notmuch-show)
> +
> +
>  (defmacro with-current-notmuch-show-message ( body)
>"Evaluate body with current buffer set to the text of current message"
>`(save-excursion
> @@ -1383,8 +1390,9 @@ current thread."
>(notmuch-show-get-prop :headers-visible))
>  
>  (defun notmuch-show-mark-read ()
> -  "Mark the current message as read."
> -  (notmuch-show-tag-message "-unread"))
> +  "Apply `notmuch-show-mark-read-tags' to the message."
> +  (when notmuch-show-mark-read-tags
> +(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))

 This needs to be (apply 'notmuch-show-tag-message ...)
>  
>  ;; Functions for getting attributes of several messages in the current
>  ;; thread.
>
> -- 
> Best regards, _ _
> .o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
> ..o | Computer Science,  Micha? ?mina86? Nazarewicz(o o)
> ooo +--ooO--(_)--Ooo--


[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Mark Walters
On Mon, 06 Aug 2012, Michal Nazarewicz  wrote:
> From: Michal Nazarewicz 
>
> Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
> the message as read (by removing the unread tag).  Inteded for people who
> like to mark messages read explicitly.
> ---
>  emacs/notmuch-show.el |   16 +---
>  1 files changed, 13 insertions(+), 3 deletions(-)
>
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index d318430..85a17b1 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -183,6 +183,14 @@ provided with an MLA argument nor `completing-read' 
> input."
>notmuch-show-stash-mlarchive-link-alist))
>:group 'notmuch-show)
>  
> +(defcustom notmuch-show-auto-mark-read t
> +  "Whether to automatically mark message as read when it is shown.  If
> +nil, message needs to be marked as read manually for instance by
> +removing the unread tag."
> +  :type 'boolean
> +  :group 'notmuch-show)
> +
> +
>  (defmacro with-current-notmuch-show-message ( body)
>"Evaluate body with current buffer set to the text of current message"
>`(save-excursion
> @@ -1374,9 +1382,11 @@ current thread."
>"Are the headers of the current message visible?"
>(notmuch-show-get-prop :headers-visible))
>  
> -(defun notmuch-show-mark-read ()
> -  "Mark the current message as read."
> -  (notmuch-show-tag-message "-unread"))
> +(defun notmuch-show-mark-read ( force)
> +  "Mark the current message as read if FORCE or
> +`notmuch-show-auto-mark-read' is non-nil."
> +  (when (or force notmuch-show-auto-mark-read)
> +(notmuch-show-tag-message "-unread")))


As an alternative approach would allowing a list of tags (or even tag
changes) to apply when a message is "read" do what you want and be more
flexible? I am thinking of something roughly analogous to
notmuch-message-replied-tags. I can imagine some people would like to
remove the inbox tag automatically for example. (And since we sync with
maildir flags the exact tag name does matter).


I agree with Austin that the current unread marking is a little
weird/unpredictable (eg notmuch-show-next-message marks a message read
even if it is closed) but I don't think fixing that helps your use.

Best wishes 

Mark




Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Mark Walters
On Mon, 06 Aug 2012, Michal Nazarewicz m...@google.com wrote:
 From: Michal Nazarewicz min...@mina86.com

 Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
 the message as read (by removing the unread tag).  Inteded for people who
 like to mark messages read explicitly.
 ---
  emacs/notmuch-show.el |   16 +---
  1 files changed, 13 insertions(+), 3 deletions(-)

 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
 index d318430..85a17b1 100644
 --- a/emacs/notmuch-show.el
 +++ b/emacs/notmuch-show.el
 @@ -183,6 +183,14 @@ provided with an MLA argument nor `completing-read' 
 input.
notmuch-show-stash-mlarchive-link-alist))
:group 'notmuch-show)
  
 +(defcustom notmuch-show-auto-mark-read t
 +  Whether to automatically mark message as read when it is shown.  If
 +nil, message needs to be marked as read manually for instance by
 +removing the unread tag.
 +  :type 'boolean
 +  :group 'notmuch-show)
 +
 +
  (defmacro with-current-notmuch-show-message (rest body)
Evaluate body with current buffer set to the text of current message
`(save-excursion
 @@ -1374,9 +1382,11 @@ current thread.
Are the headers of the current message visible?
(notmuch-show-get-prop :headers-visible))
  
 -(defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +(defun notmuch-show-mark-read (optional force)
 +  Mark the current message as read if FORCE or
 +`notmuch-show-auto-mark-read' is non-nil.
 +  (when (or force notmuch-show-auto-mark-read)
 +(notmuch-show-tag-message -unread)))


As an alternative approach would allowing a list of tags (or even tag
changes) to apply when a message is read do what you want and be more
flexible? I am thinking of something roughly analogous to
notmuch-message-replied-tags. I can imagine some people would like to
remove the inbox tag automatically for example. (And since we sync with
maildir flags the exact tag name does matter).


I agree with Austin that the current unread marking is a little
weird/unpredictable (eg notmuch-show-next-message marks a message read
even if it is closed) but I don't think fixing that helps your use.

Best wishes 

Mark


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


Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Michal Nazarewicz
 On Mon, 06 Aug 2012, Michal Nazarewicz m...@google.com wrote:
 @@ -1374,9 +1382,11 @@ current thread.
Are the headers of the current message visible?
(notmuch-show-get-prop :headers-visible))
  
 -(defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +(defun notmuch-show-mark-read (optional force)
 +  Mark the current message as read if FORCE or
 +`notmuch-show-auto-mark-read' is non-nil.
 +  (when (or force notmuch-show-auto-mark-read)
 +(notmuch-show-tag-message -unread)))

Mark Walters markwalters1...@gmail.com writes:
 As an alternative approach would allowing a list of tags (or even tag
 changes) to apply when a message is read do what you want and be more
 flexible?

Something like the following (not tested)?

From: Michal Nazarewicz min...@mina86.com
Date: Mon, 6 Aug 2012 15:31:20 +0200
Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option

The `notmuch-show-mark-read-tags' lists tags that are to be applied when
message is read.  By default, the only value is -unread which will remove
the unread tag.  Among other uses, this variable can be used to stop
notmuch-show from modifying tags when message is shown (by setting the
variable to an empty list).
---
 emacs/notmuch-show.el |   12 ++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
index dcfc190..92a4beb 100644
--- a/emacs/notmuch-show.el
+++ b/emacs/notmuch-show.el
@@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' input.
 notmuch-show-stash-mlarchive-link-alist))
   :group 'notmuch-show)
 
+(defcustom notmuch-show-mark-read-tags '(-unread)
+  List of tags to apply when message is read, ie. shown in notmuch-show
+buffer.
+  :type '(repeat string)
+  :group 'notmuch-show)
+
+
 (defmacro with-current-notmuch-show-message (rest body)
   Evaluate body with current buffer set to the text of current message
   `(save-excursion
@@ -1383,8 +1390,9 @@ current thread.
   (notmuch-show-get-prop :headers-visible))
 
 (defun notmuch-show-mark-read ()
-  Mark the current message as read.
-  (notmuch-show-tag-message -unread))
+  Apply `notmuch-show-mark-read-tags' to the message.
+  (when notmuch-show-mark-read-tags
+(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))
 
 ;; Functions for getting attributes of several messages in the current
 ;; thread.

-- 
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz(o o)
ooo +email/xmpp: m...@google.com--ooO--(_)--Ooo--

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


Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Mark Walters
On Tue, 07 Aug 2012, Michal Nazarewicz m...@google.com wrote:
 On Mon, 06 Aug 2012, Michal Nazarewicz m...@google.com wrote:
 @@ -1374,9 +1382,11 @@ current thread.
Are the headers of the current message visible?
(notmuch-show-get-prop :headers-visible))
  
 -(defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +(defun notmuch-show-mark-read (optional force)
 +  Mark the current message as read if FORCE or
 +`notmuch-show-auto-mark-read' is non-nil.
 +  (when (or force notmuch-show-auto-mark-read)
 +(notmuch-show-tag-message -unread)))

 Mark Walters markwalters1...@gmail.com writes:
 As an alternative approach would allowing a list of tags (or even tag
 changes) to apply when a message is read do what you want and be more
 flexible?

 Something like the following (not tested)?

Yes this was what I had in mind. I like this (both the symmetry with
reply tags and the added flexibility) but I will let others
comment. (There is one small bug in your draft: see below)

Best wishes

Mark

 From: Michal Nazarewicz min...@mina86.com
 Date: Mon, 6 Aug 2012 15:31:20 +0200
 Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option

 The `notmuch-show-mark-read-tags' lists tags that are to be applied when
 message is read.  By default, the only value is -unread which will remove
 the unread tag.  Among other uses, this variable can be used to stop
 notmuch-show from modifying tags when message is shown (by setting the
 variable to an empty list).
 ---
  emacs/notmuch-show.el |   12 ++--
  1 files changed, 10 insertions(+), 2 deletions(-)

 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
 index dcfc190..92a4beb 100644
 --- a/emacs/notmuch-show.el
 +++ b/emacs/notmuch-show.el
 @@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' 
 input.
notmuch-show-stash-mlarchive-link-alist))
:group 'notmuch-show)
  
 +(defcustom notmuch-show-mark-read-tags '(-unread)
 +  List of tags to apply when message is read, ie. shown in notmuch-show
 +buffer.
 +  :type '(repeat string)
 +  :group 'notmuch-show)
 +
 +
  (defmacro with-current-notmuch-show-message (rest body)
Evaluate body with current buffer set to the text of current message
`(save-excursion
 @@ -1383,8 +1390,9 @@ current thread.
(notmuch-show-get-prop :headers-visible))
  
  (defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +  Apply `notmuch-show-mark-read-tags' to the message.
 +  (when notmuch-show-mark-read-tags
 +(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))

 This needs to be (apply 'notmuch-show-tag-message ...)
  
  ;; Functions for getting attributes of several messages in the current
  ;; thread.

 -- 
 Best regards, _ _
 .o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
 ..o | Computer Science,  Michał “mina86” Nazarewicz(o o)
 ooo +email/xmpp: m...@google.com--ooO--(_)--Ooo--
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Tomi Ollila
On Tue, Aug 07 2012, Mark Walters markwalters1...@gmail.com wrote:

 On Mon, 06 Aug 2012, Michal Nazarewicz m...@google.com wrote:
 From: Michal Nazarewicz min...@mina86.com

 Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
 the message as read (by removing the unread tag).  Inteded for people who
 like to mark messages read explicitly.
 ---
  emacs/notmuch-show.el |   16 +---
  1 files changed, 13 insertions(+), 3 deletions(-)

 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
 index d318430..85a17b1 100644
 --- a/emacs/notmuch-show.el
 +++ b/emacs/notmuch-show.el
 @@ -183,6 +183,14 @@ provided with an MLA argument nor `completing-read' 
 input.
   notmuch-show-stash-mlarchive-link-alist))
:group 'notmuch-show)
  
 +(defcustom notmuch-show-auto-mark-read t
 +  Whether to automatically mark message as read when it is shown.  If
 +nil, message needs to be marked as read manually for instance by
 +removing the unread tag.
 +  :type 'boolean
 +  :group 'notmuch-show)
 +
 +
  (defmacro with-current-notmuch-show-message (rest body)
Evaluate body with current buffer set to the text of current message
`(save-excursion
 @@ -1374,9 +1382,11 @@ current thread.
Are the headers of the current message visible?
(notmuch-show-get-prop :headers-visible))
  
 -(defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +(defun notmuch-show-mark-read (optional force)
 +  Mark the current message as read if FORCE or
 +`notmuch-show-auto-mark-read' is non-nil.
 +  (when (or force notmuch-show-auto-mark-read)
 +(notmuch-show-tag-message -unread)))


 As an alternative approach would allowing a list of tags (or even tag
 changes) to apply when a message is read do what you want and be more
 flexible?

That's a great idea -- better than mine (just a variable which informs
which tag is to be removed) .. something like:

(defcustom notmuch-message-read-tag-changes '(-unread) docstring ...)

Then one can have e.g.

'() -- for no tag changes
'(-inbox -unread +read) 
'(-postilaatikko -lukematon +luettu) -- the above in finnish.


Tomi


 I am thinking of something roughly analogous to
 notmuch-message-replied-tags. I can imagine some people would like to
 remove the inbox tag automatically for example. (And since we sync with
 maildir flags the exact tag name does matter).

 I agree with Austin that the current unread marking is a little
 weird/unpredictable (eg notmuch-show-next-message marks a message read
 even if it is closed) but I don't think fixing that helps your use.



 Best wishes 

 Mark


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


Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Michal Nazarewicz
 From: Michal Nazarewicz min...@mina86.com
 @@ -1383,8 +1390,9 @@ current thread.
(notmuch-show-get-prop :headers-visible))
  
  (defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +  Apply `notmuch-show-mark-read-tags' to the message.
 +  (when notmuch-show-mark-read-tags
 +(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))

Mark Walters markwalters1...@gmail.com writes:
  This needs to be (apply 'notmuch-show-tag-message ...)

Yes, it would appear you are right. :)

-- 
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz(o o)
ooo +email/xmpp: m...@google.com--ooO--(_)--Ooo--

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


Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-07 Thread Tomi Ollila
On Tue, Aug 07 2012, Mark Walters markwalters1...@gmail.com wrote:

 On Tue, 07 Aug 2012, Michal Nazarewicz m...@google.com wrote:

[ ... ]

 Mark Walters markwalters1...@gmail.com writes:
 As an alternative approach would allowing a list of tags (or even tag
 changes) to apply when a message is read do what you want and be more
 flexible?

 Something like the following (not tested)?

 Yes this was what I had in mind. I like this (both the symmetry with
 reply tags and the added flexibility) but I will let others
 comment. (There is one small bug in your draft: see below)

I like the idea -- and the draft!


 Best wishes

 Mark

Tomi


 From: Michal Nazarewicz min...@mina86.com
 Date: Mon, 6 Aug 2012 15:31:20 +0200
 Subject: [PATCH] notmuch-show: add notmuch-show-mark-read-tags option

 The `notmuch-show-mark-read-tags' lists tags that are to be applied when
 message is read.  By default, the only value is -unread which will remove
 the unread tag.  Among other uses, this variable can be used to stop
 notmuch-show from modifying tags when message is shown (by setting the
 variable to an empty list).
 ---
  emacs/notmuch-show.el |   12 ++--
  1 files changed, 10 insertions(+), 2 deletions(-)

 diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
 index dcfc190..92a4beb 100644
 --- a/emacs/notmuch-show.el
 +++ b/emacs/notmuch-show.el
 @@ -183,6 +183,13 @@ provided with an MLA argument nor `completing-read' 
 input.
   notmuch-show-stash-mlarchive-link-alist))
:group 'notmuch-show)
  
 +(defcustom notmuch-show-mark-read-tags '(-unread)
 +  List of tags to apply when message is read, ie. shown in notmuch-show
 +buffer.
 +  :type '(repeat string)
 +  :group 'notmuch-show)
 +
 +
  (defmacro with-current-notmuch-show-message (rest body)
Evaluate body with current buffer set to the text of current message
`(save-excursion
 @@ -1383,8 +1390,9 @@ current thread.
(notmuch-show-get-prop :headers-visible))
  
  (defun notmuch-show-mark-read ()
 -  Mark the current message as read.
 -  (notmuch-show-tag-message -unread))
 +  Apply `notmuch-show-mark-read-tags' to the message.
 +  (when notmuch-show-mark-read-tags
 +(apply notmuch-show-tag-message notmuch-show-mark-read-tags)))

  This needs to be (apply 'notmuch-show-tag-message ...)
  
  ;; Functions for getting attributes of several messages in the current
  ;; thread.

 -- 
 Best regards, _ _
 .o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
 ..o | Computer Science,  Michał “mina86” Nazarewicz(o o)
 ooo +email/xmpp: m...@google.com--ooO--(_)--Ooo--
 ___
 notmuch mailing list
 notmuch@notmuchmail.org
 http://notmuchmail.org/mailman/listinfo/notmuch
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-06 Thread Michal Nazarewicz
Austin Clements  writes:
> LGTM, though I wonder: Is this actually what you want, or would you be
> happy with automatic read marking if it followed a different pattern
> (perhaps a more predictable pattern)?

At the moment, I feel that's what I want.  I have a few keys set up for
addings tags like mute or delete, ie.:

 (set-key notmuch-show-mode-map key
  (notmuch-show-tag tag) (notmuch-show-next-thread t))

This adds the tag and opens the next thread, which is great, except
I sometimes don't want to mark the next thread unread.

I have two more shortcut which go to the next thread but one of them
removes unread tag.  This way, this setup does not mean I have to type
more -- I just need to conciously choose whether I want to tag current
message read or not.

> Quoth Michal Nazarewicz on Aug 06 at  4:20 pm:
>> From: Michal Nazarewicz 
>> 
>> Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
>> the message as read (by removing the unread tag).  Inteded for people who
>> like to mark messages read explicitly.

-- 
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Micha? ?mina86? Nazarewicz(o o)
ooo +--ooO--(_)--Ooo--
-- next part --
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: 



[PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-06 Thread Austin Clements
LGTM, though I wonder: Is this actually what you want, or would you be
happy with automatic read marking if it followed a different pattern
(perhaps a more predictable pattern)?

Quoth Michal Nazarewicz on Aug 06 at  4:20 pm:
> From: Michal Nazarewicz 
> 
> Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
> the message as read (by removing the unread tag).  Inteded for people who
> like to mark messages read explicitly.
> ---
>  emacs/notmuch-show.el |   16 +---
>  1 files changed, 13 insertions(+), 3 deletions(-)
> 
> diff --git a/emacs/notmuch-show.el b/emacs/notmuch-show.el
> index d318430..85a17b1 100644
> --- a/emacs/notmuch-show.el
> +++ b/emacs/notmuch-show.el
> @@ -183,6 +183,14 @@ provided with an MLA argument nor `completing-read' 
> input."
>notmuch-show-stash-mlarchive-link-alist))
>:group 'notmuch-show)
>  
> +(defcustom notmuch-show-auto-mark-read t
> +  "Whether to automatically mark message as read when it is shown.  If
> +nil, message needs to be marked as read manually for instance by
> +removing the unread tag."
> +  :type 'boolean
> +  :group 'notmuch-show)
> +
> +
>  (defmacro with-current-notmuch-show-message ( body)
>"Evaluate body with current buffer set to the text of current message"
>`(save-excursion
> @@ -1374,9 +1382,11 @@ current thread."
>"Are the headers of the current message visible?"
>(notmuch-show-get-prop :headers-visible))
>  
> -(defun notmuch-show-mark-read ()
> -  "Mark the current message as read."
> -  (notmuch-show-tag-message "-unread"))
> +(defun notmuch-show-mark-read ( force)
> +  "Mark the current message as read if FORCE or
> +`notmuch-show-auto-mark-read' is non-nil."
> +  (when (or force notmuch-show-auto-mark-read)
> +(notmuch-show-tag-message "-unread")))
>  
>  ;; Functions for getting attributes of several messages in the current
>  ;; thread.


Re: [PATCH] notmuch-show: add notmuch-show-auto-mark-read option

2012-08-06 Thread Michal Nazarewicz
Austin Clements amdra...@mit.edu writes:
 LGTM, though I wonder: Is this actually what you want, or would you be
 happy with automatic read marking if it followed a different pattern
 (perhaps a more predictable pattern)?

At the moment, I feel that's what I want.  I have a few keys set up for
addings tags like mute or delete, ie.:

 (set-key notmuch-show-mode-map key
  (notmuch-show-tag tag) (notmuch-show-next-thread t))

This adds the tag and opens the next thread, which is great, except
I sometimes don't want to mark the next thread unread.

I have two more shortcut which go to the next thread but one of them
removes unread tag.  This way, this setup does not mean I have to type
more -- I just need to conciously choose whether I want to tag current
message read or not.

 Quoth Michal Nazarewicz on Aug 06 at  4:20 pm:
 From: Michal Nazarewicz min...@mina86.com
 
 Setting `notmuch-show-auto-mark-read' to nil stops notmuch-show from marking
 the message as read (by removing the unread tag).  Inteded for people who
 like to mark messages read explicitly.

-- 
Best regards, _ _
.o. | Liege of Serenely Enlightened Majesty of  o' \,=./ `o
..o | Computer Science,  Michał “mina86” Nazarewicz(o o)
ooo +email/xmpp: m...@google.com--ooO--(_)--Ooo--

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