Re: Dangerous space bar key (was: Preventing the user shooting themself in the foot)

2011-07-07 Thread Jameson Graef Rollins
On Thu, 07 Jul 2011 20:49:35 +0200, Matthieu Lemerre ra...@free.fr wrote:
 On Wed, 6 Jul 2011 09:25:41 -0400, Austin Clements amdra...@mit.edu wrote:
  * Make SPC mark the *current* message read and move to the next one,
  rather than moving to the next and marking it read.  This way, you're
  acknowledging the message as read once you've actually read it, rather
  than having notmuch mark it read before you've actually read it.
 
 I agree. I think it's up to the user to define whether he read the
 message. In fact as a consequence, I have no use of the 'unread' tag.

I would like to argue very strongly in favor of the current behavior of
the unread tag (since I'm actually the one that designed it).  I want
the unread flag to always just be handled automatically, being
automatically removed when I view a message without me having to do
anything.  If users want to have tags that they manually control, they
should just define those tags in the new.tags config.

jamie.


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


Re: Dangerous space bar key (was: Preventing the user shooting themself in the foot)

2011-07-07 Thread Austin Clements
Quoth Jameson Graef Rollins on Jul 07 at  1:40 pm:
 On Thu, 07 Jul 2011 20:49:35 +0200, Matthieu Lemerre ra...@free.fr wrote:
  On Wed, 6 Jul 2011 09:25:41 -0400, Austin Clements amdra...@mit.edu wrote:
   * Make SPC mark the *current* message read and move to the next one,
   rather than moving to the next and marking it read.  This way, you're
   acknowledging the message as read once you've actually read it, rather
   than having notmuch mark it read before you've actually read it.
  
  I agree. I think it's up to the user to define whether he read the
  message. In fact as a consequence, I have no use of the 'unread' tag.
 
 I would like to argue very strongly in favor of the current behavior of
 the unread tag (since I'm actually the one that designed it).  I want
 the unread flag to always just be handled automatically, being
 automatically removed when I view a message without me having to do
 anything.  If users want to have tags that they manually control, they
 should just define those tags in the new.tags config.

What I'm suggesting is no more or less automatic than the current
behavior.  It's just a slight tweak to the order in which things
happen: that SPC could remove the unread tag and then move to the next
message, rather than the other way around.  In effect, the read tag
would indicate that you've seen the bottom of the message, not just
the top.

It's also possible I would have less trouble if SPC didn't
automatically go to the next thread.  The problem I have with the
current behavior is that I often find myself accidentally marking
messages as read because notmuch showed me a message I wasn't
expecting.  This is compounded by the lack of visual feedback when
this happens (e.g., the search results don't update to indicate that
anything has changed, and even if they did, I probably wouldn't notice
that the message *had* been unread).
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: Dangerous space bar key (was: Preventing the user shooting themself in the foot)

2011-07-06 Thread Austin Clements
On Jul 5, 2011 4:23 PM, Matthieu Lemerre ra...@free.fr wrote:
 On Mon, 04 Jul 2011 17:03:51 -0700, Jameson Graef Rollins 
 jroll...@finestructure.net wrote:
 On Mon, 04 Jul 2011 23:36:35 +0200, Matthieu Lemerre ra...@free.fr wrote:
  I like to use the space (and sometimes the backspace key) to read
  threads back and forth, but sometimes I might read stuff to quickly and
  archive a thread without wanting it. It is then complex to find it back
  (especially if the thread contained a single message and I hit space
  before actually reading the message, so I can't find it again).
 
  As a workaround, I have changed the space key function
  notmuch-show-advance-and-archive to not archive the thread if we are
  at the end of the thread, but to just do nothing. Thus I have to
  expicitely archive the thread when I have finished reading it, which I
  find much safer.

 I completely agree with your discomfort with the current function bound
 to space. I don't like it at all, and I similarly rebound space to be a
 much more sensible function:

 [...]

 Notice I also made it so that this does not exit the current thread
 view.

 I patched notmuch to use exactly the same function... Given that we are
 two people who independently requested for this behaviour, I think this
 should at least be a customisable option, and imo the default should do
 nothing and not archive the thread because of this dangerous
 behaviour. And, hitting 'a' instead of space to go to the next thread is
 the same number of keypresses...

Make that two and a half (I haven't actually replaced this function,
but only for lack of time).

Had I replaced it, though, there are two variations I would have
tried.  Have you guys considered these and, if so, any thoughts?

* Make SPC mark the *current* message read and move to the next one,
rather than moving to the next and marking it read.  This way, you're
acknowledging the message as read once you've actually read it, rather
than having notmuch mark it read before you've actually read it.
notmuch's eagerness to mark things read has always bothered me.  For
example notmuch-show-archive-thread has the side-effect of marking the
first message of the next thread read (which I may not even know
exists!).  An acknowledgement-based approach seems like it would
address problems like this (so would better visual feedback, but
that's another issue).

* At the end of the thread, return to the index view.  This way, if
you want to archive the thread, you can still just press 'a', but if
you don't, you're already set to navigate to another thread.
___
notmuch mailing list
notmuch@notmuchmail.org
http://notmuchmail.org/mailman/listinfo/notmuch


Re: Dangerous space bar key (was: Preventing the user shooting themself in the foot)

2011-07-05 Thread Matthieu Lemerre
On Mon, 04 Jul 2011 17:03:51 -0700, Jameson Graef Rollins 
jroll...@finestructure.net wrote:
Non-text part: multipart/signed
 On Mon, 04 Jul 2011 23:36:35 +0200, Matthieu Lemerre ra...@free.fr wrote:
  I like to use the space (and sometimes the backspace key) to read
  threads back and forth, but sometimes I might read stuff to quickly and
  archive a thread without wanting it. It is then complex to find it back
  (especially if the thread contained a single message and I hit space
  before actually reading the message, so I can't find it again).
  
  As a workaround, I have changed the space key function
  notmuch-show-advance-and-archive to not archive the thread if we are
  at the end of the thread, but to just do nothing. Thus I have to
  expicitely archive the thread when I have finished reading it, which I
  find much safer.
 
 I completely agree with your discomfort with the current function bound
 to space.  I don't like it at all, and I similarly rebound space to be a
 much more sensible function:

[...]

 Notice I also made it so that this does not exit the current thread
 view.

I patched notmuch to use exactly the same function... Given that we are
two people who independently requested for this behaviour, I think this
should at least be a customisable option, and imo the default should do
nothing and not archive the thread because of this dangerous
behaviour. And, hitting 'a' instead of space to go to the next thread is
the same number of keypresses...

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


Re: Dangerous space bar key (was: Preventing the user shooting themself in the foot)

2011-07-04 Thread Jameson Graef Rollins
On Mon, 04 Jul 2011 23:36:35 +0200, Matthieu Lemerre ra...@free.fr wrote:
 I like to use the space (and sometimes the backspace key) to read
 threads back and forth, but sometimes I might read stuff to quickly and
 archive a thread without wanting it. It is then complex to find it back
 (especially if the thread contained a single message and I hit space
 before actually reading the message, so I can't find it again).
 
 As a workaround, I have changed the space key function
 notmuch-show-advance-and-archive to not archive the thread if we are
 at the end of the thread, but to just do nothing. Thus I have to
 expicitely archive the thread when I have finished reading it, which I
 find much safer.

I completely agree with your discomfort with the current function bound
to space.  I don't like it at all, and I similarly rebound space to be a
much more sensible function:

(defun notmuch-show-advance ()
  Advance through messages in a thread.
  (interactive)
  (let ((end-of-this-message (notmuch-show-message-bottom)))
(cond
 ;; Ideally we would test `end-of-this-message' against the result
 ;; of `window-end', but that doesn't account for the fact that
 ;; the end of the message might be hidden, so we have to actually
 ;; go to the end, walk back over invisible text and then see if
 ;; point is visible.
 ((save-excursion
(goto-char (- end-of-this-message 1))
(notmuch-show-move-past-invisible-backward)
( (point) (window-end)))
  ;; The bottom of this message is not visible - scroll.
  (scroll-up nil))
 ((not (= end-of-this-message (point-max)))
  ;; This is not the last message - move to the next visible one.
  (notmuch-show-next-open-message))
 )))

Notice I also made it so that this does not exit the current thread
view.

jamie.


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