Gnus development mailing list
 help / color / mirror / Atom feed
* Groups which have new mails
@ 1999-04-19 21:43 Danny Siu
  1999-04-19 22:15 ` François Pinard
  1999-04-19 22:40 ` Justin Sheehy
  0 siblings, 2 replies; 9+ messages in thread
From: Danny Siu @ 1999-04-19 21:43 UTC (permalink / raw)



WIBNI one could list only the groups which has new mails?  This makes mail
reading much easier if you have tons of mail groups.

I set my gnus-group-line-format to indicate whether a group has new articles
(%m) but can't find a handy way ('A anything') of just showing them and
hiding the rest.

-- 
Danny Dick-Fung Siu        mailto:dsiu@adobe.com
Acrobat Engineering @ Adobe Systems Incorporated


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-19 21:43 Groups which have new mails Danny Siu
@ 1999-04-19 22:15 ` François Pinard
  1999-04-19 22:40 ` Justin Sheehy
  1 sibling, 0 replies; 9+ messages in thread
From: François Pinard @ 1999-04-19 22:15 UTC (permalink / raw)
  Cc: ding

Danny Siu <dsiu@Adobe.COM> writes:

> WIBNI one could list only the groups which has new mails?  This makes
> mail reading much easier if you have tons of mail groups.  I set my
> gnus-group-line-format to indicate whether a group has new articles (%m)
> but can't find a handy way ('A anything') of just showing them and hiding
> the rest.

I have tricks for achieving something similar.  Here there are.  The cleanup
has been done a bit hastily, I have to go in a few minutes, and hope I
did not forget things (tell me).  I wrote this for me alone, adjustments
might be needed for you, I do not guarantee that it works as presented.

Usage is simple.  `l' in the group buffer forces the display of groups
having messages in them, even if within some hidden topic.  `%' from the
group buffer enters a group with unread messages (and then, the group
will not be entered a second time before even newer messages get in).
`%' from the summary buffer directly switches into another group having
messages in it, that is, it jumps from summary to summary.

This is not exactly what you want, because groups do not get hidden.
But seeing `%' as a mark for new messages, and using `%' as a command
both in the group and the summary buffer, for scanning all messages,
looks consistent to me :-).

This is not part of what follows, but I also sort the threads by descending
date, so new messages tend to appear near the top of the summary.  All this
helps me to be quicker at checking for new mail after splitting occurred.



(defvar fp-gnus-call-when-no-new-mail nil
  "If non-nil, function to call when new mail is wanted and there is none.
Only used by `fp-gnus-group-next-group-with-new-mail'.")

(defun fp-unhide-groups-with-new-mail ()
  (save-excursion
    (let ((history nnmail-split-history)
	  groups)
      (while history
	(let ((assocs (pop history)))
	  (while assocs
	    (unless (member (caar assocs) groups)
	      (push (caar assocs) groups))
	    (setq assocs (cdr assocs)))))
      (while groups
	(gnus-group-jump-to-group (car groups))
	(pop groups)))))
(add-hook 'gnus-group-prepared-hook 'fp-unhide-groups-with-new-mail)

(defun fp-gnus-group-list-groups ()
  (interactive)
  (gnus-group-list-groups)
  (fp-unhide-groups-with-new-mail))

(defun fp-gnus-summary-next-group-with-new-mail ()
  "Directly enter the next newsgroup having new mail in it.
Wrap around to the beginning of the group buffer as necessary.  Merely
exits the summary buffer if no such mailgroup exists."
  (interactive)
  (gnus-summary-exit)
  (fp-gnus-group-next-group-with-new-mail))

(defun fp-gnus-group-next-group-with-new-mail ()
  "Merge any new mail, and enter the next newsgroup having new mail in it.
Wrap around to the beginning of the group buffer as necessary.  Do not move
the cursor if no such mailgroup exists.  Return nil if no new mail anymore."
  (interactive)
  (let ((here (point))
	wrapped	found)
    (let ((spool (or (getenv "MAIL")
		     (concat rmail-spool-directory (user-login-name)))))
      (switch-to-buffer gnus-group-buffer)
      (when (and (file-readable-p spool)
		 (> (nth 7 (file-attributes (file-chase-links spool))) 0))
	(gnus-group-get-new-news)))
    (fp-unhide-groups-with-new-mail)	;; FIXME!
    (while (cond ((nnmail-new-mail-p (gnus-group-group-name))
		  (gnus-group-read-group)
		  (setq found t)
		  nil)
		 ((gnus-group-search-forward))
		 (wrapped (goto-char here)
			  (if fp-gnus-call-when-no-new-mail
			      (apply fp-gnus-call-when-no-new-mail nil)
			    (gnus-message 7 "No more new mail"))
			  nil)
		 (t
		  (beginning-of-buffer)
		  (setq wrapped t)))
      nil)
    found))

(defun fp-gnus-group-get-new-news (&optional arg)
  (interactive "P")
  (gnus-group-get-new-news arg)
  (fp-gnus-group-next-group-with-new-mail))

(eval-after-load "gnus-group"
  '(gnus-define-keys gnus-group-mode-map
     "%" fp-gnus-group-next-group-with-new-mail
     "g" fp-gnus-group-get-new-news
     "l" fp-gnus-group-list-groups))

(defun fp-gnus-summary-next-group-with-new-mail ()
  "Directly enter the next newsgroup having new mail in it.
Wrap around to the beginning of the group buffer as necessary.  Merely
exits the summary buffer if no such mailgroup exists."
  (interactive)
  (gnus-summary-exit)
  (fp-gnus-group-next-group-with-new-mail))

(eval-after-load "gnus-sum"
  '(gnus-define-keys gnus-summary-mode-map
     "%" fp-gnus-summary-next-group-with-new-mail))

-- 
François Pinard                            mailto:pinard@iro.umontreal.ca
Join the free Translation Project!    http://www.iro.umontreal.ca/~pinard



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-19 21:43 Groups which have new mails Danny Siu
  1999-04-19 22:15 ` François Pinard
@ 1999-04-19 22:40 ` Justin Sheehy
  1999-04-20  1:10   ` Danny Siu
  1 sibling, 1 reply; 9+ messages in thread
From: Justin Sheehy @ 1999-04-19 22:40 UTC (permalink / raw)


Danny Siu <dsiu@Adobe.COM> writes:

> WIBNI one could list only the groups which has new mails?  This makes mail
> reading much easier if you have tons of mail groups.

That is how it works for me, without modification.

Only groups with unread messages appear in the Group buffer.  Unread
messages are close enough to 'new' messages that this is basically the
same thing.  I define 'new' as "things I haven't seen yet".

You don't do something silly like keeping messages that you've read
marked as unread, do you?   ;-)

-- 
Justin Sheehy

In a cloud bones of steel.
  




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-19 22:40 ` Justin Sheehy
@ 1999-04-20  1:10   ` Danny Siu
  1999-04-20  9:25     ` Kai.Grossjohann
                       ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Danny Siu @ 1999-04-20  1:10 UTC (permalink / raw)


Justin Sheehy writes:

  Justin> Danny Siu <dsiu@Adobe.COM> writes:
  >> WIBNI one could list only the groups which has new mails?  This makes
  >> mail reading much easier if you have tons of mail groups.

  Justin> That is how it works for me, without modification.

  Justin> Only groups with unread messages appear in the Group buffer.
  Justin> Unread messages are close enough to 'new' messages that this is
  Justin> basically the same thing.  I define 'new' as "things I haven't
  Justin> seen yet".

Guess we have a different definition of 'new' mails.  By 'new' mails I mean
mails that just get incorporated by doing 'g'.

  Justin> You don't do something silly like keeping messages that you've
  Justin> read marked as unread, do you?  ;-)

That is exactly what I do.  Why not?  I can't find better way of keeping the
articles I need to re-visit or reply.  I know about the read marks and tick
mark.  I use tick marks for articles I want to keep in the group till hell
freezes.  I don't use read marks at all because 'C-u SPC' (to see all
articles) on a group with many articles is VERY slow (at least for nnfolder
anyways.  see <yj9u2uzu83y.fsf@adobe.com>).  I explicitly bind 'd' to
gnus-summary-mark-as-expirable for article deletion.  All unread articles
are the one I need to re-visit or reply.  Also, movement commands doesn't
work well on read articles ('n'/'p' moves between unread articles only).

I think you are right in <glmlngbwzji.fsf@caffeine.mitre.org>; I haven't
fully adjusted to the Gnus Way of reading mail after 4 years of using it.

I wonder how people use marks on mail groups for the purpose of keeping
articles and indicating an need-to-be-late article.  

Any Gnus experts wanna speaks up here?

-- 
Danny Dick-Fung Siu        mailto:dsiu@adobe.com
Acrobat Engineering @ Adobe Systems Incorporated



^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-20  1:10   ` Danny Siu
@ 1999-04-20  9:25     ` Kai.Grossjohann
  1999-04-20 14:56     ` Justin Sheehy
  1999-04-20 20:35     ` Matt Armstrong
  2 siblings, 0 replies; 9+ messages in thread
From: Kai.Grossjohann @ 1999-04-20  9:25 UTC (permalink / raw)


Danny Siu <dsiu@Adobe.COM> writes:

  > I wonder how people use marks on mail groups for the purpose of
  > keeping articles and indicating an need-to-be-late article.

I'm not a Gnus expert, but here's what I do:

I do not use total-expire.  Fresh articles are unmarked.  After I read
a message, I decide what I want to do with it:
  - If it's a todo item for me, I tick it.
  - If I want to keep it, it stays marked as read.
  - If I want to delete it, I mark it as expirable.

This way, the Group buffer only shows groups with articles that I need
to deal with.  Also, after entering a group, I only see messages that
I need to deal with (plus the ones from gnus-fetch-old-headers being
t, which provide context), and I can quickly tell the new ones from
the ones I've already seen before.

As to moving, you have n/p which move to an unmarked article, and N/P
which consider read articles, too.  But moving could be improved.

As to reading lots of old articles being slow, well, I usually provide
a limit (as in `2 2 2 RET' from the Group buffer or `9 9 M-g' from the
Summary buffer).

Oh, yes, I have modified the group line format to show the number of
ticked/dormat messages (%i) as well as the number of unticked unread
messages (%y).

kai
-- 
Abort this operation?   [Abort]  [Cancel]


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-20 20:35     ` Matt Armstrong
@ 1999-04-20  9:27       ` Kai.Grossjohann
  0 siblings, 0 replies; 9+ messages in thread
From: Kai.Grossjohann @ 1999-04-20  9:27 UTC (permalink / raw)


Matt Armstrong <matt_armstrong@bigfoot.com> writes:

  > I've played around with caching articles in groups, but it is too
  > implicit.  I always forget I have cached articles since I have to
  > remember to do "/ *" to see them.  I also have this lingering fear
  > that they will go away.  The save.* group thing works out better
  > for me.

IMHO, caching in mail groups does not make sense.  Messages marked as
read aren't deleted from disk anyway, unless you use total-expire.  If
you use total-expire, you can use the dormant mark to keep messages.

kai
-- 
Abort this operation?   [Abort]  [Cancel]


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-20  1:10   ` Danny Siu
  1999-04-20  9:25     ` Kai.Grossjohann
@ 1999-04-20 14:56     ` Justin Sheehy
  1999-04-20 19:26       ` Danny Siu
  1999-04-20 20:35     ` Matt Armstrong
  2 siblings, 1 reply; 9+ messages in thread
From: Justin Sheehy @ 1999-04-20 14:56 UTC (permalink / raw)


Danny Siu <dsiu@Adobe.COM> writes:

>   Justin> You don't do something silly like keeping messages that you've
>   Justin> read marked as unread, do you? 
> 
> That is exactly what I do.  Why not? 

Because read messages are read messages.   :-)

> I can't find better way of keeping the articles I need to re-visit
> or reply.

Between unread, read, ticked and dormant, I find that I have all I need.

> I use tick marks for articles I want to keep in the group till hell
> freezes.

This is what I use the dormant mark for.

I use the tick mark for articles that I have seen, but need to do
something with.

> I don't use read marks at all because 'C-u SPC' (to see all
> articles) on a group with many articles is VERY slow (at least for
> nnfolder anyways.

For all of my normal mail groups, I use nnml.  It is the fastest
backend for opening large groups.

> I explicitly bind 'd' to gnus-summary-mark-as-expirable for article
> deletion.

I use total-expiry.  Read articles will eventually be deleted.

> All unread articles are the one I need to re-visit or reply.

For me, unread articles are unread.  Ticked messages still require
some action from me.

> Also, movement commands doesn't work well on read articles ('n'/'p'
> moves between unread articles only).

Right, and sometimes that is what you want.  If you want to move
between articles regardless of readedness, use N and P.

-- 
Justin Sheehy

In a cloud bones of steel.
  




^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-20 14:56     ` Justin Sheehy
@ 1999-04-20 19:26       ` Danny Siu
  0 siblings, 0 replies; 9+ messages in thread
From: Danny Siu @ 1999-04-20 19:26 UTC (permalink / raw)


Justin Sheehy writes:

  Justin> [...]

  >> I can't find better way of keeping the articles I need to re-visit or
  >> reply.

  Justin> Between unread, read, ticked and dormant, I find that I have all I
  Justin> need.

  >> I use tick marks for articles I want to keep in the group till hell
  >> freezes.

  Justin> This is what I use the dormant mark for.

That's right.  I never thought of using dormant mark that way. *sigh* (I use
dormant to mark articles which I want to read its followups)

  Justin> I use the tick mark for articles that I have seen, but need to do
  Justin> something with.

  >> I don't use read marks at all because 'C-u SPC' (to see all articles)
  >> on a group with many articles is VERY slow (at least for nnfolder
  >> anyways.

  Justin> For all of my normal mail groups, I use nnml.  It is the fastest
  Justin> backend for opening large groups.

Well, I think if I stick with using dormant mark and tick mark the way you
use them for, I don't even need do 'C-u SPC' ever, since '/ D' in summary
gives me all dormant articles almost instantly!  Also, I set
gnus-total-expirable-newsgroups to match all my mail groups, all read
articles are expirable right the way, therefore, no ancient articles to deal
with -> no need to do 'C-u SPC'.

  >> Also, movement commands doesn't work well on read articles ('n'/'p'
  >> moves between unread articles only).

  Justin> Right, and sometimes that is what you want.  If you want to move
  Justin> between articles regardless of readedness, use N and P.

'N' and 'P' does what I need.

Thanks Justin!
-- 
Danny Dick-Fung Siu        mailto:dsiu@adobe.com
Acrobat Engineering @ Adobe Systems Incorporated


^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: Groups which have new mails
  1999-04-20  1:10   ` Danny Siu
  1999-04-20  9:25     ` Kai.Grossjohann
  1999-04-20 14:56     ` Justin Sheehy
@ 1999-04-20 20:35     ` Matt Armstrong
  1999-04-20  9:27       ` Kai.Grossjohann
  2 siblings, 1 reply; 9+ messages in thread
From: Matt Armstrong @ 1999-04-20 20:35 UTC (permalink / raw)
  Cc: ding

On 19 Apr 1999, Danny Siu wrote:

> That is exactly what I do.  Why not?  I can't find better way of keeping the
> articles I need to re-visit or reply.  I know about the read marks and tick
> mark.  I use tick marks for articles I want to keep in the group till hell
> freezes.  I don't use read marks at all because 'C-u SPC' (to see all
> articles) on a group with many articles is VERY slow (at least for nnfolder
> anyways.  see <yj9u2uzu83y.fsf@adobe.com>).  I explicitly bind 'd' to
> gnus-summary-mark-as-expirable for article deletion.  All unread articles
> are the one I need to re-visit or reply.  Also, movement commands doesn't
> work well on read articles ('n'/'p' moves between unread articles only).
> 
> I think you are right in <glmlngbwzji.fsf@caffeine.mitre.org>; I haven't
> fully adjusted to the Gnus Way of reading mail after 4 years of using it.
> 
> I wonder how people use marks on mail groups for the purpose of keeping
> articles and indicating an need-to-be-late article.  

If I want to save a message for a long time, I move it to a different
group.  I have a whole slew of save.* groups.

If I want to mark a message as a "must keep and do something with it soon"
then I tick it with !.  Periodically, I move my ticked articles into
save.* groups or reply to them or whatever.  Having ticked articles in a
group is annoying because Gnus shows the groups to you whether you
have new mail in them or not.  This is good incentive for me to keep them
to a minimum.

Articles without a read mark are really "new" -- I've never read them.

With this scheme, Gnus just shows me relevant things -- new mail or stuff
I should act on "soon."

I've played around with caching articles in groups, but it is too
implicit.  I always forget I have cached articles since I have to
remember to do "/ *" to see them.  I also have this lingering fear that
they will go away.  The save.* group thing works out better for me.

------------------------

Come to think of it, I think it'd be nice if Gnus had a setting where it
would show by default only groups with unread articles (ticked articles
alone wouldn't be enough to have it show up).  Maybe it already does...



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~1999-04-20 20:35 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1999-04-19 21:43 Groups which have new mails Danny Siu
1999-04-19 22:15 ` François Pinard
1999-04-19 22:40 ` Justin Sheehy
1999-04-20  1:10   ` Danny Siu
1999-04-20  9:25     ` Kai.Grossjohann
1999-04-20 14:56     ` Justin Sheehy
1999-04-20 19:26       ` Danny Siu
1999-04-20 20:35     ` Matt Armstrong
1999-04-20  9:27       ` Kai.Grossjohann

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).