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