From ferguson Sun Aug 11 15:51:28 1991
To: bajan@cs.mcgill.ca, bcn@isi.edu, brendan@cs.widener.edu
Subject: X interface to Archie using Prospero
Status: O

[Alan, I've included other addressees who I thought might be interested.]

I've taken the "standalone" Archie client posted a while back to alt.sources
and replaced its printing routines with a browser-based X interface. I
figured I'd announce this to you folks who might be particularly interested
and get some feedback before taking it to the net. The package is
available from cs.rochester.edu (192.5.53.209) in /pub/xarchie.tar.Z.
The README ought to tell you what you need to get it up (not much, I hope).

Please let me know if you try it out, especially if you have any problems
getting it to run (modulo the Prospero service timing out, which is
beyond my control). If you'd like to try it but can't connect to
quiche, let me know and I'll send you a bit of code that allows you to
play with it withotu actually sending off queries.

Thanks, George
--
George Ferguson			ARPA: ferguson@cs.rochester.edu
University of Rochester		UUCP: {decvax,rutgers}!rochester!ferguson
Rochester  NY  14627-0226	VOX:  (716) 275-2527


From bcn@cs.washington.edu Sun Aug 11 16:18:05 1991
Date: Sun, 11 Aug 91 13:17:57 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
Cc: brendan@cs.widener.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Sun, 11 Aug 91 15:51:29 EDT <9108111951.AA28577@swan.cs.rochester.edu>
Subject: X interface to Archie using Prospero
Status: O

I have made a few changes to the Prospero Archie client since the
version you started from.  I added three new query types, I changed
the argument parsing (which shouldn't affect you), made several other
changes, and I updated the uw-copyright.h file to include an e-mail
address where people could write if they had questions.  Brendan has
also made a few changes to either improve performance or to weed out
even more unnecessary code.

If you want, I can send my changes to you.  I have already sent them
to Brendan, and since you started from his release (which is a
stripped down version of the Prospero release), you might be better
off getting the changes from him.

Brendan, once all the changes I sent you have been applied can you
make a snapshot available to George so that he can run a diff against
what he got off of the net and see what can be applied to his X
client? 

I have also asked that the man pages include a warning to make naive
users aware of the fact that the Archie client accesses a server that
is shared with users on other hosts.  As such, submitting long or
large numbers of queries during peak periods not only increases the
time that they have to wait for a response, but it increases the time
that others have to wait too.  Write this in your own words.

Finally, in order to make it possible for me to keep statistics on the
use of each client (by scanning the server logs), I have been
suggesting that the clients assign unique default values of the max
hits variable.  For the stripped down client it was 95, for the
original, 100, for the Perl client 40.  I'd appreciate it if you would
pick a unique value for the X client (less than 100).  How about 90,
or 99?

	~ Cliff

From ferguson Sun Aug 11 16:27:35 1991
To: bcn@cs.washington.edu
Subject: Re: X interface to Archie using Prospero
In-Reply-To: Mail from 'bcn@cs.washington.edu'
      dated: Sun, 11 Aug 91 13:17:57 -0700
Cc: brendan@cs.widener.edu
Status: O

>From bcn@cs.washington.edu Sun Aug 11 16:18:05 1991
>Subject: X interface to Archie using Prospero
>
>[about changes to Prospero Archie client]
Great! I'll wait to hear from Brendan and compare, like you suggest.
Once we're agreed on where we are, I'll put it on the net.

Basically, I used the part of "archie.c" that processes a request as
is, but instead of printing the information, it gets added to the
browser's database. Of course all the option parsing and the like gets
done using resources, so that's gone. I use the sorting routine
unchanged, and could easily add X support for additional sort specs,
etc. I forsee no difficulty in updating what I used of yours to
whatever your latest stuff is.

>[about netiquette]
Good idea. I will add the necessary text to the man page.

>[about maxHits ]
Whatever's easiest for you is fine for me. How about I say 99 for
concreteness and make the change unless you suggest otherwise.

George
--
George Ferguson			ARPA: ferguson@cs.rochester.edu
University of Rochester		UUCP: {decvax,rutgers}!rochester!ferguson
Rochester  NY  14627-0226	VOX:  (716) 275-2527

From bcn@cs.washington.edu Sun Aug 11 17:12:07 1991
Date: Sun, 11 Aug 91 14:11:50 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Sun, 11 Aug 91 16:27:37 EDT <9108112027.AA28942@swan.cs.rochester.edu>
Subject: X interface to Archie using Prospero

OK, 99 it is.  I just compiled and started playing with xarchie.  It
compiled without any problems, but there are some bugs which I will
describe later.

Looking through the man page, please change the address for
info-prospero from cs.washington.edu to isi.edu.  I will be moving
there as soon as my thesis is handed in (the address already works).

Don't bother with the "-C" option.  It was only there for backwards
compatibility and is going away.  Also, the new search types that I
added (you will see the code when you get it from Brendan) were
combinations of -e and -r, -s, or -c (i.e. -ce -re -se).  These mean
try an exact match, and only fall back to the other search method if
the exact match finds no matches.  These types are supported by the
server itself (meaning you don't have to get back in line if the exact
match fails).

In your original message you seemed to indicate you were having
problems with timeouts.  Was this yesterday morning (the archie server
was down).  If not, can you elaborate?  Thanks.

Finally, one thing that I have asked people to include in releases if
they are basing it on Prospero code is a short description of the
other things that Prospero allows.  This is so that the people
installing the server don't think that this is all Prospero can do.
The short description can be in a separate file (for example, the way
Brendan did it in README and the file Prospero).  It should not be in
the man page, that's too visible.  (Note that I do like the reference
in the man page to the info-prospero address if people want more
information, leave that).  In any event, this isn't mandatory, it is
up to you.

Some bugs:  I did a substring query for "prospero".  The host
june.cs.washington.edu showed up in the host list twice, and each time
the directory was pub and the file prospero.tar.Z.

I believe that the correct result would have been for
june.cs.washington.edu to show up once, it to have two directories
listed, /pub and /pub/pfs/mail, and for /pub to have prospero.tar.Z,
but /pub/pfs/mail to have info-prospero.arc and prospero.arc.  In
general, I found it is unable to list multiple matches if they appear
in the same directory on the same host.

When I look at the same query and click on aix370... and /net/inet,
the mode window at the bottom is not formatted properly, the mode
actually seems to include part of the date.

Can you explain why the windows in the lower part of the screen for
size, mode, date, file, location and host are so big.  Which of these
windows will ever have more than one entry listed?  Will host and
location only contain information that also appears in the left and
middle windows in the browser?

	~ Cliff




From ferguson Sun Aug 11 17:31:27 1991
Date: Sun, 11 Aug 91 17:31:17 EDT
From: ferguson
To: bcn@cs.washington.edu
Subject: Re: X interface to Archie using Prospero
In-Reply-To: Mail from 'bcn@cs.washington.edu'
      dated: Sun, 11 Aug 91 14:11:50 -0700
Cc: ferguson@cs.rochester.edu

>From bcn@cs.washington.edu Sun Aug 11 17:12:07 1991
>Subject: X interface to Archie using Prospero
>
>[about address change]
Done. 

>Don't bother with the "-C" option.  It was only there for backwards
>compatibility and is going away.  Also, the new search types that I
>added (you will see the code when you get it from Brendan) were
>combinations of -e and -r, -s, or -c (i.e. -ce -re -se).  These mean
>try an exact match, and only fall back to the other search method if
>the exact match finds no matches.  These types are supported by the
>server itself (meaning you don't have to get back in line if the exact
>match fails).
Okay. When I see 'em I'll make up names for them, something like
"subcase-exact" ought to serve, with abbreviation "-ce" or whatever.

>In your original message you seemed to indicate you were having
>problems with timeouts.  Was this yesterday morning (the archie server
>was down).  If not, can you elaborate?  Thanks.
Yes, yesterday definitely, and previously during last week I believe.
Since telnet also timed out to quiche at that time, I put it down to
load or downtime.

>[about Prospero notice]
No problem. I meant to include the Prospero file anyway.

>Some bugs:  I did a substring query for "prospero".  The host
>june.cs.washington.edu showed up in the host list twice, and each time
>the directory was pub and the file prospero.tar.Z.
Hmmm. I just tried this and it worked exactly as expected (comparing
with the output of the non-X archie and with your description.

>In
>general, I found it is unable to list multiple matches if they appear
>in the same directory on the same host.
I don't know, I have no problem with this.

>When I look at the same query and click on aix370... and /net/inet,
>the mode window at the bottom is not formatted properly, the mode
>actually seems to include part of the date.
Again, the directory has expected modes and the date is fine. What
type of machine are you running on? I suspect a malloc/calloc/bcopy
problem. As a quick check, try setting INIT_NUM_*_STRINGS to, say, 64
in db.c so it never has to dynamically grow the string arrays that
"back" the List widgets. Then remake and try again and let me know.
If you look at set{Host,Location,File}String, you can see that it does
a calloc() (well, XtCalloc()) for the initial array, then if it has to
grow the array it does XtCalloc() and bcopy(). I'm open to
suggestions, especially since XtRealloc() dies for me since it doesn't
initialize the memory to 0 for me (there are other things to try).

>Can you explain why the windows in the lower part of the screen for
>size, mode, date, file, location and host are so big.  Which of these
>windows will ever have more than one entry listed?  Will host and
>location only contain information that also appears in the left and
>middle windows in the browser?
They're only big because I like them to line up on the left-hand edge,
which is determined in this case by the size of the browser panes,
which seem about right. If you set the borderWidth resource to 0 in
the application-defaults file, you won't even know they're that big.
You don't want them too small because scrollbars in little text
windows tend to crash, believe it or not. Does it *really* bother you?
If so, you can make them smaller by editing their widths in the
defaults; I just went with what seemed good to me.

None of them will ever have more than one thing, although I forsee
using their contents to drive an auto-ftp process in the near future
(that is, allow you to fetch the thing you've selected, or log in,
or whatever).



From bcn@cs.washington.edu Sun Aug 11 18:09:02 1991
Date: Sun, 11 Aug 91 15:08:51 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Sun, 11 Aug 91 17:31:17 EDT <9108112131.AA29600@swan.cs.rochester.edu>
Subject: X interface to Archie using Prospero

How about changing the label on the dismiss button in setting to
"Done" and asking "Save changes?" if changes were made but not
applied.  It doesn't seem intuitive to click on dismiss.

Setting INIT_NUM_*_STRING to 64 seemed to fix the problem.  I am
running on a DEC Station 5XXX (A MIPS processor).  Unfortunately, I am
not in a poition to give you guidance on this.  Perhaps you need to
bzero the newly allocated memory.

   They're only big because I like them to line up on the left-hand edge,
   which is determined in this case by the size of the browser panes,
   which seem about right. If you set the borderWidth resource to 0 in
   the application-defaults file, you won't even know they're that big.
   You don't want them too small because scrollbars in little text
   windows tend to crash, believe it or not. Does it *really* bother you?
   If so, you can make them smaller by editing their widths in the
   defaults; I just went with what seemed good to me.

No, it doesn't bother me, but then again, I wasn't talking about the
browser.  I was talking about the windows in the lower part of the
display labeled Location, Host, File, Size, Mode, and Date.  And by
big, I meant that they seem to be multiple line windows, but I can't
figure out how to get more than one line to appear in any of them?

   None of them will ever have more than one thing, although I forsee
   using their contents to drive an auto-ftp process in the near future
   (that is, allow you to fetch the thing you've selected, or log in,
   or whatever).

Prospero contains all the code necessary to automatically retrieve the
files using either FTP, or perhaps even other access methods.  I will
add you to the Prospero mailing list.  You indicated your interest is
in GUI.  Well, mine isn't, but I want to see GUIs for Prospero, so one
of the purposes of the list is to get people with different interests
and different types of expertise togther so that we can make something
really useful.  If you have any ideas on GUIs for Prospero feel free
to send them to the list.

		~ Cliff

PS: When you finally have this ready to go out, I am willing to look
    over the final release before you post it.

PPS: Here are the welcome messages for prospero and info-prospero

Welcome to INFO-PROSPERO@ISI.EDU.  This mailing list is really two one-way
mailing lists.  Send mail to INFO-PROSPERO to obtain information about
Prospero, papers, or the release.  Mail to INFO-PROSPERO will not be passed
on to subscribers.  INFO-PROSPERO is also the list to which I will send
status updates and information on how to obtain new releases.

A second mailing list, PROSPERO@ISI.EDU, is for general discussion of
PROSPERO, and initially for announcements of new sites that have come on
board, and new directories that people have created to organize the
information already accessible.  The volume on the PROSPERO mailing list
will be higher, so no one will be added unless they specifically request it.
Requests for that list should be sent to PROSPERO-REQUEST@ISI.EDU.

The fourth Prospero Alpha release is available by anonymous FTP from
cs.washington.edu.  The file pub/prospero.tar.Z (368 blocks) contains the
sources necessary to run the Prospero server and client.

I am calling this an Alpha release because the compatibility library has
only been run on three machine types.  The VAX, DEC MIPS machines, and Suns.
Adding a new system type should only require writing a five line assembly
language routine that makes a system call.  Please feed back any changes.
Bug reports are encouraged, and can be sent to BUG-PROSPERO@ISI.EDU.
--
Welcome to PROSPERO@ISI.EDU.  This mailing list is for general
discussion of Prospero, for announcements of new sites that have come
on board, and for announcements of directories that people have
created to organize the information already accessible.  Requests to
be added to or deleted from this list should be sent to:
  
        PROSPERO-REQUEST@ISI.EDU

Requests for information about prospero should be directed to:

        INFO-PROSPERO@ISI.EDU

and bug reports should go to:

        BUG-PROSPERO@ISI.EDU


From bcn@cs.washington.edu Sun Aug 11 18:37:05 1991
Date: Sun, 11 Aug 91 15:36:58 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: Clifford Neuman's message of Sun, 11 Aug 91 15:08:51 -0700 <9108112208.AA06069@june.cs.washington.edu>
Subject: X interface to Archie using Prospero

Ah, I see.  If give it a small window, those subwindows are only one
line long, but if I give xarchie a big window (by clicking on the
right button), they are then stretched to fill the whole window.  I
would think you would be much better off stretching the browser
windows (which can have multiple entries) than stretching the lower
windows which can't.

	~ Cliff

From bcn@cs.washington.edu Mon Aug 12 01:50:48 1991
Date: Sun, 11 Aug 91 22:50:41 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: Clifford Neuman's message of Sun, 11 Aug 91 17:10:16 -0700 <9108120010.AA08001@june.cs.washington.edu>
Subject: Two minor problems

I noticed that xarchie allows me to write into the status window.  Is
this intentional, or is it something that can't be avoided?

In your man page, "the query button send your", send should be sends.

Revisiting the topic of screen layout.  I think I have a better
understanding of the problem.  Is there some way of forcing the
entries which will only be a single line like those in the bottom
pane, and perhaps the query line too, not be be stretched to more than
one line.  You might also want to constrain them not to be squeezed to
less than one line.

	~ Cliff

From bcn@cs.washington.edu Mon Aug 12 11:30:29 1991
Date: Mon, 12 Aug 91 08:30:21 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Mon, 12 Aug 91 10:39:54 EDT <9108121439.AA00531@swan.cs.rochester.edu>
Subject: Xarchie layout (was Re: Two minor problems)

On the issue of trying to keep the one line windows one line, just
keep it in mind for a future improvement (or as a change you want
users to feed back to you, maybe mention it in a tobedone file that
you include with the release).

I have anther suggestion.  A new Prospero server supporting archie
just came on line: NIC.FUNET.FI.  how difficult would it be for the
host selector in the setting panel to be a pop up menu listing the
known Prospero archie servers.  It would also need an additional entry
labeled "Other" which if clicked on would allow the user to type in
a host name which it would then add to the list and select.
The list of hosts and the order in which the hosts appeared should be
a configuration option with the first one listed being the default.

By the way, dirsend (what sends messages to the server) will take a host
name that is an internet address in 128.95.1.4 notation, and it can
also take a port number in parenthesis after the host name.  This
should not be of concern to you at all since you should be able to
treat them as host name, but unfortunately when I tried setting the
host to anything other than just a host name it translated the address
to 0.0.0.0.

I am not sure how portable it is, but I used to use assembly language
code that was different for each machine type (definitely not
portable) until someone pointed out the existence of the syscall
function.  I know that it is working on all the machines Prospero runs
on, and that is a fair number.  In any event, the only reason it is
needed is because the open call has been redefined in the Prospero
compatibility library.  You could actually get by doing the same thing
that is done in pfs_fopen i.e. DISABLE_PFS(open(...)); and not have to
use the syscall.  If linked with the pcompat open, though, that itself
will do the syscall.  If linked with the normal open, then it won't.

	~ Cliff

From brendan@cs.widener.edu Mon Aug 12 12:11:20 1991
Date: Mon, 12 Aug 1991 12:10:58 -0400
From: Brendan Kehoe <brendan@cs.widener.edu>
To: ferguson@cs.rochester.edu
Cc: bcn@cs.washington.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Sun, 11 Aug 91 16:27:37 EDT <9108112027.AA28942@swan.cs.rochester.edu>
Subject: X interface to Archie using Prospero
Reply-To: brendan@cs.widener.edu

   Date: Sun, 11 Aug 91 16:27:37 EDT
   From: ferguson@cs.rochester.edu

   >From bcn@cs.washington.edu Sun Aug 11 16:18:05 1991
   >Subject: X interface to Archie using Prospero
   >
   >[about changes to Prospero Archie client]
   Great! I'll wait to hear from Brendan and compare, like you suggest.
   Once we're agreed on where we are, I'll put it on the net.

The updated copy is now in ftp.cs.widener.edu:/pub/atest.tar.Z.  It
encorporates all changes so far [options, man page, Prospero, etc].
Any suggestions, etc, are welcome.  Sometime this week I was planning
on sending it in to Kent for comp.sources.misc.  (He asked that I post
it there instead of alt.sources.)  I think it's sufficiently mutated
from the original [~50k in diffs] to warrant it.  Perhaps you [George]
and I can coordinate them, so Kent can release 'em simultaneously?  At
your discretion.

Brendan

P.S. There's still a problem with inexplicable repeated timeouts on
a couple of systems.  I haven't been able to figure 'em out yet.  If
they're still happening to the people when I'm ready to send the kit
off, I'll make a mention in the README of the isolated cases.  Mebbe
others will come out of the woodwork.

--
     Brendan Kehoe - Widener Sun Network Manager - brendan@cs.widener.edu
  Widener University in Chester, PA                A Bloody Sun-Dec War Zone
  "And clever rogues with far less valid cause, have trapped their victims
                       in a web of laws." --- Moliere

From brendan@cs.widener.edu Mon Aug 12 12:22:50 1991
Date: Mon, 12 Aug 1991 12:22:26 -0400
From: Brendan Kehoe <brendan@cs.widener.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Mon, 12 Aug 91 12:19:05 EDT <9108121619.AA01590@swan.cs.rochester.edu>
Subject: X interface to Archie using Prospero
Reply-To: brendan@cs.widener.edu

Yup, comp.sources.x would be better.

I'll put display_link and sort_ins_link into a separate file of their
own, say procquery.c.  That way the only differences between yours &
mine fundamentally will be archie.c vs xarchie.c.

Brendan

From bcn@cs.washington.edu Mon Aug 12 15:01:55 1991
Date: Mon, 12 Aug 91 12:01:25 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: brendan@cs.widener.edu, ferguson@cs.rochester.edu, ccw@deakin.oz.au
Cc: bajan@cs.mcgill.ca
In-Reply-To: Brendan Kehoe's message of Mon, 12 Aug 1991 12:10:58 -0400 <199108121610.AA01208@shirley.cs.widener.edu>
Subject: X interface to Archie using Prospero

Brendan, I don't recall if I already sent this...  Anyway, the server
on nic.funet.fi is now running.  You might want to list this as one of
the hosts to choose from when configuring archie.h.

Brendan and George, The third archie site (which is not yet running
Prospero) is deakin.oz.au.  You might want to contact someone there to
find out if they want their site listed too in your releases.  If they
do, it would be with the understanding that they would have the
Prospero server up soon.

George, for quiche.cs.mcgill.ca, you would probably be better off
using the alias archie.cs.mcgill.ca.  I expect that that alias is more
stable should they move archie to a different machine.  

Craig, do you want your site mentioned in releases of clients that
access the Archie database over the network?  Also, is their a stable
domain name alias which will be updated to point to the new address
you move archie to a new machine.

	~ Cliff

From bcn@cs.washington.edu Mon Aug 12 16:14:23 1991
Date: Mon, 12 Aug 91 13:14:11 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
Cc: brendan@cs.widener.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Mon, 12 Aug 91 15:56:26 EDT <9108121956.AA03937@swan.cs.rochester.edu>
Subject: latest archie

George, Brendan,

	   query(host,string,maxhits,offset,query_type)
	   char *host,*string;
	   int maxhits,offset;
	   char query_type;

I am willing to add this interface to the Prospero release if you add
it and feed it back to me.  I may make changes to the distribution of
functions across files, but it would be compatible at the interface
level.  However, shouldn't this specify a sort method.  Or should it
return a list of virtual links to be sorted and displayed by the
caller.  I don't think that the sort or display method should be
embedded within this function unless the procedures are passed as
arguments.

	~ Cliff


From brendan@cs.widener.edu Mon Aug 12 16:34:24 1991
Date: Mon, 12 Aug 1991 16:33:34 -0400
From: Brendan Kehoe <brendan@cs.widener.edu>
To: bcn@cs.washington.edu
Cc: ferguson@cs.rochester.edu, brendan@cs.widener.edu
In-Reply-To: Clifford Neuman's message of Mon, 12 Aug 91 13:14:11 -0700 <9108122014.AA06207@june.cs.washington.edu>
Subject: latest archie
Reply-To: brendan@cs.widener.edu


Here's what I've come up with:

query(host, string, max_hits, offset, query_type, sorter, display)
     char *host, *string;
     int max_hits, offset;
     char query_type;
     int (*sorter)();
     int (*display)();

Archie passes sort_ins_link and display_link in for sorter & display.
Whatcha think?

Brendan

From bcn@cs.washington.edu Mon Aug 12 16:55:38 1991
Date: Mon, 12 Aug 91 13:55:18 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: brendan@cs.widener.edu, ferguson@cs.rochester.edu
In-Reply-To: Brendan Kehoe's message of Mon, 12 Aug 1991 16:17:08 -0400 <199108122017.AA01902@shirley.cs.widener.edu>
Subject: latest archie

If I am going to add the interface to the full Prospero distribution
it should be named something like archie_query (so that it doesn't
conflict with any other query routine someone might link it with) and
it should accept arguments through global variables (extremely
important if any one decides to call it from a multi-threaded
program).

It should accept a sort function that takes two links as arguments and
does a comparison.  If null, a default function which does the
comparison by host, then filename, should be used.  The archie_query
routine should also take as a final argument a set of flags.  One of
which indicates that no sorting is to be done.

Note: even in the case with no sorting, you still have to read through
the links to do the translation of the directory names that come back
in the form ARCHIE/HOST.  There should also be a flag that indicates
that this translation is to be suppressed.

archie_query should return the list of matches as a list of virtual
links.  It should not do the displaying itself, though you can wrap
display link around the call to archie_query.  I want the virtual
links exposed to the application since they might be able to do
interesting things with them (like pass them to pfs_open().  

After reading Georges message, my preference is:

   VLINK archie_query(host,string,maxhits,offset,query_type,comp_proc,flags)
      char *host,*string;	
      int maxhits,offset;
      char query_type;
      int (*comp_proc)()
      int flags;

flags:  0x01  NOSORT
        0x02  Do not translate ARCHIE/HOST responses

On error, return NULL with error code in perrno.

How does this sound?

	~ Cliff


From brendan@cs.widener.edu Tue Aug 13 11:24:39 1991
Date: Tue, 13 Aug 1991 11:24:24 -0400
From: Brendan Kehoe <brendan@cs.widener.edu>
To: ferguson@cs.rochester.edu
Cc: bcn@cs.washington.edu, brendan@cs.widener.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Tue, 13 Aug 91 10:21:18 EDT <9108131421.AA14432@swan.cs.rochester.edu>
Subject: latest archie
Reply-To: brendan@cs.widener.edu

   Date: Tue, 13 Aug 91 10:21:18 EDT
   From: ferguson@cs.rochester.edu

   If you guys think it belongs there rather than in applications,
   then that's fine by me. Just send me the spec and the code and I'll
   try it out.

If there's a legitimate use for it beyond these clients, then it's
appropriate for full inclusion; if it'll never be really touched
beyond these, then why bother?

   That's what I thought... :-) Actually, I volunteered to do what was
   necessary at the application level, and my offer stands.

Offer taken over here. :-)  Go for it.  [atest.tar.Z's current]

   Brendan: One small point about the new search options. It would be
	   easier for my X option parsing if you could make separate
	   arguments for the new search modes, rather than using the
	   presence of -e to trigger the difference. For example, "-es",
	   "-ec" and "-er" are what I put in right now. I can do what you
	   did, but it would be uglier and I think people would rather
	   run the arguments together anyway (like most programs allow).
	   What do you think?

I think I have to defer this one to Cliff -- it's his option. :)

But thinking about it, for your X client, you could have a switch that
could be toggled called `Exact'; if it's on, it tries an exact match
before relegating to the regexp/case-depended search [equivalent of -e
with c or r or s]; if it's off, it's as if they just did -c -r or -s.

Brendan

From bajan@mocha.cc.mcgill.ca Wed Aug 14 16:43:31 1991
From: bajan@mocha.cc.mcgill.ca
Date: Wed, 14 Aug 1991 16:40:59 -0400
In-Reply-To: Clifford Neuman's message as of Aug 12, 12:01
X-Mailer: Mail User's Shell (7.2.2 4/12/91)
To: ferguson@cs.rochester.edu
Subject: Re: X interface to Archie using Prospero
Cc: bcn@cs.washington.edu, brendan@cs.widener.edu, archie-l@oliver

Hi George,
	I finally got around yesterday to taking a look at the X client.
I like it. Very usable and pretty much intuitive which is what you want
from a user interface. I have a couple of suggestions:

Since the stuff like size, mode etc are specific to the files themselves,
I was thinking that you might want to put them under the rightmost
column. They don't take up much room and you could list it all there.
Similar thing for the host (under the leftmost column) and location
(middle). Archie will probably be providing more host information for
Version 3 (timezone and optionally physical location I hope), and this
would fit nicely into that scheme. This means that you would have to put
the "search term" somewhere else, but It might fit nicely above the
columns anyway. 

A 'help' facilty could pretty easily be lifted from archie's current
faciltity (the text that is). Combined with a text widget, there
shouldn't be too much work involved (he says casually).

Last thing to note is that the other database(s) that archie is(will be)
keeping track of, such as the "whatis" database, will probably be
accessible through the Prospero protocol sometime after Cliff finishes
his thesis (RSN, right Cliff ? :-), so you might want to make
accommodations for that in the General Scheme of Things.

That's my nickel.



-Alan

From bcn@cs.washington.edu Thu Aug 15 01:18:52 1991
Date: Wed, 14 Aug 91 22:18:38 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Wed, 14 Aug 91 23:49:25 EDT <9108150349.AA29533@swan.cs.rochester.edu>
Subject: New Xarchie ready for testing

I haven't yet tried it out (I need an X display to do so), but I have
some general comments.  I'll send you comments on the program itself
once I try it out.

In the man pages, you may have the meanings of two of the options
backwards.  'S' and -s means case insensitive, 'C' and -c means case
sensitive (probably a mistake, but too late now - my excuse - I grew
up on a tops-20 machine where file names were case insensitive).

In you discussion of nice, keep in mind (and perhaps point out to the
user) that nicing a job does not mean your job won't affect others.
In particular, once you job begins, it is not pre-empted, thus you
should still avoid long jobs during busy periods.

Also, it's not just big jobs that should be niced.  I don't know how
to phrase this delicately, but it is jobs that are of personal nature
(you might mention games as an example if you don't want to state what
we mean in the man page - and I'd advise against coming right out and
saying x-rated gif files since all we need is more bureaucrats going
on witch hunts).

How about adding a redundant nice button right next to the query
button.  This way you could get to it without going through the
setting panel (you should be able to get to it through setting too).
If you click and hold on it you should get a pop up menu.  If you just
click on it, it sets the nice to 35765.  This button might also double
as an indicator.  It could be shaded whenever the nice value is greater
than 0 (who knows, maybe even greyscale with the higher the number,
the darker the button - just kidding).

In the documentation, I would prefer if you listed the maximum nice as
35765.  Let them enter the two lower values if they really want, but
don't tell them they can do so.  If they enter a number greater than
35767, then replace their number with 35765.  The last to numbers must
be entered exactly to get them.  The same applies on the negative
side, if less than -35768, peg it to -35765.  As is already the case
though, don't tell them they can enter negative numbers.

I am glad to see the comments in the ftp.c file about using Prospero in
the future.  In fact, you will find that the prospero interface
supports more than just FTP as access methods, it also supports AFS
and NFS if those methods are supported by both your machine and the
archive site (though at the moment, archie will never tell you to use
those methods).

Finally, on the checking for GIF searches, I think you are going to
get a lot of false positives from your regular expression checker.
For example as search for "foo" will trigger it.  Also keep in mind
that on the archie host, the regular expression is surrounded by a
".*" on each side, which I don't think re-exec does.  I'd suggest
leaving that one out, though checking the search string for and ending
of "gif" or ".gif" is probably fine.

	~ Cliff

From bcn@cs.washington.edu Thu Aug 15 01:49:52 1991
Date: Wed, 14 Aug 91 22:49:27 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: brendan@cs.widener.edu
Cc: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Wed, 14 Aug 91 23:49:25 EDT <9108150349.AA29533@swan.cs.rochester.edu>
Subject: The -N option

Brendan, here is the latest change to the argument parsing for the
nice option.  I am including a file rdgram.h which includes the limits
for the priorities.

George, I don't think the parsing should affect you, but you might
want to use the rdgram.h file for setting you limits.

	~ Cliff
---rdgram.h---
/*
 * Copyright (c) 1991 by the University of Washington
 *
 * For copying and distribution information, please see the file
 * <uw-copyright.h>.
 */

#include <uw-copyright.h>

/* Queuing priorities for datagrams */
#define	       RDGRAM_MAX_PRI   32765  /* Maximum user proiority          */
#define	       RDGRAM_MAX_SPRI  32767  /* Maximum priority for system use */
#define	       RDGRAM_MIN_PRI  -32765  /* Maximum user proiority          */
#define	       RDGRAM_MIN_SPRI -32768  /* Maximum priority for system use */
---
*** archie.c.old	Wed Aug 14 20:46:38 1991
--- archie.c	Wed Aug 14 22:30:00 1991
***************
*** 18,23 ****
--- 18,24 ----
  
  #include <pfs.h>
  #include <perrno.h>
+ #include <rdgram.h>
  
  #define ARCHIE_HOST "ARCHIE.CS.MCGILL.CA"
  
***************
*** 84,92 ****
  		    cur_arg += strspn(cur_arg,"0123456789");
  		    break;
  
! 		case 'N':  /* Priority (nice, max 32767) */
! 		    rdgram_priority = 32765; /* Default nice */
  		    sscanf(cur_arg,"%d",&rdgram_priority);
  		    cur_arg += strspn(cur_arg,"-0123456789");
  		    break;
  
--- 85,97 ----
  		    cur_arg += strspn(cur_arg,"0123456789");
  		    break;
  
! 		case 'N':  /* Priority (nice) */
! 		    rdgram_priority = RDGRAM_MAX_PRI; /* Default nice */
  		    sscanf(cur_arg,"%d",&rdgram_priority);
+ 		    if(rdgram_priority > RDGRAM_MAX_SPRI) 
+ 			rdgram_priority = RDGRAM_MAX_PRI;
+ 		    if(rdgram_priority < RDGRAM_MIN_SPRI) 
+ 			rdgram_priority = RDGRAM_MIN_PRI;
  		    cur_arg += strspn(cur_arg,"-0123456789");
  		    break;
  

From bcn@cs.washington.edu Thu Aug 15 11:12:14 1991
Date: Thu, 15 Aug 91 08:11:56 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Wed, 14 Aug 91 23:56:10 EDT <9108150356.AA03807@nectarine.cs.rochester.edu>
Subject: Comments on the new xarchie

I had problems running make depend until I realized that xmkmf must be
run in Ad2c and EzMenu in addition to the top level directory.

Also ld didn't find smeLineObject class when it went to link xarchie.
I don't know what this problem is, so I havn't been able to compile
it.

	~ Cliff


From bajan@mocha.cc.mcgill.ca Thu Aug 15 12:46:34 1991
From: bajan@mocha.cc.mcgill.ca
Date: Thu, 15 Aug 1991 12:44:18 -0400
In-Reply-To: ferguson@cs.rochester.edu's message as of Aug 14, 23:49
X-Mailer: Mail User's Shell (7.2.2 4/12/91)
To: ferguson@cs.rochester.edu, bcn@isi.edu, brendan@cs.widener.edu
Subject: Re: New Xarchie ready for testing

> 4. I put very rudimentary ftp support in, using popen() to /usr/ucb/ftp.
>    I'd welcome alternatives, but I think this is good enough for now.

When I get the chance (yeah, right :-) I'd like to take a look at the
various ftp clients that are around with a view to building an "ftp
library", ie a programmatic interface to ftp. I'd think this would be
fairly easy to do.

> I'd appreciate any feedback you folks could offer, and I'll ship it if
> you think it's acceptable.

I'd like to see the incorporation of the "site" command into the various
clients (get the listing of an entire site). Although I don't use it much
myself (but then again I have access to the raw listings whenever I
want), it seems that a lot of people use the facility. In the case of the
X client, popping up a window with a scrollbar should be adequate. 

I don't believe this is absolutely necessary, but would be an enhancement
of the clients.



-Alan

From bcn@cs.washington.edu Thu Aug 15 12:55:27 1991
Date: Thu, 15 Aug 91 09:54:52 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: bajan@mocha.cc.mcgill.ca
Cc: ferguson@cs.rochester.edu, brendan@cs.widener.edu
In-Reply-To: bajan@mocha.cc.mcgill.ca's message of Thu, 15 Aug 1991 12:44:18 -0400 <9108151644.AA12245@mocha.cc.mcgill.ca>
Subject: New Xarchie ready for testing

   From: bajan@mocha.cc.mcgill.ca
   Date: Thu, 15 Aug 1991 12:44:18 -0400

   When I get the chance (yeah, right :-) I'd like to take a look at the
   various ftp clients that are around with a view to building an "ftp
   library", ie a programmatic interface to ftp. I'd think this would be
   fairly easy to do.

I have already done so.  Look at aftpget.c in user/vcache in the
Prospero distribution. 

   I'd like to see the incorporation of the "site" command into the various
   clients (get the listing of an entire site). Although I don't use it much
   myself (but then again I have access to the raw listings whenever I
   want), it seems that a lot of people use the facility. In the case of the
   X client, popping up a window with a scrollbar should be adequate. 

This is done using the "HOST" query type for the Prospero server,
though it only lists a directory at a time.  

George, If you take a non-translated directory link returned by
archie_query and pass it back into get_vdir (this means the calling
get_vdir(vl->host,vl->filename,"",dir,GVD_ATTRIB|GVD_NOSORT,NULL,NULL)
you should get back a list of the files in the directory.

	~ Cliff

From @boris.teleos.com:wixson@teleos.COM Mon Aug 12 19:11:24 1991
To: ferguson@cs.rochester.EDU, light@cs.rochester.EDU, hoebel@cs.rochester.EDU,
        crovella@cs.rochester.EDU
Subject: sabres
Date: Mon, 12 Aug 91 15:21:18 -0700
From: wixson@teleos.COM


Well it's that time of year again.  I've just received an invitation
from the Sabres to purchase season tickets.  Their motto this year is
"You bring the thunder.  We'll supply the lightning." (I'm sure with
some minimal effort George will come up with a good parody of this
motto.)  With a pretty neat picture/graphic of Alex Mogilny.

Today I called the Sharks to find out where they're practicing.  
Nobody in their office seemed to know.  They just kept shuffling me
around until I finally got the answering machine of the director of
media relations.   I guess I'll try again later.  

				-- Lambert


From ferguson Thu Aug 15 14:14:05 1991
Date: Thu, 15 Aug 91 14:13:56 EDT
From: ferguson
To: ferguson
Subject: Many replies about xarchie

A bulk reply to all your replies. Please try to wade through this and
get back to me on parts that need getting back on.

>From: bcn@cs.washington.edu (Clifford Neuman)
>Does is beep loudly, and in a recognizable way.   By the way, there
>are gifs that are not x-rated.
I know, but how many people are loking for them... 1/2 :-).

>From: bcn@cs.washington.edu (Clifford Neuman)
>In the man pages, you may have the meanings of two of the options
>backwards.  'S' and -s means case insensitive, 'C' and -c means case
>sensitive
Right, you mean in the text of "-search" option description. Got it.

>In you discussion of nice, keep in mind (and perhaps point out to the
>user) that nicing a job does not mean your job won't affect others.
>In particular, once you job begins, it is not pre-empted, thus you
>should still avoid long jobs during busy periods.
Okay, I'll add some more text. I thought the reference to the unix
"nice" command was appropriate, although of course people don't really
understand it either...

>How about adding a redundant nice button right next to the query
>button.
Sure. I can never decide whether more buttons is good or bad; its a matter
of taste, although of course I understand why you want it. Perhaps I'll
switch the button layout to be user-specifiable (not too hard, I have the
code fomr another project) and have the default be to have buttons there.
You can also rebind keys to the actions for changing the nice level, for
example.

>In the documentation, I would prefer if you listed the maximum nice as
>35765.
Okay, I didn't know what you wanted there and our previous exchange didn't
make it clear I guess. So you want me to allow 35766 and 35767 if they type
them in, but never allow -35768, -35767, or -35766, right?

>I am glad to see the comments in the ftp.c file about using Prospero in
>the future.
I understand how you feel. I just couldn't figure out the Prospero code
for myself easily enough, and to use it would require the whole Prospero
distribution. I'm opposed to that, I just didn't want to deal with it right
now, preferring to get an initial version out now.

>Finally, on the checking for GIF searches, I think you are going to
>get a lot of false positives from your regular expression checker.
I know. It was really more of a whim. I left the #ifdefs in so I could
chop it out easily.

>For example as search for "foo" will trigger it.
Right. I can make the dummy filename something less "expected", like some
garbage charaters. I think that would help, no? 

>Also keep in mind
>that on the archie host, the regular expression is surrounded by a
>".*" on each side, which I don't think re-exec does.
In a personal regecp application I did this, and I hated it. What does
the checker do with "^" and "$", or are they not supported? Putting ".*"
befpre "^" or after "$" destroys their special meaning, according to normal
regexp usage. Alan?

>From: bcn@cs.washington.edu (Clifford Neuman)
>This might already be the case (I guess I will find out tomorrow),
>but if you specify multiple host names either on the command line, or
>in the resources file, are they all entered in the menu from which you
>can select?
No. They are can be customized in the resource file however by providing
a different specification of the "hostMenu". I will be including some of
my EzMenu man page in the xarchie man page to make this clearer. If you're
really desparate to use the command line, you can set *any* resource with
the "-xrm" command.

>From brendan@cs.widener.edu Thu Aug 15 08:39:08 1991
>Okay, here's the latest over here:
>	* just noticed, should XArchie mention the -offset argument?
I didn't know what the offset argument was, so I just added it. Should
I take it out? What is it anyway?

>                       (N.B., I still have some people with a couple
>of problems---dirsend() timing out consistently, and recvfrom() dying
>after 5 reads.  I haven't been able to come up with a good reason.)
I had a weird situation where I got a message (from xarchie status calls
in dirsend.c) that the timeout interval had got to 360 seconds!!! Perhaps
Cliff could take a look at where I put the status calls and indicate if
there are other places that would be useful. In any event, with 3 retries
and an initial timeout of 4 seconds, I presumably shouldn't get to 360,
no? Is something not being reset?

>From: bcn@cs.washington.edu (Clifford Neuman)
>I had problems running make depend until I realized that xmkmf must be
>run in Ad2c and EzMenu in addition to the top level directory.
I though I mentioned this in my message. You should have done
"make Makefiles" in the xarchie directory. Like I said in my note,
this has yet to be added to the README. Sorry.

>Also ld didn't find smeLineObject class when it went to link xarchie.
>I don't know what this problem is, so I havn't been able to compile
>it.
Do you mean "smeLineObjectClass"? It's part of X, in particular the
SimpleMenu widget stuff. Do you have .../X11/include/SmeLine.h? It used
them before so I don't know why it wouldn't link this time? It should be
in .../lib/libXaw.a. Try running "nm" on it and see if you don't get
output like:

	% nm /usr/staff/lib/libXaw.a
	SmeLine.o:
	00000000 t _ClassInitialize
	00000068 t _CreateGC
	000000f4 t _DestroyGC
	0000003c t _Initialize
	000001f8 t _QueryGeometry
	00000130 t _Redisplay
	000001b0 t _SetValues
		 U _XCreateGC
		 U _XFillRectangle
		 U _XFreeGC
		 U _XSetTSOrigin
		 U _XawInitializeWidgetSet
		 U _XmuCvtStringToBitmap
	00000268 d _Xrcsid
		 U _XtAddConverter
		 U _XtDisplayOfObject
		 U _XtGetGC
		 U _XtReleaseGC
		 U _XtScreenOfObject
		 U _XtWindowOfObject
		 U __XtInherit
	000002a4 d _resources
		 U _smeClassRec
	000002f8 D _smeLineClassRec
	00000380 D _smeLineObjectClass

Sorry for the verbosity.

>From: bajan@mocha.cc.mcgill.ca
>I'd like to see the incorporation of the "site" command into the various
>clients (get the listing of an entire site).
>From: bcn@cs.washington.edu (Clifford Neuman)
>This is done using the "HOST" query type for the Prospero server,
>though it only lists a directory at a time.  
What does that mean for us clients? If I query with type "HOST" (what's
the query_type key letter?) do I get a list of the directories, or do
I sit in a loop or what?

>George, If you take a non-translated directory link returned by
>archie_query and pass it back into get_vdir (this means the calling
>get_vdir(vl->host,vl->filename,"",dir,GVD_ATTRIB|GVD_NOSORT,NULL,NULL)
>you should get back a list of the files in the directory.
You mean if I want to use this to fetch everything in a directory? If so,
I'll add this when I get time.

>[This message was form a few days ago.]
>From: bajan@mocha.cc.mcgill.ca
>
>Since the stuff like size, mode etc are specific to the files themselves,
>I was thinking that you might want to put them under the rightmost
>column. They don't take up much room and you could list it all there.
>Similar thing for the host (under the leftmost column) and location
>(middle).
My feeling was that there isn't enough room for those things in the
columns. I liked the fact the browser could be relatively narrow, but
when you clicked on a big name you'd see it all without scrolling or
resizing.

>     Archie will probably be providing more host information for
>Version 3 (timezone and optionally physical location I hope), and this
>would fit nicely into that scheme.
I think additional items or formatting it into the host item will be
sufficient for this. The layout *is* completely flexible (almost) so
people can arrange things as you have indicated anyway. Will this info
be returned in the Prospero links? If so, our display routines can be
adjusted as needed.

>A 'help' facilty could pretty easily be lifted from archie's current
>faciltity (the text that is). Combined with a text widget, there
>shouldn't be too much work involved (he says casually).
So you mean that I should take the text that you guys have and make it
into a text widget help facility? If so, fine -- send it to me. Or do you
mean that I can query for the help messages? That would be better since
then they'd always be up to date. I *like* that idea, if we could make
it work. Perhaps the help text could be stored in a special place that
we could get to with normal Prospero queries but with special query
strings or types. Thoughts?

>Last thing to note is that the other database(s) that archie is(will be)
>keeping track of, such as the "whatis" database, will probably be
>accessible through the Prospero protocol sometime after Cliff finishes
>his thesis (RSN, right Cliff ? :-), so you might want to make
>accommodations for that in the General Scheme of Things.
I'm not sure what accomodations are needed since I'm not sure of the type
of information that needs displaying. The browser works because the
information is structured in a three-way hierarchy. If new stuff appears
I'd be happy to work on incorporating it.

From bcn@cs.washington.edu Fri Aug 23 11:02:16 1991
Date: Fri, 23 Aug 91 08:02:04 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Fri, 23 Aug 91 10:43:53 EDT <9108231443.AA27425@swan.cs.rochester.edu>
Subject: Comments on xarchie

   Date: Fri, 23 Aug 91 10:43:53 EDT
   From: ferguson@cs.rochester.edu
   To: bcn@cs.washington.edu
   Subject: Re: Comments on xarchie
   Cc: brendan@cs.widener.edu

   >I think I already mentioned this, but automatic resorting of the
   >current query if you change the sort type and already have data.  No
   >need to go back to server.
   But then we need changes to "aquery.c", right? We have to make the link
   chain be a global, and provide additional functions to resort only
   without calling get_vdir() again, and then add stuff to "procquery.c"
   to allow the resorted info to be redisplayed. Is it worth it?

Or you could have separate sort code outside of aquery.  I exect this
would be the cleaner solution (though there would be some duplication
of code).  You could put the sort code into a procedure that is called
from aquery, and from your own code when the sort method changes.  As
for procquery, I never liked embedding everything in it anyway.  In my
client, I don't have an aquery.  Main just calls aquery, then does a
simple for loop that calls display link.

   Fixed, in the sense that it is 95 to start and 95 after you hit default.
   It's harder to make it use the values you started with as defaults, rather
   than its hard-wired notion of "default value". Something for the todo
   list.

I thought you were supposed to be using 99 for both, NOT 95.

	~ Cliff

From bcn@cs.washington.edu Fri Aug 23 12:17:42 1991
Date: Fri, 23 Aug 91 09:17:30 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Fri, 23 Aug 91 10:43:53 EDT <9108231443.AA27425@swan.cs.rochester.edu>
Subject: Comments on xarchie

   >         Also, if one clicks on it without selecting a value, how
   >about making it Nicest if the current value is 0, and 0 if the current
   >value is greater than 0.  It would then be like a toggle switch, but
   >still possible to set in between values if one wanted.  I don't know
   >how difficult this would be, so it is just a thought.
   It's easy to do by defining some additional translations. You can't use
   same (mouse) button (it either pops up a menu or doesn't) but you could have
   other buttons do the all-or-nothing stuff. Maybe toggling would be harder.
   I don't think I can (easily) do what you want exactly, so I'm going to
   leave the menu (it's not *that* hard to use).

It's not clear that his is exactly what you want, but what if upon
clicking on the button, but before displaying the menu, it checked the
current priority and did the toggle.  This would probably be confusing
if the user actually wanted the menu, then changed their mind and
wanted to leave it unchanged. 

Alternatively, when the user releases the mouse button, do you know
where the mouse was?  How about if it wasn't on one of the menu
options, can you tell if it was still within the nice level button.
If so, maybe its only when the user releases the mouse button while it
is still in the nice level button that you want to do the toggle.

	~ Cliff


From bcn@cs.washington.edu Wed Aug 28 10:45:11 1991
Date: Wed, 28 Aug 91 07:44:54 -0700
From: bcn@cs.washington.edu (Clifford Neuman)
Return-Path: <bcn@cs.washington.edu>
To: ferguson@cs.rochester.edu
Cc: emv@ox.com, brendan@cs.widener.edu
In-Reply-To: ferguson@cs.rochester.edu's message of Wed, 28 Aug 91 10:31:40 EDT <9108281431.AA13752@swan.cs.rochester.edu>
Subject: List of archie sites annotated with location information

   So perhaps someone could fill me in one what the procedure would be
   to get aquery() (or whatever) to list hosts matching a pattern. 

Not yet, but that is planned for the future, just as soon as I get my
thesis handed in and move to ISI (real soon now).  When your query is
for a host matching a pattern, you would get back a link to the ftp
"root" for that host, followed by attributes of the host such as last
update, and anything else that was in the archie database.  The link
to the ftp root could then be passed back to prospero to list the
directory.

	~ Cliff

