XARCHIE(1)XARCHIE(1)NAMExarchie - X11 browser interface to archie, version 2.0.9
SYNOPSISxarchie [X Toolkit options] [-host host]
[-search type|-e|-c|-s|-r|-ec|-es|-er] [-sort type|-t|-w]
[-maxhits num] [-offset num] [-nice lev|-N lev] [-noscroll]
[-mono|-gray|-color] [-debug num|-D num] [-help|-?]
DESCRIPTION
Xarchie is an X11 browser interface to the Archie Internet information
system using the Prospero virtual filesystem protocol. Archie provides
information about files available for ftp anywhere on the Internet;
Xarchie displays this information using an easy-to-use, point-and-click
interface. Xarchie allows you to further explore ftp sites by examin‐
ing directories returned as query matches, and allows you to retrieve
files located this way. Xarchie is designed (like most X applications)
to be highly customizable, allowing you to tailor the look-and-feel of
the tool to your own preferences.
This document is broken into two parts. First, the USER'S GUIDE
describes Archie and Xarchie, and covers both Basic and Advanced
Xarchie usage. Second, the REFERENCE MANUAL provides all the informa‐
tion needed to customize Xarchie. You can also browse this document
using the Xarchie Help facility.
To report problems or bugs, please see the section "Reporting Bugs" in
the REFERENCE MANUAL section.
USER'S GUIDE
The User's Guide section of this manual describes the Archie service,
the Xarchie client, and how to use Xarchie to access resources avail‐
able for FTP on the Internet.
What is Archie?
The Archie information system is a network-based information tool
offering proactive data retrieval and indexing for widely distributed
collections of data.
Perhaps the best known application of the Archie system is to maintain
the Internet Archives database. This database, already available from a
number of service providers across the Internet, currently contains the
names of over 2,100,000 files at over 1,000 anonymous FTP archive
sites. Using this database, users can rapidly locate needed files
without the need to log onto dozens or even hundreds of machines.
Archie servers offering this database currently receive over 50,000
queries per day. It is this database that the Xarchie client accesses,
as described in the next section, using one of the many independently
owned and operated Archie servers around the world.
The Archie system is much more than the Internet Archives database.
For more information contact Bunyip Information Systems at (514)
398-3709 or (514) 398-811 or email "info@bunyip.com".
What is Xarchie?
Xarchie is an X11 browser interface to the Archie Internet Archives
database using the Prospero virtual filesystem protocol. Archie pro‐
vides information about files available for ftp anywhere on the Inter‐
net; Xarchie displays this information using an easy-to-use, point-and-
click interface. Xarchie allows you to further explore ftp sites by
examining directories returned as query matches, and allows you to
retrieve files located this way.
Xarchie is designed (like most X applications) to be highly customiza‐
ble, allowing you to tailor the look-and-feel of the tool to your own
preferences. See the REFERENCE MANUAL for details.
Users should be aware that the Xarchie 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
you have to wait for a response, but it increases the time that others
have to wait too. Please read about the -nice option, the niceLevel
resource, and the "Nice Level" setting before making large queries.
Also, you should use the closest possible host to save long-distance
network traffic. Abusers of the service may find their access revoked
without notice.
The Xarchie Display
Xarchie uses several conventions regarding menus and button names:
- Clicking on a button whose name ends with a ">" will pop up a
menu from which you should select the desired action.
- Clicking on or selecting an item whose name ends in "..." will
pop up a panel that will let you perform the desired operation.
A label with neither of these suffixes indicates that the action will
be taken without subsequent interaction.
Xarchie's display is divided into three horizontal areas. The top pane
is a control panel providing the following buttons:
File: Clicking on this button presents the File Menu, from which you
can select a variety of file-related operations to be described
later. The File Menu operations can also be invoked by holding
down the Meta key and typing the first letter of the operation's
name (e.g., Meta-Q to quit).
Settings:
Clicking on this button presents the Settings Menu, whose opera‐
tions will be described in the "Advanced Usage" section.
Query: This button presents the Query Menu, used to send queries to
Archie. Its operation will be described shortly.
Abort: When active during a query or retrieval, this button allows you
to abort the operation.
Help: Clicking on this button pops up the Help Panel, which allows you
to browse this document on-line.
Finally, the area labelled "Status" is used to provide information
about the progress of a query or other informative messages.
The middle pane of the Xarchie display functions as a host-location-
file browser. That is, the leftmost pane displays hostnames, the middle
pane locations (directories), and the rightmost pane files or directo‐
ries returned by a query. The browser's use is described in the section
"Browsing", below. You can adjust the relative size of the browser
panes using the Grips on their borders.
Finally, the bottom pane of the Xarchie display provides a set of Text
items where you can enter information and where information is dis‐
played as query results are browsed. Not all Text items can be typed
in; some are used for display only. These text items provide Emacs-like
editing controls (see xedit(1) for a complete description). Typing
Return in some Text items invokes an action as a shortcut for selecting
it from a menu or button.
Basic Xarchie Usage
This section provides information on basic querying, browsing, and file
operations. The "Advanced Xarchie Usage" section describes how to use
the Settings Panel and how to perform other, more complicated, queries.
Querying
The primary function provided by Xarchie is that of querying the Archie
server for a "search term" (the string or expression for which you want
to search). By default, your query uses exact search mode. That is, the
search term must literally match an entry in the database for the entry
to be returned. Other search modes are available, and are described in
the "Advanced Usage" section.
You enter your search term in the appropriately labelled Text item in
the bottom pane of the Xarchie display. Hitting Return in the text
item or selecting "Query Item" from the Query Menu will send your
request to Archie.
The Status area will be updated as the query progresses. First the
Archie server's Internet address is looked up, then the server is con‐
tacted, the search term is sent over, and, after reaching the front of
the server's request queue, matches are returned to Xarchie. The
matches, if any, are displayed in the browser and the Status area indi‐
cates how many matches were returned.
If your window manager and version of X support it, you can iconify the
Xarchie application and the icon will change to reflect the progress of
your query. That is, it will change when a query is in progress and
when it finishes.
Aborting
If you find that your query is taking too long, you can abort it by
clicking on the "Abort" button when it is active. Your query will be
aborted as soon as possible. You should note that while aborting a
query will allow you to enter a new query, it does not remove the query
from the server's queue (this may be changed in the future). Thus
aborting queries does not reduce the load on the server -- just the
opposite probably. Use it with discretion, like the rest of the ser‐
vice.
Browsing
As described in the section "The Xarchie Display", the middle pane of
the Xarchie display functions as a host-location-file browser. The
leftmost pane of the browser contains the names of hosts that have a
file matching your search term. Clicking the Left mouse button on a
hostname will highlight it and cause the middle browser pane to be
filled with a list of locations on that host where files matching your
search term can be found. The selected hostname will also be displayed
in the Text item labelled "Host" in the bottom pane of the Xarchie dis‐
play.
Similarly, selecting a location from the middle browser pane will cause
the right browser pane to be filled with a list of the files available
from the selected host in the selected location, and the location will
be displayed in the bottom pane item labelled "Location".
Finally, selecting a file from the right browser pane causes its name,
size, permission modes and last-modification date to be displayed in
the correspondingly-labelled bottom pane items.
Note that if a browser pane has only one item, then that item will be
automatically selected and its "lesser" panes and information items
filled in. This saves time and effort in the common case where there is
only one host, location, or file that matches your query. Also, note
that, by default, Xarchie scrolls the browser pane when you select an
item. This makes it easy to click through a long list of matches, but
can be annoying. If you don't like it, it can be changed on the Set‐
tings Panel (described below), and see the description of the -noscroll
command-line option in the REFERENCE MANUAL.
The browser allows you to select multiple items simultaneously,
although of course only the last-selected item will have it's informa‐
tion displayed in the bottom pane. You add to a selection by clicking
the Left button with Shift depressed. If the clicked-on item is already
selected, it will be unselected. Currently, only the bottom level of
the browser can have multiple selections, since a selection at a higher
level clears the selections for all lower levels (this may be changed
in the future). Thus you can select multiple files from a single host,
but not multiple files from separate hosts.
Expanding the Browser
The browser can be expanded, allowing you to investigate, say, a direc‐
tory that matched your query. To select and expand an directory, dou‐
ble-click on it (double-click with Shift to avoid unselecting any other
items). You can also select "Open" from the File Menu to expand direc‐
tories (although this will also open selected files, as described
later). All selected directories will be expanded by querying an appro‐
priate Archie server, and the Status area will keep you informed.
Expansion requests can be aborted just like queries using the "Abort"
button.
If only a single item was expanded, and if the expansion was success‐
ful, then the browser will scroll to display the results. The arrow
buttons across the top of the browser can be used to scroll the browser
left or right when they are active. The Middle and Right mouse buttons
or the Left and Right arrow keys will do the same thing, when the
pointer is in the browser panes.
Viewing Files
You can view a file that is selected in the browser by selecting "Open"
from the File Menu (or by typing Meta-O). Xarchie retrieves all
selected files in ASCII mode into a temporary directory. The Status
area, like usual, will keep you posted on the progress of the operation
and, once the FTP connection is established, the Abort button can be
used to abort the Open operation. If you abort and there are files
remaining to retrieve, you will be prompted as to whether to continue
with the next file. Note that partially-retrieved files are not
removed. There is currently no way to abort the transfer until the
connection is established. The connection will eventually timeout and
control will return to Xarchie if connection is impossible.
Each file is displayed in a popup Text window after being retrieved.
Use the "Down" and "Up" buttons or the scrollbars to view the text.
Click on the "Dismiss" button to destroy the window and delete the
file. To save the file before dismissing, use the "Save" button. This
pops up a panel with which you can choose the name of the file to which
to save.
Note that because the Archie database is only updated periodically,
some files returned by Archie may not exist when you attempt to
retrieve them. This and any other FTP errors are signalled with alert
boxes.
Retrieving Files
The "Open" action should be used to view short files, such as "README"
files, that you don't need to save. For more permanent files, and for
non-ASCII files like tar or compressed files, Xarchie allows you to
retrieve the selected browser items using the "Get" item of the File
Menu (or typing Meta-G). The selected files are retrieved via FTP and
stored in the current directory (see the section "FTP Parameters" in
the "Advanced Usage" section for how to change this). The "Status"
area is updated to reflect the progress of the transfer. As for "Open",
you can abort the retrieval using the "Abort" button once the FTP con‐
nection is established.
It is currently not possible to retrieve a directory, although of
course the directory can be opened and the entire contents selected for
transfer.
Note that because the Archie database is only updated periodically,
some files returned by Archie may not exist when you attempt to
retrieve them. This and any other FTP errors are signalled with alert
boxes.
As with querying, if your window manager and version of X support it,
Xarchie's icon will be changed to reflect the progress of a transfer.
Saving, Loading, and Writing
Xarchie allows you to save and reload the contents of the browser, or
write it in human-readable format using the items on the File menu.
Selecting either of "Save", "Load", or "Write" (or typing Meta-S,
Meta-L, or Meta-W, respectively) will pop up the File Panel with which
you can specify the appropriate filename. Clicking on the "Ok" button
will invoke the appropriate action; clicking "Cancel" will abort the
operation and pop down the panel.
Saving the database creates a file containing sufficient information
for the browser to be reloaded using "Load". The output is not intended
for human consumption. The current Settings are also written to the
file by "Save" and are restored by "Load".
Users should note that a reloaded database will be "flattened", that
is, directories will be added to the middle pane as needed to fit
everything in three browser panes. (This may be changed in the future
to preserve the original hierarchy.)
Writing the database is intended to create files that are more or less
human-readable (compared to "Save", anyway). There are two possible
formats, selectable from the "Write Format" menu on the panel. If "One
entry per line" is selected, then the output will have one line per
entry, in the format
mode size date host:location/file
If "Pretty-printed" is selected, then the file format has hostnames
starting at the beginning of the line, location names indented one tab,
and file entries indented two tabs, all on separate lines. Hostnames
and locations are only printed once, as in:
host
location
mode size date file
mode size date file
The latter is more readable, the former may be more useful if the out‐
put is to be used by a program.
Quitting Xarchie
You can exit Xarchie by selecting "Quit" from the File Menu (or typing
Meta-Q).
Advanced Xarchie Usage
This section describes how various aspects of Xarchie's functionality
can be modified to perform different queries and other operations.
Further customization information is found in the REFERENCE MANUAL sec‐
tion.
The Settings Panel
The panel popped up by selecting "Other" on the Settings Menu in the
top Xarchie pane allows you to change the parameters of your queries
Archie. Each of the parameters is described in the following sections.
After you're done with the Settings Panel, clicking on the "Apply" but‐
ton will make Xarchie use the settings as set on the panel. Clicking
on "Default" will reset the settings to the values they had when
Xarchie started (but note that you will still have to apply them to
have them take effect). Clicking on "Done" closes the Settings panel. A
popup confirmer will appear if you did not apply your changes, allowing
you to discard the changes or go back and apply them. Note that the
"Apply" button is inactive until a change is made.
The menus available from the "Search Type", "Sort Type", "Nice Level"
and "Archie Host" submenus of the Settings Menu on the Xarchie top pane
have effects corresponding to those of the buttons on the Settings
Panel. However, they do not require that the "Apply" button be clicked
on to take effect, and do not affect the behaviour of the "Done" button
confirmer.
Archie host
The item labelled "Host" provides a menu of known Archie hosts. You
should choose one appropriate to your site (i.e., one that minimizes
long-distance transmission). In addition however, you can enter an
arbitrary hostname in the Text item next to the "Host" button. Note
that the Archie host is only used for queries; expansion requests use
information stored with the items to determine which host to contact.
That is, changing the Archie host does not "take effect" until the next
query is issued.
If you have the ping(1) program, you can try to use it with the its
"-s" option to locate a "nearby" host.
You can specify hostnames using either the symbolic name or by giving
its numeric IP address (four octets separated by periods). In either
case, you can specify the port at which the Prospero server should be
contacted by giving it in parentheses immediately following the host‐
name (no spaces).
Search mode
The "Search Mode" item allow you to change how Archie interprets your
search term. Holding a mouse button down while the mouse cursor is on
the button displays a menu from which you can choose the desired search
type. The label to the right of the item is updated to reflect the
choice.
The exact mode is fastest and returns files exactly matching your
search term. The substr and subcase modes return substring and case-
sensitive substring matches respectively (i.e., substr means case-
insensitive). The regexp mode allows you to specify a regular expres‐
sion to select files (see ed(1) for a description of regular expression
syntax). The exact* forms of these last three try an exact match first
and then fall back on the more costly search type if the exact match
fails.
Sort mode
The "Sort Mode" item allows you to specify how Xarchie displays the
results from Archie. Holding a mouse button down while the mouse cur‐
sor is in this item displays a menu from which you can choose the
desired sort type. The label to the right of the item is updated to
reflect the choice. Applying the settings (see above) will cause the
data to be resorted according to the new sort mode.
The type can be one of name, date, or weight. Sorting by name is sim‐
ple lexicographic ordering.
If sorting by date is selected, then hosts are ordered according to the
most recent file among those returned for them, and similarly for loca‐
tions. Files themselves are ordered by last-modification date, natu‐
rally.
If sorting by weight is selected, then hosts are ordered by a user-
definable set of "weights". In this way, hosts that are "close" (in
some sense) are displayed first. The weights can be set using the Text
item that appears on the Settings Panel when this sort mode is
selected.
Hopefully, an appropriate weight list for the geographic location of
your site will have been installed as the default. In any case, the the
weight list is a set of lines, where each line specifies a weight and
the set of domains for that weight. A host's weight is determined by
finding the first line for which the end of the host's name matches one
of the suffixes. A host that belongs in none of the classes is assigned
the weight 99. For example, the default for the USA is:
1 edu com net gov mil us\n\
2 ca\n\
3 uk de nl fi fr eu.net\n\
100 au nz jp
This means that all the US domains are ordered first, then Canada, then
several European countries. Hosts in Australia, New Zealand, and Japan
are ordered after any unknown (i.e. non-matching) hosts.
For more details, see the description of the hostWeights non-widget
resource in the REFERENCE MANUAL section.
Nice level
The "Nice Level" item deserves special mention. As mentioned in the
"About Archie" section, Archie servers run on machines that must be
shared between other Archie users and even other "real" users. This
item allows you to voluntarily lower the priority of your request, just
like the nice(1) command does for Unix. The menu provides some recom‐
mended values and you can enter arbitrary values in the text item. If
you are searching with a large number of matches requested, please
increase your nice level.
Note that, like nice(1), nicing a job does not mean your job won't
affect others. In particular, once your job begins it is not pre-
empted, thus you should still avoid long jobs during peak periods. You
should especially avoid queries for items of only personal interest
(you know what we mean) during these periods. As stated above, abusers
of the service may find their access revoked without notice.
Other Query Settings
The following items set parameters of your query to the Archie server.
Max Hits:
the limit on the number of successful matches that will be
returned.
Initial Timeout:
the length of the first timeout interval in seconds.
Retries:
the number of times to retry a query if it times out, doubling
the timeout each retry.
These items are Text items that allow you to edit their values.
The item labelled "Auto-Scroll Browser" controls whether the browser
scrolls after an item is selected. Setting this to "yes" is useful when
browsing a long list of matches. It can be annoying if you're doing
more selective browsing, so set it to "no" in those cases.
FTP settings
The following items allow you to set parameters of file retrieval. You
should be sure they are appropriately set before retrieving files using
either "Open" or "Get".
FTP Email Address:
Specifies the password used for anonymous FTP login. By conven‐
tion, users logging in as "anonymous" send their email address
as the password. Some servers enforce this by checking the
address. The default may not be appropriate depending on what
information Xarchie could glean from your system about its
address. You can set the environment variables USER and HOSTNAME
to override the system's information, or see the description of
the ftpMailAddress non-widget resource in the REFERENCE MANUAL.
FTP Local Directory:
Specifies the directory into which files will be retrieved using
"Get".
FTP Transfer Type:
Provides a menu from which you can select "ascii" or "binary"
mode transfer for files retrieved with "Get". Files retrieved
with "Open" are always retrieved in ascii mode.
FTP Prompt:
Provides a menu allowing you to enable or disable prompting dur‐
ing multi-file transfers.
Trace FTP Transfers:
Since FTP transfers are susceptible to timeouts and other confu‐
sions, this item allows you to monitor any FTP interactions. If
tracing is enabled, then invoking "Open" or "Get" on a file will
popup a trace window that displays a running log of the FTP ses‐
sion as it happens. Using this successfully requires that you
understand something about how FTP works, which is beyond the
scope of this document.
Strip CR
If this option is enabled, then carriage returns are removed
from ASCII-mode files. This is usually desirable when transfer‐
ring to a Unix machine.
Querying Hosts and Locations
The Query Menu provides two other types of queries besides the "Query
Item" described in the "Basic Usage" section for querying the Archie
database.
Selecting "Query Host" will use the hostname in the "Host" Text item on
the bottom pane and will fill the browser with the contents of the root
of its FTP directory. From then on, interaction is as previously
described. The host to query can be in the "Host" item as a result of
selecting a host in the browser, or you can type directly into the item
the name of the host that you wish to open. Typing Return in the "Host"
item is equivalent to selecting "Query Host" from the Query Menu.
Querying locations by selecting "Query Location" is similar: the Archie
server is queried for the contents of the directory given by the "Loca‐
tion" item on the host given by the "Host" item. The browser is filled
in with the results of the query (i.e., the contents of the directory).
As before, you can type the name of the location into the "Location"
item if you wish, and typing Return there is the same as invoking
"Query Location".
Note that because the Archie database is only updated periodically,
some files returned by Archie may not exist when you attempt to
retrieve them. Similarly, recently added files may exist on the host
but not in the Archie database.
REFERENCE MANUAL
This section provides all the information you should need to customize
Xarchie. Command-line options, non-widget resources, widget hierar‐
chies, translations actions, and other information are all provided. It
is assumed that you understand enough about X applications to under‐
stand this.
Command-line Options
The following non-widget resources can be set from the command-line or
in a resource file. As usual, when given on the command line they can
be abbreviated to their shortest unique prefix, often the first letter.
Furthermore Xarchie accepts all the standard X Toolkit options (see
X(1)).
-host host
Sets the host to which Archie queries will be sent. Please be
careful to use the nearest possible host. You can specify host‐
names using either the symbolic name or by giving its numeric IP
address (four octets separated by periods). In either case, you
can specify the port at which the Prospero server should be con‐
tacted by giving it in parentheses immediately following the
hostname (no spaces).
The default is "archie.sura.net(1526)". This option corresponds
to the archieHost resource.
-search type
Sets the search mode for Archie queries. The type can be one of
exact, substr, subcase, regexp, exactSubstr, exactSubcase, or
exactRegexp. See the section describing the Settings Panel in
the USER'S GUIDE for a description of the various search types.
The default search mode is exact. This option corresponds to
the searchType resource.
-e Equivalent to "-search exact".
-s Equivalent to "-search substr".
-c Equivalent to "-search subcase".
-r Equivalent to "-search regexp".
-es Equivalent to "-search exactSubstr".
-ec Equivalent to "-search exactSsubcase".
-er Equivalent to "-search exactRegexp".
-sort type
Sets the sort mode for displaying Archie responses. The type can
be one of name, date, or weight. See the section describing the
Settings Panel in the USER'S GUIDE for a description of the var‐
ious sort types. This option corresponds to the sortType
resource.
-t Equivalent to "-sort date".
-w Equivalent to "-sort weight".
-maxHits num
Sets the maximum number of matches allowed per query. This
option corresponds to the maxHits resource.
-offset num
Sets the offset of the Prospero query. This option corresponds
to the offset resource.
-nice level or -N level
Sets the query niceness level. Higher numbers are nicer, up to a
maximum niceness of 32765. The default niceness is 0. This
option corresponds to the niceLevel resource.
-noscroll
By default, Xarchie scrolls the browser lists automatically when
you select items. This usually makes it easier to scan through
the results of queries but can be annoying. This option turns
off the automatic scrolling. It corresponds to the autoScroll
resource.
-mono or -gray or -color
By default, Xarchie will determine the visual type of your dis‐
play and use the proper color resources. If it gets it wrong,
you can override the default by specifying one of these options.
They correspond to the visualType resource.
-debug level or -D level
Sets the Prospero debugging level. Higher numbers mean more ver‐
bose messages. This option corresponds to the debugLevel
resource. Xarchie must be specially compiled for this option to
have any effect (see the Imakefile or your local installer).
-help or -?
Prints the usage message summarizing Xarchie options.
Non-widget Resources
Xarchie has a default set of resources built in. If you wish to custom‐
ize the tool, take a copy of the default application defaults file (see
the section "Files", below) and modify it. Then, before invoking
Xarchie, set the environment variable XAPPLRESDIR to the directory con‐
taining your private copy. Alternatively, you can place entries in your
.Xdefaults file or provide them with the -xrm toolkit option (see
X(1)). Most of the following resources can also be set using the com‐
mand-line options described in the previous section.
Query Resources
archieHost
Sets the host to which Archie queries will be sent. Please be
careful to use the nearest possible host. The default is
"archie.sura.net". This resource can be set with the -host
option or on the Settings Panel.
You can specify hostnames using either the symbolic name or by
giving its numeric IP address (four octets separated by peri‐
ods). In either case, you can specify the port at which the
Prospero server should be contacted by giving it in parentheses
immediately following the hostname (no spaces).
searchType
Sets the search mode for Archie queries. This can be one of
exact, substr, subcase, regexp, exactSubstr, exactSubcase, or
exactRegexp. See the section describing the Settings Panel in
the USER'S GUIDE for a description of the various search types.
The default search mode is exact. This resource can be set with
the -search option, or its abbreviations -e, -s, -c, -r, -es,
-ec, or -er, or on the Settings Panel.
sortType
Sets the sort mode for displaying Archie responses. This can be
one of name, date, or weight. See the section of the Settings
Panel, above, for a description of the various search types.
This resource can be set with the -sort option, or its abbrevia‐
tions -t or -w, or on the Settings Panel.
hostWeights
Specifies the weights used to order hosts when sorting by weight
is selected. The format of this resource is a series of entries
of the form:
weight host [hosts...] {,|\n}
where parts of an entry are separated by spaces or tabs and
entries are separated by a comma or newline. Each entry speci‐
fies a weight and a series of possible suffixes (one or more
trailing components). A host's weight is determined by finding
the first class for which the end of the host's name matches one
of the suffixes. A host that belongs in none of the classes is
assigned the weight 99. For example, the default for the USA is:
1 edu com net gov mil us\n\
2 ca\n\
3 uk de nl fi fr eu.net\n\
100 au nz jp
This means that all the US domains are ordered first, then
Canada, then several European countries. Hosts in Australia, New
Zealand, and Japan are ordered after any unknown (i.e. non-
matching) hosts. This resource can be set on the Settings Panel.
If this resource is not defined, Xarchie will attempt to make an
intelligent choice by comparing the system's idea of its host‐
name with a set of pre-compiled defaults. This may not work, but
is usually better than nothing, and it can always be edited on
the Settings Panel anyway.
niceLevel
Sets the query niceness level. Higher numbers are nicer, up to a
maximum niceness of 32765. The default is 0. This resource can
be set with the -nice option or on the Settings Panel.
maxHits
Sets the maximum number of matches allowed per query. The
default is 99. This resource can be set with the -maxHits
option or on the Settings Panel.
offset Sets the Prospero offset. The default is 0. This resource can
be set with the -offset option or on the Settings Panel.
timeout
Sets the initial timeout value, in seconds. The default is 4.
This resource can be set on the Settings Panel.
retries
Sets the number of retries, where the timeout doubles every
retry. This resource can be set on the Settings Panel.
debugLevel
Sets the Prospero debugging level. Higher numbers mean more ver‐
bose messages. Xarchie must have been compiled specially for
this option to have any effect (see the Imakefile or your local
installer). This resource can be set with the -debug or -D
options.
Browser Resources
autoScroll
By default, Xarchie scrolls the browser lists automatically when
you select items. This usually makes it easier to scan through
the results of queries but can be annoying. This resource
enables or disables automatic scrolling. The default is True.
It can be set to False with the -noscroll option and can be
changed on the Settings Panel.
pasteBuffer
If this resource is True (the default), browser selections are
stored in the CUT_BUFFER_0 property of the root window of the
Xarchie display in the format:
host:location/file
This allows them to be used by other applications using XFetch‐
Bytes(3X). The Xarchie distribution includes a sample program
(xcutbuf.c) that retrieves the contents of a cutbuffer property.
FTP Resources
ftpMailAddress
By convention, FTP users are expected to send their email
address as the password during anonymous login. The string
specified by this resource is passed to sprintf(3) along with
two parameters: the username and the hostname (as indicated by
the system or by the USER and HOSTNAME environment variables),
and the result is used as the password for anonymous FTP logins.
The default is "%s@%s". You should change this resource if your
system returns strange or incorrect values for either parameter.
The password (after sprintf) can be edited on the Settings
Panel.
ftpLocalDir
Sets the local destination directory for ftp transfers. This
will be used as the initial value of the "FTP Local Dir" item on
the Settings Panel.
ftpType
Sets the transfer type for ftp transfers. This will be used as
the initial value of the "Ftp transfer type" item on the Set‐
tings Panel. It should be one of "ascii" or "binary".
ftpPrompt
Specifies whether to prompt for verification during transfers
involving multiple files. This will be used as the initial value
of the "Prompt during transfers" item on the Settings Panel.
ftpTrace
Specifies whether to pop up a window in which FTP transactions
are monitored. This will be used as the initial value of the
"Trace FTP transfers" item on the Settings Panel.
ftpStrip
Specifies whether to strip carriage returns from files trans‐
ferred in ASCII mode. This will be used as the initial value of
the "Strip CR" item on the Settings Panel.
Database Writing Resources
fileWriteOnePerLine
Specifies the format of files written by "Write". This will be
used as the initial value of the "Write format" item on the File
Panel. The meaning of this setting is described in the USER'S
GUIDE section on "Saving, Loading, and Writing".
Special Font Resources
Xarchie uses two fonts by default: one "normal" and one "bold". How‐
ever, because of widget naming and resource lookup conventions, these
fonts must be specified in many places in the resource file. To make it
easier to find and change these fonts, the following two resources are
defined:
xarchieFont
The name of the default font used by Xarchie widgets. If any
widget specifies a font resource as "xarchieFont", this font
will be used.
xarchieBoldFont
Like the above, but specifies the font used by any widget that
specifies a font resource of "xarchieBoldFont".
The resource converter that looks up fontnames is modified so that the
the two special strings "xarchieFont" and "xarchieBoldFont" result in
the corresponding font being returned; other strings are looked up as
normal fontnames.
Other Resources
visualType
This resource allows you to override Xarchie's builtin determi‐
nation of the type of display, which it uses to specify appro‐
priate color resources. You can specify "mon", "gray", or
"color" as the value of this resource. It can also be set with
the corresponding command-line options.
defaultIcon
If given, this resource specifies the name of an X bitmap file
that will be used as Xarchie's icon when not querying (assuming
you are using a window manager that supports icon pixmaps). The
X resource conversion routines will look for the file in a vari‐
ety of places, including directories given by the global
resource bitmapFilePath.
busyIcon
If given, this resource specifies the name of an X bitmap file
that will be used as Xarchie's icon when querying (see the
description of the defaultIcon resource, above). The icon is
changed back to the default when the query completes, so you can
watch for a change while Xarchie is iconified.
Widget Hierarchies
Xarchie uses primarily Athena widgets, with some extra sub-classes as
described below.
Main Xarchie Widgets
The widget hierarchy for the main Xarchie display is as follows:
Xarchie xarchie
[Form color|gray] <-- Color or gray-scale displays only
Paned outerPaned
Form buttonForm
MenuButton fileButton
MenuButton settingsButton
MenuButton queryButton
Command abortButton
Command helpButton
Label,Text status{Label,Text}
Form browserForm
Command browserUpButton
Command browserDownButton
Paned browserPaned
Viewport browserViewport0
XfwfMultiList browserList0
Viewport browserViewport1
XfwfMultiList browserList1
Viewport browserViewport2
XfwfMultiList browserList2
Form stringForm
Label,Text search{Label,Text}
Label,Text host{Label,Text}
Label,Text location{Label,Text}
Label,Text file{Label,Text}
Label,Text size{Label,Text}
Label,Text modes{Label,Text}
Label,Text date{Label,Text}
On color displays, there is an extra Form widget named "color" created
as the only child of the toplevel shell, and all other widgets are
children of it. This allows resources that are only applicable for
color displays to use the prefix "Xarchie.color" while generally appli‐
cable resources should use the "Xarchie*" prefix. On gray-scale dis‐
plays, the extra widget is named "gray". On monochrome displays, no
extra widget is created.
The XfwfMultiList widget is a modification of the standard Athena List
widget that allows multiple items to be selected. It was written by
Brian Totty (totty@flute.cs.uiuc.edu) and is distributed by the Free
Widget Foundation (contact free-widgets-request@kazoo.cs.uiuc.edu).
Xarchie can be compiled to use standard Athena List widgets instead.
See the Imakefile or your local installer.
To describe this widget hierarchy briefly, outerPaned controls the rel‐
ative sizes of the three horizontal display areas while browserPaned
allows the browser panels to be resized independently. Each browser
panel consists of a Viewport to allow it to scroll and an XfwfMultiList
(or List) to display the entries.
The command buttons and status widgets are pretty straightforward. The
fileButton pops up the fileMenu, whose items invoke the obvious actions
(see below) when selected. The settingsButton pops up the settingsMenu,
which uses some special translations and the settings-submenu() action
to permit the use of pullright submenus. The queryButton pops up the
queryMenu, the abortButton (when active) invokes the abort() action,
and the helpButton invokes the help() action to pop up the Help panel.
In the bottom pane, the searchText widget is used to enter the search
term, and by default it binds Return to the query() action (see below)
to send the query to Archie. The hostText binds Return to query-host()
and the locationText binds Return to query-location(). All the other
Text items in the stringForm cannot be edited and are used to display
information about the current browser selection.
Settings Panel Widgets
The "Panel" item on the Settings menu pops up the Settings Panel, which
has the following widget hierarchy:
TopLevelShell settingsShell
Form settingsForm
Command setDoneButton
Command setApplyButton
Command setDefaultButton
MenuButton,AsciiText setHost{Button,Text}
MenuButton,Label setSearch{Button,Label}
MenuButton,Label setSort{Button,Label}
Label,AsciiText setHostWeights{Label,Text}
MenuButton,AsciiText setNice{Button,Text}
Label,AsciiText setMaxHits{Label,Text}
Label,AsciiText setTimeout{Label,Text}
Label,AsciiText setRetries{Label,Text}
Label,AsciiText setAutoScroll{Button,Label}
Label,AsciiText ftpMailAddress{Label,Text}
Label,AsciiText ftpLocalDir{Label,Text}
MenuButton,Label ftpType{Button,Label}
MenuButton,Label ftpPrompt{Button,Label}
MenuButton,Label ftpTrace{Button,Label}
MenuButton,Label ftpStrip{Button,Label}
The setDoneButton invokes the settings-done() action, the setApplyBut‐
ton invokes settings-apply(), and the setDefaultButton invokes set‐
tings-default(). The actions are described below. The MenuButton wid‐
gets pop up menus described below under "Menus". The AsciiText widgets
are used to display and edit the corresponding parameters.
File Panel Widgets
The "Save", "Load", and "Write" items on the File menu pop up the File
panel, which has the following widget hierarchy:
TopLevelShell fileShell
Form fileForm
Label fileLabel
XfwfFileChooser fileChooser
Label,AsciiText filename{Label,Text}
MenuButton,Label fileWriteMode{Button,Label}
Command fileOkButton, fileCancelButton
The XfwfFileChooser widget provides a browser for selecting files.
Xarchie can be compiled without the FileChooser, if necessary. See the
Imakefile or your local installer.
In any event, the fileLabel indicates what operation is being per‐
formed, the fileChooser, fileText, and buttons are used to select a
file, and the fileWriteModeButton pops up the fileWriteModeMenu (only
enabled for Write). Typing Return in the filenameText is the same as
clicking the fileOkButton, and sending the WM_DELETE_WINDOW message
(typically from the window manager) is the same as clicking on the
fileCancelButton.
View Window Widgets
Whenever a file is retrieved by "Open", it is displayed in a window
with the following widget hierarchy:
TopLevelShell viewShell
Form viewForm
Command viewDoneButton
Command viewDownButton
Command viewUpButton
Command viewSaveButton
Text viewText
The title of the TopLevel shell is set to the basename of the file
being viewed in the viewText. The operation of the buttons is all
hard-coded. Clicking on the viewSaveButton results in the following
panel being displayed to select the file to save to:
TopLevelShell viewSaveShell
Form viewSaveForm
Label viewSaveLabel
AsciiText viewSaveLabelText
XfwfFileChooser fileChooser
Label viewSaveTextLabel
AsciiText viewSaveText
Command viewSaveOkButton, viewSaveCancelButton
The viewSaveLabelText indicates the name of the temporary file from
which the save should be made and connot be changed. The fileChooser
and fileText allow you to select the file to save to.
Help Panel Widgets
The "Help" button in Xarchie's top pane pops up the Help panel, which
has the following widget hierarchy:
TopLevelShell helpShell
Form helpForm
Label helpLabel
Viewport helpViewport
List helpList
Text helpText
Command helpDoneButton
Command helpPrevButton
Command helpNextButton
Command helpDownButton
Command helpUpButton
The helpLabel identifies the version of Xarchie. The helpList displays
the help topics, and the corresponding text is displayed in the help‐
Text. The helpDoneButton invokes the help-done() action, the helpPre‐
vButton invokes the help-prev() action, and the helpNextButton invokes
the help-next() action. The helpDownButton and helpUpButton invoke the
help-down() and help-up() actions respectively.
About Panel Widgets
Selecting the "About" item on the File menu pops up the About panel,
which has the following widget hierarchy:
TopLevelShell aboutShell
Form aboutForm
Label aboutLabel{0,1,2,3,4,5}
Command aboutDoneButton
The labels are set to display the version of Xarchie and other contact
information. There is little you can or should do with these widgets.
Popup Widgets
Finally, two types of popup windows can appear. An Alert box signals an
error and blocks until clicked in; a Confirm box allows the user to
make a Yes/No decision. These have the following widget hierarchies:
TransientShell alertShell
Dialog alertDialog
Command okButton
TransientShell confirmShell
Dialog confirmDialog
Command yesButton,noButton
respectively. Several actions are defined (see below) for use in these
popups.
Menus
The MenuButton widgets on both the main Xarchie display and on the var‐
ious panels use standard Athena SimpleMenu widgets. The following nam‐
ing conventions are used to allow resources to be specified: if the
parent SimpleMenu widget is named "fooMenu", then the SmeBSBObjects
making up the entries are named "fooMenuItemn", where n starts at 0 for
the first item in the menu. The menus are all children of the main
Xarchie shell, toplevel. For example, the File menu has widget hierar‐
chy
SimpleMenu fileMenu
SmeBSB menuLabel
SmeBSB fileMenuItem{0,1,2,3,4,5,6}
There are three things worth mentioning. First, as noted above, the
settingsMenu uses special translations and the settings-submenu()
action to allow pullright submenus. Secondly, the submenus available
from the Settings menu (searchMenu, sortMenu, niceMenu, and hostMenu)
and those available on the Settings Panel (setSearchMenu, setSortMenu,
setNiceMenu, and setHostMenu) have the same labels but are different
widgets with different effects. The Settings Panel menus (the second
group) only update the Settings panel, requiring the Done button to be
clicked to take effect. The Settings menu submenus (the first group)
take effect immediately, and also indicate the current item in the left
margin of the menu.
Finally, the number, order, and effect of all menus are hardcoded,
although the labels can, of course, be changed in the resource file.
However, changing the labels will NOT change the effect of selecting
the item, with the exception of the hostMenu and setHostMenu. These
menus use the numHosts non-widget resource to indicate how many items
are on the menu. Thus you can add hosts to the menu by adding label
resources for the new hostMenuItem's and increasing the value of
Xarchie.numHosts. Xarchie parses the labels to determine the hostname:
anything up to whitespace constitutes the hostname (and optional port
number), anything after is simply commentary.
Translation Actions
The following action procedures are registered for Xarchie and can be
bound to widget events using the translations resource (see the Xt man‐
ual, Appendix C). The actions of the browser widgets are hard-coded
since they are so essential to correct behaviour. They can however be
bound to different events using the notify() action (that is, you could
notify on some other event than mouse clicks, if you know what you're
doing).
Main panel actions
quit() Exit Xarchie. By default this is invoked by selecting "Quit"
from the File menu or by typing "Meta-Q" in any non-Text widget.
query()
Send the current contents of the "Search Term" text widget
(searchText) to Archie. By default this is performed by hitting
Return in searchText or by selecting "Query Item" from the Query
menu.
query-host()
Fills the browser with the contents of the root directory of the
host given by the contents of the "Host" text widget (hostText).
By default this is performed by hitting Return in hostText or by
by selecting "Query Host" from the Query menu.
query-location()
Fills the browser with the contents of the directory given by
the "Location" text widget (locationText) and the host given by
the contents of the "Host" text widget (hostText). By default
this is performed by hitting Return in locationText or by
selecting "Query Location" from the Query menu.
abort()
Aborts the current query at the soonest possible time. Has no
effect is a query is not currently being processed. By default,
this invoked by clicking on the Abort button when it is active.
query-or-abort()
Invokes either query() or abort(), depending on whether a query
is in progress.
about()
Pops up the About panel.
ftp-get()
Begin retrieval of the currently-selected files. By default this
is invoked by selecting "Get" from the "File" menu, or by typing
"Meta-G" in any non-Text widget.
Browser actions
Items are selected in the browser using the Left mouse button, as
usual. Clicking with Shift does not clear other selections, allowing
multiple selections. This is implemented using the XfwfMultiList trans‐
lation actions Notify(), Set(), Toggle(), and OpenMany(), unless your
version of Xarchie was compiled to not use the XfwfMultiList widget
(see the Imakefile or your local installer). Modify at your own risk!
The following actions are used for other browser operations.
browser-up()
Shifts the browser left (i.e., up the file hierarchy) if possi‐
ble. By default this is invoked by clicking on the "<<<" button
(browserUpButton), or by clicking the Middle mouse button in the
browser, or by hitting the "Left" key (often the left arrow on
the cursor keypad).
browser-down()
Shifts the browser right (ie., down the file hierarchy) if pos‐
sible. By default this is invoked by clicking on the ">>>" but‐
ton (browserDownButton), or by clicking the Right mouse button
in the browser, or by hitting the "Right" key (often the right
arrow on the cursor keypad).
browser-top()
Shifts the browser to its leftmost position (i.e., the top of
the file hierarchy). By default this is invoked by clicking
with Shift on the "<<<" button (browserUpButton) or by hitting
the "Home" key.
browser-open-directories()
Expands selected directories. If the browser was expanded
uniquely and successfully, it will be shifted right to display
the new information. By default, this is invoked by double-
clicking in the browser.
browser-open-files()
Retrieves selected files by FTP into a temporary file and dis‐
plays them using View windows.
browser-open-all()
Opens the selected items by expanding selected directories and
retrieving selected files for viewing. By default, this is
invoked by selecting "Open" from the File menu, or by typing
"Meta-O" in any non-text widget.
Settings actions
The following actions control the Settings Panel and can be used to
change some settings without using the panel.
popup-settings()
Pops up the Settings Panel, and resets its values to those cur‐
rently in effect. Raises the Settings Panel if it is already
popped up. By default this is performed by selecting "Other" on
the Settings menu.
settings-apply()
Sets the current settings from the values on the Settings Panel.
By default this is performed by clicking the "Apply" button on
the Settings Panel.
settings-default()
Resets the values on the Settings Panel to the default settings,
but does not affect the current settings until the set‐
tings-apply() action is invoked. By default, this is invoked by
clicking on the "Default" button on the Settings Panel.
settings-done()
Pops down the Settings Panel. If there are changes that have not
be applied, then a popup confirm box allows the user to discard
the settings or go back and apply them. By default, this is
invoked by clicking on the "Done" button on the Settings Panel.
set-host(hostname)
This action sets the Archie host as indicated on the Settings
Panel, but does not affect the current settings until the set‐
tings-apply() action is invoked.
set-host-now(hostname)
Sets the Archie host immediately without waiting for set‐
tings-apply().
set-search-type(type)
This action sets the searchType as indicated on the Settings
Panel, but does not affect the current settings until the set‐
tings-apply() action is invoked.
set-search-type-now(type)
Sets the searchType immediately without waiting for set‐
tings-apply().
set-sort-type(type)
This action sets the sortType as indicated on the Settings
Panel, but does not affect the current settings until the set‐
tings-apply() action is invoked.
set-sort-type-now(type)
Sets the sortType immediately without waiting for set‐
tings-apply().
set-nice-level(level)
This action sets the niceLevel as indicated on the Settings
Panel, but does not affect the current settings until the set‐
tings-apply() action is invoked.
set-nice-level-now(level)
Sets the niceLevel immediately without waiting for set‐
tings-apply().
settings-submenu()
This action procedure is documented here only for completeness.
It should only be used for BtnMotion events in the settingsMenu
widget. It invokes the appropriate pullright menu for the Set‐
tings menu. Believe me, you don't want to deal with this.
File actions
The operation of the File panel is hard-coded. The following actions
are used to pop it up however:
file-save()
Pops up the File panel, and resets its values in preparation for
saving the database. By default this is invoked by selecting
"Save" from the "File" menu or by typing "Meta-S" in any non-
Text widget.
file-load()
Pops up the File panel, and resets its values in preparation for
reloading the database. By default this is invoked by selecting
"Load" from the "File" menu or by typing "Meta-L" in any non-
Text widget.
file-write()
Pops up the File panel, and resets its values in preparation for
writing the database in a human-readable form. By default this
is invoked by selecting "Write" from the "File" menu or by typ‐
ing "Meta-W" in any non-Text widget.
Help actions
help() Pops up the Help panel.
help-done()
Dismisses the Help panel.
help-prev()help-next()
Selects the previous or next help topic, respectively.
help-up()help-down()
Scrolls the text of the current help topic up or down one page,
respectively. This is an alternative to using the Text widget's
scrollbar.
Miscellaneous actions
ftp-trace-done()
Dismisses the FTP Trace window. By default, this is invoked by
clicking on the "Dismiss" button in the FTP Trace window.
Environment Variables
The following environment variables are used by Xarchie if they are
defined:
TMPDIR - Directory for "Open"-ed files
XAPPLRESDIR - Directory containing Xarchie resource file
USER - Username for FTP mail address
HOSTNAME - Hostname for FTP mail address
Files
Xarchie - default Xarchie resource file
Diagnostics
Xarchie indicates X errors using the ever-popular default X error han‐
dler that prints a message and dies, possibly leaving a large core dump
somewhere.
Errors due to incorrect resource specifications cause an error message
on stderr, but do not kill Xarchie (usually).
Errors due to incorrect user commands or problems with the connection
to Archie result in a popup alert box being displayed. Clicking on the
indicated button in the alert box will make it go away and allow you to
continue.
An incorrect value for the FTP mail address (as determined from the
system information or from the USER and HOSTNAME variables) can result
in access being denied by some anonymous FTP servers. See the descrip‐
tion of the ftpMailAddress non-widget resource if your system has prob‐
lems with this.
If you continually get "Can't resolve hostname" errors when you try to
query, then Xarchie was not built properly. Contact your local main‐
tainer and suggest that they read the PROBLEMS file concerning the
"resolv" library.
If your queries always time out, then there are two possibilities.
First, and by far the most likely, is that the server is simply busy.
Try again later. The other possibility is that UDP traffic is disabled
on your system. You should contact your local maintainer and ask them
to read the PROBLEMS files concerning UDP traffic.
Known Bugs
Crashes have been observed when the Help text is scrolled. There is no
fix, but see the PROBLEMS file for some discussion.
The list of files in the FileChooser widgets don't seem to get dis‐
played properly all the time. That is, sometimes items seem to be drawn
on top of each other. Refreshing the window (eg., iconify/deiconify or
scrolling up/down) clears it up. This seems like an Xaw bug, but is
difficult to repeat in isolation.
Your mileage may vary regarding the Xarchie icon changing to reflect
search and transfer status. Your window manager may not support appli‐
cation-specified icons, or may not support them changing dynamically.
See the PROBLEMS file for some discussion.
It is not currently possible to abort during nameserver lookup. Per‐
haps some day I'll get motivated to add asynchronous DNS code.
The browser has a hard-coded maximum depth, beyond which you cannot
expand directories. I don't think it will be a major problem however.
Reporting Bugs
If you have problems with or questions about an individual Archie
server site, contact archie-admin at that site. If you have any ques‐
tions about Archie itself, write to info@bunyip.com. If you have ques‐
tions about Prospero, write to info-prospero@isi.edu. The USENET news‐
group comp.archives.admin may also be helpful.
If you have a problem, please read the "Known Bugs" section first, then
contact your local maintainer and/or refer to the PROBLEMS and INSTALL
files in the Xarchie distribution.
When reporting bugs, problems, suggestions or contributions, please be
sure to send them to the right place. Issues dealing with the X inter‐
face should be sent to George Ferguson (ferguson@cs.rochester.edu).
Please be sure to include sufficient details, including hardware, OS,
compiler, version of X, and the like. No amount of detail is too much.
Brendan Kehoe (brendan@cygnus.com) is in charge of the archie clients
and most of the network stuff underlying Xarchie, Cliff Neuman
(bcn@isi.edu) is in charge of Prospero, and Alan Emtage and Peter
Deutsch ({bajan,peterd}@bunyip.com) are in charge of the Archie project
itself. Individual archie servers, however, are maintained locally at
each server site (archie-admin@<server-host>).
AUTHOR
George Ferguson, University of Rochester,
(ferguson@cs.rochester.edu)
Original standalone archie program by Brendan Kehoe,
(brendan@cs.widener.edu).
Original Prospero archie program by Clifford Neuman,
(bcn@isi.edu).
The archie service was conceived of and implemented by Alan Emtage
(bajan@bunyip.com), Peter Deutsch (peterd@bunyip.com) and Bill Heelan
(wheelan@bunyip.com).
U of Rochester 24 Aug 1993 XARCHIE(1)