Gnus development mailing list
 help / color / mirror / Atom feed
* Lots of Topics
@ 1996-03-19 13:46 John Griffith
  1996-03-19 16:47 ` David C Worenklein
  1996-03-19 20:55 ` Lars Magne Ingebrigtsen
  0 siblings, 2 replies; 4+ messages in thread
From: John Griffith @ 1996-03-19 13:46 UTC (permalink / raw)
  Cc: griffith

I have a couple requests related to topic hierarchies.

1) I would like an option to only show topics if there is something
   unread-ish in it.

   Ie. 

   Topic0
     Topic1
       group1
     Topic2
     Topic3
       group2

   Do not show Topic2 here since there is nothing in it.  This could
   really cut out uninteresting screen clutter.  Of course this also
   requires a way to show all topics even if there isn't anything in
   them.

2) Many versions ago, I tried using a really large topic hierarchy.  I
   made a topic hierarchy from the first three levels of the Dewey
   Decimal Classification (between 900 and 1000 topics).  I added
   these to gnus-topic-topology and gnus-topic-alist, but I did not
   assign any groups to gnus-topic-alist (although I have worked on
   assigning the sci.* groups to DDC).  Anyway, what I noticed when I
   did that was that exiting groups and returning to the group buffer
   was extremely slow.  I have not checked the code to find out
   exactly what's going on and have not tried this in a few versions,
   but it seemed that the topic hierarchy was being rebuilt after
   exiting groups.  If this happens, is it necessary?

   If anyone wants, I can send them the DDC hierarchy.

3) What about non-unique names for topics?

   I realize this would require a new data structure to record paths
   in the topic hierarchy, but I at least would find it useful to use
   topic names more than once.  A simple example:

   Artificial Intelligence
      Programming Languages
         comp.lang.prolog
         comp.lang.lisp
   Information Systems
      Programming Languages
         comp.lang.java

   At this point the best one could do is something like:

   Artificial Intelligence
      Programming Languages - AI
         comp.lang.prolog
         comp.lang.lisp
   Information Systems
      Programming Languages - Info Sys
         comp.lang.java
  
4) What about "linked" topics?

   Ie. topic graphs rather than topic trees.  Then you could have
   symmetric topics like:

   Artificial Intelligence
      Programming Languages    [a]
   Information Systems
      Programming Languages    [b]
   Programming Languages
      Artificial Intelligence  [a]
      Information Systems      [b]

   where "Artificial Intelligence:Programming Languages" is the same
   set of groups as  "Programming Languages:Artificial Intelligence".


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

* Re: Lots of Topics
  1996-03-19 13:46 Lots of Topics John Griffith
@ 1996-03-19 16:47 ` David C Worenklein
  1996-03-19 19:38   ` David C Worenklein
  1996-03-19 20:55 ` Lars Magne Ingebrigtsen
  1 sibling, 1 reply; 4+ messages in thread
From: David C Worenklein @ 1996-03-19 16:47 UTC (permalink / raw)
  Cc: ding

In article <199603191346.OAA18250@filippo.sfs.nphil.uni-tuebingen.de> John Griffith <griffith@sfs.nphil.uni-tuebingen.de> writes:

> From: John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
> Cc: griffith@sfs.nphil.uni-tuebingen.de
> Date: Tue, 19 Mar 1996 14:46:19 +0100
> X-From-Line: ding-request@ifi.uio.no  Tue Mar 19 10:42:29 1996
> 
> I have a couple requests related to topic hierarchies.
> 
> 1) I would like an option to only show topics if there is something
>    unread-ish in it.
> 
>    Ie. 
> 
>    Topic0
>      Topic1
>        group1
>      Topic2
>      Topic3
>        group2
> 
>    Do not show Topic2 here since there is nothing in it.  This could
>    really cut out uninteresting screen clutter.  Of course this also
>    requires a way to show all topics even if there isn't anything in
>    them.

Here's a crude patch (to 0.54)

*** gnus-topic.el       Mon Mar 18 09:05:55 1996
--- gnus-topic.new      Tue Mar 19 11:45:45 1996
***************
*** 185,195 ****
                              gnus-topic-tallied-groups)))
        (push (gnus-info-group info) gnus-topic-tallied-groups)
        (incf unread (car entry))))
      (goto-char beg)
      ;; Insert the topic line.
!     (unless silent
        (gnus-extent-start-open (point))
        (gnus-topic-insert-topic-line 
         (car type) visiblep
         (not (eq (nth 2 type) 'hidden))
         level all-entries unread))
--- 185,196 ----
                              gnus-topic-tallied-groups)))
        (push (gnus-info-group info) gnus-topic-tallied-groups)
        (incf unread (car entry))))
      (goto-char beg)
      ;; Insert the topic line.
!     (unless (or silent
!                 (= (point) (point-max)))
        (gnus-extent-start-open (point))
        (gnus-topic-insert-topic-line 
         (car type) visiblep
         (not (eq (nth 2 type) 'hidden))
         level all-entries unread))


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

* Re: Lots of Topics
  1996-03-19 16:47 ` David C Worenklein
@ 1996-03-19 19:38   ` David C Worenklein
  0 siblings, 0 replies; 4+ messages in thread
From: David C Worenklein @ 1996-03-19 19:38 UTC (permalink / raw)
  Cc: ding

> > From: John Griffith <griffith@sfs.nphil.uni-tuebingen.de>
> > 
> > I have a couple requests related to topic hierarchies.
> > 
> > 1) I would like an option to only show topics if there is something
> >    unread-ish in it.
> 
> Here's a crude patch (to 0.54)

A little to crude. Let me try again.

*** gnus-topic.new      Tue Mar 19 12:12:10 1996
--- gnus-topic.el       Mon Mar 18 09:05:55 1996
***************
*** 153,163 ****
          (make-string (* gnus-topic-indent-level level) ? ))
         (beg (progn (beginning-of-line) (point)))
         (topic (reverse topic))
         (all-entries entries)
         (unread 0)
!        info entry end real-end active)
      ;; Insert any sub-topics.
      (while topic
        (incf unread
            (gnus-topic-prepare-topic 
             (pop topic) (1+ level) list-level all
--- 153,163 ----
          (make-string (* gnus-topic-indent-level level) ? ))
         (beg (progn (beginning-of-line) (point)))
         (topic (reverse topic))
         (all-entries entries)
         (unread 0)
!        info entry end active)
      ;; Insert any sub-topics.
      (while topic
        (incf unread
            (gnus-topic-prepare-topic 
             (pop topic) (1+ level) list-level all
***************
*** 183,196 ****
                 (numberp (car entry))
                 (not (member (gnus-info-group (setq info (nth 2 entry)))
                              gnus-topic-tallied-groups)))
        (push (gnus-info-group info) gnus-topic-tallied-groups)
        (incf unread (car entry))))
-       (setq real-end (point))
      (goto-char beg)
      ;; Insert the topic line.
!     (unless (or silent (= beg real-end))
        (gnus-extent-start-open (point))
        (gnus-topic-insert-topic-line 
         (car type) visiblep
         (not (eq (nth 2 type) 'hidden))
         level all-entries unread))
--- 183,195 ----
                 (numberp (car entry))
                 (not (member (gnus-info-group (setq info (nth 2 entry)))
                              gnus-topic-tallied-groups)))
        (push (gnus-info-group info) gnus-topic-tallied-groups)
        (incf unread (car entry))))
      (goto-char beg)
      ;; Insert the topic line.
!     (unless silent
        (gnus-extent-start-open (point))
        (gnus-topic-insert-topic-line 
         (car type) visiblep
         (not (eq (nth 2 type) 'hidden))
         level all-entries unread))


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

* Re: Lots of Topics
  1996-03-19 13:46 Lots of Topics John Griffith
  1996-03-19 16:47 ` David C Worenklein
@ 1996-03-19 20:55 ` Lars Magne Ingebrigtsen
  1 sibling, 0 replies; 4+ messages in thread
From: Lars Magne Ingebrigtsen @ 1996-03-19 20:55 UTC (permalink / raw)


John Griffith <griffith@sfs.nphil.uni-tuebingen.de> writes:

> 1) I would like an option to only show topics if there is something
>    unread-ish in it.

I've added this to the Red Gnus todo list.

>    I have not checked the code to find out exactly what's going on
>    and have not tried this in a few versions, but it seemed that the
>    topic hierarchy was being rebuilt after exiting groups.  If this
>    happens, is it necessary?

Nope.  Gnus would do nearly as much work when exiting from a groups as
when doing `l'.  0.55 should fix that problem.

> 3) What about non-unique names for topics?
> 
>    I realize this would require a new data structure to record paths
>    in the topic hierarchy, but I at least would find it useful to use
>    topic names more than once.  A simple example:
> 
>    Artificial Intelligence
>       Programming Languages
>          comp.lang.prolog
>          comp.lang.lisp
>    Information Systems
>       Programming Languages
>          comp.lang.java

Yes, I can see how that might be convenient, but it might make things
kinda awkward.  Hm.  Instead of using topic names as internal
indentifiers, one could add an extra layer on top to get unique
keys...  I've added this to the Red Gnus todo list as well, but I'm
not promising anything.

> 4) What about "linked" topics?
> 
>    Ie. topic graphs rather than topic trees.  Then you could have
>    symmetric topics like:
> 
>    Artificial Intelligence
>       Programming Languages    [a]
>    Information Systems
>       Programming Languages    [b]
>    Programming Languages
>       Artificial Intelligence  [a]
>       Information Systems      [b]
> 
>    where "Artificial Intelligence:Programming Languages" is the same
>    set of groups as  "Programming Languages:Artificial Intelligence".

This one makes my head hurt.  If topic A can be inside topic B and
topic B is a sub-topic of topic A, then, uhm, things get rather
unprintable.  

Even so, it's definitely doable.  I don't think the dramatically
increased complexity would justify the rather meagre (in my opinion)
gains. 

-- 
  "Yes.  The journey through the human heart 
     would have to wait until some other time."


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

end of thread, other threads:[~1996-03-19 20:55 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1996-03-19 13:46 Lots of Topics John Griffith
1996-03-19 16:47 ` David C Worenklein
1996-03-19 19:38   ` David C Worenklein
1996-03-19 20:55 ` Lars Magne Ingebrigtsen

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).