home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-06-14 | 50.5 KB | 1,636 lines |
- Newsgroups: comp.sources.x
- From: ferguson@cs.rochester.edu (George Ferguson)
- Subject: v20i046: xarchie - An X browser interface to Archie, v2.0.6, Part18/24
- Message-ID: <1993Jun15.223455.1477@sparky.imd.sterling.com>
- X-Md4-Signature: 413fbbfc5df703b7796d0a8ead6583fb
- Sender: chris@sparky.imd.sterling.com (Chris Olson)
- Organization: Sterling Software
- Date: Tue, 15 Jun 1993 22:34:55 GMT
- Approved: chris@sparky.imd.sterling.com
-
- Submitted-by: ferguson@cs.rochester.edu (George Ferguson)
- Posting-number: Volume 20, Issue 46
- Archive-name: xarchie/part18
- Environment: X11
- Supersedes: xarchie: Volume 14, Issue 82-90
-
- Submitted-by: ferguson@cs.rochester.edu
- Archive-name: xarchie-2.0.6/part18
-
- #!/bin/sh
- # this is Part.18 (part 18 of xarchie-2.0.6)
- # do not concatenate these parts, unpack them in order with /bin/sh
- # file xarchie-2.0.6/xarchie.man continued
- #
- if test ! -r _shar_seq_.tmp; then
- echo 'Please unpack part 1 first!'
- exit 1
- fi
- (read Scheck
- if test "$Scheck" != 18; then
- echo Please unpack part "$Scheck" next!
- exit 1
- else
- exit 0
- fi
- ) < _shar_seq_.tmp || exit 1
- if test ! -f _shar_wnt_.tmp; then
- echo 'x - still skipping xarchie-2.0.6/xarchie.man'
- else
- echo 'x - continuing file xarchie-2.0.6/xarchie.man'
- sed 's/^X//' << 'SHAR_EOF' >> 'xarchie-2.0.6/xarchie.man' &&
- This resource can be set with the
- .B \-search
- option, or its abbreviations
- .BR \-e ,
- .BR \-s ,
- .BR \-c ,
- .BR \-r ,
- .BR \-es ,
- .BR \-ec ,
- or
- .BR \-er ,
- or on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBsortType\fP"
- Sets the sort mode for displaying Archie responses. This can be one of
- .IR name ,
- .IR date ,
- or
- .IR weight .
- See the section of the Settings Panel, above, for a description of the
- various search types. This resource can be set with the
- .B \-sort
- option, or its abbreviations
- .B \-t
- or
- .BR \-w ,
- or on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBhostWeights\fP"
- Specifies the weights used to order hosts when sorting by
- .I weight
- is selected. The format of this resource is a series of entries of the
- form:
- X
- .ce
- weight host [hosts...] {,|\en}
- X
- where parts of an entry are separated by spaces or tabs and entries
- are separated by a comma or newline. Each entry specifies 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:
- X
- .nf
- .na
- X 1 edu com net gov mil us\en\e
- X 2 ca\en\e
- X 3 uk de nl fi fr eu.net\en\e
- X 100 au nz jp
- .ad
- .fi
- X
- 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
- .I after
- any unknown (i.e. non-matching) hosts. This resource can be set on the
- Settings Panel.
- .IP
- If this resource is not defined, Xarchie will attempt to make an
- intelligent choice by comparing the system's idea of its hostname 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.
- .\" - - - - - - - -
- .IP "\fBniceLevel\fP"
- 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
- .B \-nice
- option or on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBmaxHits\fP"
- Sets the maximum number of matches allowed per query. The default is 99.
- This resource can be set with the
- .B \-maxHits
- option or on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBoffset\fP"
- Sets the Prospero offset. The default is 0. This resource can be set
- with the
- .B \-offset
- option or on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBtimeout\fP"
- Sets the initial timeout value, in seconds. The default is 4. This
- resource can be set on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBretries\fP"
- Sets the number of retries, where the timeout doubles every retry.
- This resource can be set on the Settings Panel.
- .\" - - - - - - - -
- .IP "\fBdebugLevel\fP"
- Sets the Prospero debugging level. Higher numbers mean more verbose
- 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
- .B \-debug
- or
- .B \-D
- options.
- .\" - - - - - - - -
- .SH " Browser Resources"
- .IP "\fBautoScroll\fP"
- 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
- .B \-noscroll
- option and can be changed on the Settings Panel.
- .IP "\fBpasteBuffer\fP"
- 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:
- X
- .ce
- \fIhost\fP:\fIlocation\fP/\fIfile\fP
- X
- This allows them to be used by other applications using
- XXFetchBytes(3X). The Xarchie distribution includes a sample program
- (xcutbuf.c) that retrieves the contents of a cutbuffer property.
- .\" - - - - - - - -
- .SH " FTP Resources"
- .IP "\fBftpMailAddress\fP"
- 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
- .B USER
- and
- .B 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.
- .\" - - - - - - - -
- .IP "\fBftpLocalDir\fP"
- 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.
- .\" - - - - - - - -
- .IP "\fBftpType\fP"
- Sets the transfer type for ftp transfers. This will be used as the
- initial value of the "Ftp transfer type" item on the Settings Panel.
- It should be one of "ascii" or "binary".
- .\" - - - - - - - -
- .IP "\fBftpPrompt\fP"
- 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.
- .\" - - - - - - - -
- .IP "\fBftpTrace\fP"
- 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.
- .\" - - - - - - - -
- .IP "\fBftpStrip\fP"
- Specifies whether to strip carriage returns from files transferred in
- ASCII mode. This will be used as the initial value of the "Strip CR"
- item on the Settings Panel.
- .\" - - - - - - - -
- .SH " Database Writing Resources"
- .IP "\fBfileWriteOnePerLine\fP"
- 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".
- .\" - - - - - - - -
- .SH " Special Font Resources"
- XXarchie uses two fonts by default: one "normal" and one "bold".
- However, 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:
- .IP "\fBxarchieFont\fP"
- The name of the default font used by Xarchie widgets. If any widget
- specifies a font resource as "xarchieFont", this font will be used.
- .IP "\fBxarchieBoldFont\fP"
- Like the above, but specifies the font used by any widget that
- specifies a font resource of "xarchieBoldFont".
- .PP
- 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.
- .\" - - - - - - - -
- .SH " Other Resources"
- .IP "\fBvisualType\fP"
- This resource allows you to override Xarchie's builtin determination
- of the type of display, which it uses to specify appropriate 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.
- .IP "\fBdefaultIcon\fP"
- 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 variety of places,
- including directories given by the global resource
- .BR bitmapFilePath .
- .IP "\fBbusyIcon\fP"
- 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
- .B 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.
- .\"----------------------------------------------------------
- .SH " Widget Hierarchies"
- .PP
- XXarchie uses primarily Athena widgets, with some extra sub-classes as
- described below.
- .\" - - - - - - - -
- .SH " Main Xarchie Widgets"
- The widget hierarchy for the main Xarchie display is as follows:
- X
- .na
- .nf
- XXarchie xarchie
- X [Form color|gray] <-- Color or gray-scale displays only
- X Paned outerPaned
- X Form buttonForm
- X MenuButton fileButton
- X MenuButton settingsButton
- X MenuButton queryButton
- X Command abortButton
- X Command helpButton
- X Label,Text status{Label,Text}
- X Form browserForm
- X Command browserUpButton
- X Command browserDownButton
- X Paned browserPaned
- X Viewport browserViewport0
- X XfwfMultiList browserList0
- X Viewport browserViewport1
- X XfwfMultiList browserList1
- X Viewport browserViewport2
- X XfwfMultiList browserList2
- X Form stringForm
- X Label,Text search{Label,Text}
- X Label,Text host{Label,Text}
- X Label,Text location{Label,Text}
- X Label,Text file{Label,Text}
- X Label,Text size{Label,Text}
- X Label,Text modes{Label,Text}
- X Label,Text date{Label,Text}
- .fi
- .ad
- X
- 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
- applicable resources should use the "Xarchie*" prefix. On gray-scale
- displays, the extra widget is named "gray". On monochrome displays, no
- extra widget is created.
- .PP
- 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).
- .I Xarchie
- can be compiled to use standard Athena List widgets instead. See the
- Imakefile or your local installer.
- .PP
- To describe this widget hierarchy briefly,
- .I outerPaned
- controls the relative sizes of the three horizontal display areas while
- .I browserPaned
- allows the browser panels to be resized independently. Each browser
- panel consists of a Viewport to allow it to scroll and an
- XXfwfMultiList (or List) to display the entries.
- .PP
- The command buttons and status widgets are pretty straightforward. The
- .I fileButton
- pops up the
- .IR fileMenu ,
- whose items invoke the obvious actions (see below) when selected. The
- .I settingsButton
- pops up the
- .IR settingsMenu ,
- which uses some special translations and the
- .B settings\-submenu()
- action to permit the use of pullright submenus. The
- .I queryButton
- pops up the
- .IR queryMenu ,
- the
- .I abortButton
- (when active) invokes the
- .B abort()
- action,
- and the
- .I helpButton
- invokes the
- .B help()
- action to pop up the Help panel.
- .PP
- In the bottom pane, the
- .I searchText
- widget is used to enter the search term, and by default it binds Return
- to the
- .B query()
- action (see below) to send the query to Archie. The
- .I hostText
- binds Return to
- .B query\-host()
- and the
- .I locationText
- binds Return to
- .BR query\-location() .
- All the other Text items in the
- .I stringForm
- cannot be edited and are used to display information about the current
- browser selection.
- .\" - - - - - - - -
- .SH " Settings Panel Widgets"
- .PP
- The "Panel" item on the Settings menu
- pops up the Settings Panel, which has the following widget hierarchy:
- X
- .na
- .nf
- X TopLevelShell settingsShell
- X Form settingsForm
- X Command setDoneButton
- X Command setApplyButton
- X Command setDefaultButton
- X MenuButton,AsciiText setHost{Button,Text}
- X MenuButton,Label setSearch{Button,Label}
- X MenuButton,Label setSort{Button,Label}
- X Label,AsciiText setHostWeights{Label,Text}
- X MenuButton,AsciiText setNice{Button,Text}
- X Label,AsciiText setMaxHits{Label,Text}
- X Label,AsciiText setTimeout{Label,Text}
- X Label,AsciiText setRetries{Label,Text}
- X Label,AsciiText setAutoScroll{Button,Label}
- X Label,AsciiText ftpMailAddress{Label,Text}
- X Label,AsciiText ftpLocalDir{Label,Text}
- X MenuButton,Label ftpType{Button,Label}
- X MenuButton,Label ftpPrompt{Button,Label}
- X MenuButton,Label ftpTrace{Button,Label}
- X MenuButton,Label ftpStrip{Button,Label}
- .fi
- .ad
- X
- The
- .I setDoneButton
- invokes the
- .B settings\-done()
- action, the
- .I setApplyButton
- invokes
- .BR settings\-apply() ,
- and the
- .I setDefaultButton
- invokes
- .BR settings\-default() .
- The actions are described below. The MenuButton widgets pop up menus
- described below under "Menus". The AsciiText widgets are used to
- display and edit the corresponding parameters.
- .\" - - - - - - - -
- .SH " File Panel Widgets"
- .PP
- The "Save", "Load", and "Write" items on the File menu pop up the
- File panel, which has the following widget hierarchy:
- X
- .na
- .nf
- TopLevelShell fileShell
- X Form fileForm
- X Label fileLabel
- X XfwfFileChooser fileChooser
- X Label,AsciiText filename{Label,Text}
- X MenuButton,Label fileWriteMode{Button,Label}
- X Command fileOkButton, fileCancelButton
- .fi
- .ad
- X
- .PP
- The XfwfFileChooser widget provides a browser for selecting files.
- .I Xarchie
- can be compiled without the FileChooser, if necessary. See the
- Imakefile or your local installer.
- .PP
- In any event, the
- .I fileLabel
- indicates what operation is being performed, the fileChooser,
- fileText, and buttons are used to select a file, and the
- .I fileWriteModeButton
- pops up the
- .I fileWriteModeMenu
- (only enabled for Write). Typing Return in the
- .I filenameText
- is the same as clicking the
- .IR fileOkButton ,
- and sending the WM_DELETE_WINDOW message (typically from the window
- manager) is the same as clicking on the
- .IR fileCancelButton .
- .\" - - - - - - - -
- .SH " View Window Widgets"
- Whenever a file is retrieved by "Open", it is displayed in a window
- with the following widget hierarchy:
- X
- .nf
- .na
- TopLevelShell viewShell
- X Form viewForm
- X Command viewDoneButton
- X Command viewDownButton
- X Command viewUpButton
- X Command viewSaveButton
- X Text viewText
- .ad
- .fi
- X
- The title of the TopLevel shell is set to the basename of the file
- being viewed in the
- .IR viewText .
- The operation of the buttons is all hard-coded.
- Clicking on the
- .I viewSaveButton
- results in the following panel being displayed to select the file to
- save to:
- X
- .na
- .nf
- TopLevelShell viewSaveShell
- X Form viewSaveForm
- X Label viewSaveLabel
- X AsciiText viewSaveLabelText
- X XfwfFileChooser fileChooser
- X Label viewSaveTextLabel
- X AsciiText viewSaveText
- X Command viewSaveOkButton, viewSaveCancelButton
- .fi
- .ad
- X
- The
- .I viewSaveLabelText
- indicates the name of the temporary file from which the save should be
- made and connot be changed. The
- .I fileChooser
- and
- .I fileText
- allow you to select the file to save to.
- .\" - - - - - - - -
- .SH " Help Panel Widgets"
- The "Help" button in Xarchie's top pane pops up the Help panel, which
- has the following widget hierarchy:
- X
- .na
- .nf
- TopLevelShell helpShell
- X Form helpForm
- X Label helpLabel
- X Viewport helpViewport
- X List helpList
- X Text helpText
- X Command helpDoneButton
- X Command helpPrevButton
- X Command helpNextButton
- X Command helpDownButton
- X Command helpUpButton
- .fi
- .ad
- X
- The
- .I helpLabel
- identifies the version of Xarchie. The
- .I helpList
- displays the help topics, and the corresponding text is displayed in
- the
- .IR helpText .
- The
- .I helpDoneButton
- invokes the
- .B help\-done()
- action, the
- .I helpPrevButton
- invokes the
- .B help\-prev()
- action, and the
- .I helpNextButton
- invokes the
- .B help\-next()
- action. The
- .I helpDownButton
- and
- .I helpUpButton
- invoke the
- .B help\-down()
- and
- .B help\-up()
- actions respectively.
- .\" - - - - - - - -
- .SH " About Panel Widgets"
- .PP
- Selecting the "About" item on the File menu
- pops up the About panel, which has the following widget
- hierarchy:
- X
- .na
- .nf
- TopLevelShell aboutShell
- X Form aboutForm
- X Label aboutLabel{0,1,2,3,4,5}
- X Command aboutDoneButton
- .fi
- .ad
- X
- 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.
- .SH " Popup Widgets"
- .PP
- 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:
- X
- .na
- .nf
- TransientShell alertShell
- X Dialog alertDialog
- X Command okButton
- X
- TransientShell confirmShell
- X Dialog confirmDialog
- X Command yesButton,noButton
- .fi
- .ad
- X
- respectively. Several actions are defined (see below) for use in these
- popups.
- .\" - - - - - - - -
- .SH " Menus"
- The MenuButton widgets on both the main Xarchie display and on the
- various panels use standard Athena SimpleMenu widgets. The following
- naming conventions are used to allow resources to be specified: if the
- parent SimpleMenu widget is named "\fIfoo\fPMenu", then the
- SmeBSBObjects making up the entries are named
- "\fIfoo\fPMenuItem\fIn\fP", where \fIn\fP starts at 0 for the first
- item in the menu. The menus are all children of the main Xarchie
- shell,
- .IR toplevel .
- For example, the File menu has widget hierarchy
- X
- .nf
- .na
- SimpleMenu fileMenu
- X SmeBSB menuLabel
- X SmeBSB fileMenuItem{0,1,2,3,4,5,6}
- .ad
- .fi
- X
- .PP
- There are three things worth mentioning. First, as noted above, the
- .I settingsMenu
- uses special translations and the
- .B settings\-submenu()
- action to allow pullright submenus. Secondly, the submenus available
- from the Settings menu (\c
- .IR searchMenu ,
- .IR sortMenu ,
- .IR niceMenu ,
- and
- .IR hostMenu )
- and those available on the Settings Panel (\c
- .IR setSearchMenu ,
- .IR setSortMenu ,
- .IR setNiceMenu ,
- and
- .IR 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.
- .PP
- 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
- .I hostMenu
- and
- .IR setHostMenu .
- These menus use the
- .I numHosts
- non-widget resource to indicate how many items are on the menu. Thus
- you can add hosts to the menu by adding
- .I label
- resources for the new
- .IR hostMenuItem 's
- and increasing the value of
- .IR Xarchie.numHosts .
- XXarchie parses the labels to determine the hostname: anything up to
- whitespace constitutes the hostname (and optional port number),
- anything after is simply commentary.
- .\"----------------------------------------------------------
- .SH " Translation Actions"
- .PP
- The following action procedures are registered for Xarchie and can be
- bound to widget events using the
- .B translations
- resource (see the Xt manual, 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
- .B notify()
- action (that is, you could notify on some other event than mouse
- clicks, if you know what you're doing).
- .\" - - - - - - - -
- .SH " Main panel actions"
- .IP \fBquit()\fP
- Exit Xarchie. By default this is invoked by selecting "Quit" from the
- File menu or by typing "Meta-Q" in any non-Text widget.
- .IP \fBquery()\fP
- Send the current contents of the "Search Term" text widget
- (\fIsearchText\fP) to
- .IR Archie .
- By default this is performed by hitting Return in \fIsearchText\fP or
- by selecting "Query Item" from the Query menu.
- .IP \fBquery-host()\fP
- Fills the browser with the contents of the root directory of the host
- given by the contents of the "Host" text widget (\fIhostText\fP). By
- default this is performed by hitting Return in \fIhostText\fP or by
- by selecting "Query Host" from the Query menu.
- .IP \fBquery-location()\fP
- Fills the browser with the contents of the directory given by the
- "Location" text widget (\fIlocationText\fP) and the host
- given by the contents of the "Host" text widget (\fIhostText\fP). By
- default this is performed by hitting Return in \fIlocationText\fP or
- by selecting "Query Location" from the Query menu.
- .IP \fBabort()\fP
- 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.
- .IP \fBquery-or-abort()\fP
- Invokes either
- .B query()
- or
- .BR abort() ,
- depending on whether a query is in progress.
- .IP \fBabout()\fP
- Pops up the About panel.
- .IP \fBftp-get()\fP
- 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.
- .\" - - - - - - - -
- .SH " Browser actions"
- .PP
- 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
- translation actions
- .BR Notify() ,
- .BR Set() ,
- .BR Toggle() ,
- and
- .BR OpenMany() ,
- unless your version of Xarchie was compiled to not use the
- XXfwfMultiList widget (see the Imakefile or your local installer).
- Modify at your own risk!
- .PP
- The following actions are used for other browser operations.
- .IP \fBbrowser-up()\fP
- Shifts the browser left (i.e., up the file hierarchy) if possible.
- By default this is invoked by clicking on the "<<<" button
- (\fIbrowserUpButton\fP), or by clicking the Middle mouse button in the
- browser, or by hitting the "Left" key (often the left arrow on the
- cursor keypad).
- .IP \fBbrowser-down()\fP
- Shifts the browser right (ie., down the file hierarchy) if possible.
- By default this is invoked by clicking on the ">>>" button
- (\fIbrowserDownButton\fP), or by clicking the Right mouse button in
- the browser, or by hitting the "Right" key (often the right arrow
- on the cursor keypad).
- .IP \fBbrowser-top()\fP
- 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 (\fIbrowserUpButton\fP) or by hitting the "Home" key.
- .IP \fBbrowser-open-directories()\fP
- 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.
- .IP \fBbrowser-open-files()\fP
- Retrieves selected files by FTP into a temporary file and displays
- them using View windows.
- .IP \fBbrowser-open-all()\fP
- 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.
- .\" - - - - - - - -
- .SH " Settings actions"
- The following actions control the Settings Panel and can be used to
- change some settings without using the panel.
- .IP \fBpopup-settings()\fP
- Pops up the Settings Panel, and resets its values to those currently
- in effect. Raises the Settings Panel if it is already popped up. By
- default this is performed by selecting "Other" on the Settings menu.
- .IP \fBsettings-apply()\fP
- 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.
- .IP \fBsettings-default()\fP
- Resets the values on the Settings Panel to the default settings,
- but does not affect the current settings until the
- .B settings\-apply()
- action is invoked. By default, this is invoked by clicking on the
- "Default" button on the Settings Panel.
- .IP \fBsettings-done()\fP
- 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.
- .IP \fBset-host(\fRhostname\fB)\fR
- This action sets the
- .I Archie
- host as indicated on the Settings Panel, but does not affect the
- current settings until the
- .B settings\-apply()
- action is invoked.
- .IP \fBset-host-now(\fRhostname\fB)\fR
- Sets the
- .I Archie
- host immediately without waiting for
- .BR settings\-apply() .
- .IP \fBset-search-type(\fRtype\fB)\fR
- This action sets the searchType as indicated on the Settings Panel,
- but does not affect the current settings until the
- .B settings\-apply()
- action is invoked.
- .IP \fBset-search-type-now(\fRtype\fB)\fR
- Sets the searchType immediately without waiting for
- .BR settings\-apply() .
- .IP \fBset-sort-type(\fRtype\fB)\fR
- This action sets the sortType as indicated on the Settings Panel,
- but does not affect the current settings until the
- .B settings\-apply()
- action is invoked.
- .IP \fBset-sort-type-now(\fRtype\fB)\fR
- Sets the sortType immediately without waiting for
- .BR settings\-apply() .
- .IP \fBset-nice-level(\fRlevel\fB)\fR
- This action sets the niceLevel as indicated on the Settings Panel,
- but does not affect the current settings until the
- .B settings\-apply()
- action is invoked.
- .IP \fBset-nice-level-now(\fRlevel\fB)\fR
- Sets the niceLevel immediately without waiting for
- .BR settings\-apply() .
- .IP \fBsettings-submenu()\fP
- This action procedure is documented here only for completeness. It
- should only be used for BtnMotion events in the
- .I settingsMenu
- widget. It invokes the appropriate pullright menu for the Settings
- menu. Believe me, you don't want to deal with this.
- .\" - - - - - - - -
- .SH " File actions"
- The operation of the File panel is hard-coded. The following actions
- are used to pop it up however:
- .IP \fBfile-save()\fP
- 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.
- .IP \fBfile-load()\fP
- 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.
- .IP \fBfile-write()\fP
- 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 typing
- "Meta-W" in any non-Text widget.
- .\" - - - - - - - -
- .SH " Help actions"
- .IP \fBhelp()\fP
- Pops up the Help panel.
- .IP \fBhelp-done()\fP
- Dismisses the Help panel.
- .sp
- .in -\n(INu
- \fBhelp-prev()\fP
- .br
- \fBhelp-next()\fP
- .in +\n(INu
- Selects the previous or next help topic, respectively.
- .in
- .sp
- \fBhelp-up()\fP
- .br
- \fBhelp-down()\fP
- .in +\n(INu
- 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.
- .in
- .\" - - - - - - - -
- .SH " Miscellaneous actions"
- .IP \fBftp-trace-done()\fP
- Dismisses the FTP Trace window. By default, this is invoked by
- clicking on the "Dismiss" button in the FTP Trace window.
- .\"----------------------------------------------------------
- .SH " Environment Variables"
- .PP
- The following environment variables are used by Xarchie if they are
- defined:
- .PP
- TMPDIR - Directory for "Open"-ed files
- .br
- XXAPPLRESDIR - Directory containing Xarchie resource file
- .br
- USER - Username for FTP mail address
- .br
- HOSTNAME - Hostname for FTP mail address
- .\"----------------------------------------------------------
- .SH " Files"
- .PP
- XXarchie - default Xarchie resource file
- .\"----------------------------------------------------------
- .SH " Diagnostics"
- .PP
- XXarchie indicates X errors using the ever-popular default X error
- handler that prints a message and dies, possibly leaving a large core
- dump somewhere.
- .PP
- Errors due to incorrect resource specifications cause an error message
- on stderr, but do not kill Xarchie (usually).
- .PP
- 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.
- .PP
- 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
- description of the
- .B ftpMailAddress
- non-widget resource if your system has problems with this.
- .PP
- If you continually get "Can't resolve hostname" errors when you try to
- query, then Xarchie was not built properly. Contact your local
- maintainer and suggest that they read the PROBLEMS file concerning the
- "resolv" library.
- .PP
- 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.
- .\"----------------------------------------------------------
- .SH " Known Bugs"
- .PP
- Crashes have been observed when the Help text is scrolled. There is no
- fix, but see the PROBLEMS file for some discussion.
- .PP
- The list of files in the FileChooser widgets don't seem to get
- displayed 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.
- .PP
- Your mileage may vary regarding the Xarchie icon changing to reflect
- search and transfer status. Your window manager may not support
- application-specified icons, or may not support them changing
- dynamically. See the PROBLEMS file for some discussion.
- .PP
- It is not currently possible to abort during nameserver lookup.
- Perhaps some day I'll get motivated to add asynchronous DNS code.
- .PP
- 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.
- .\"----------------------------------------------------------
- .SH " Reporting Bugs"
- .PP
- If you have any questions about Archie itself, write to
- archie-l@cs.mcgill.ca. If you have questions about Prospero, write to
- info-prospero@isi.edu.
- .PP
- 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.
- .PP
- When reporting bugs, problems, suggestions or contributions, please be
- sure to send them to the right place. Issues dealing with the X
- interface 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.
- .PP
- 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.
- .\"===========================================================
- .SH AUTHOR
- .PP
- George Ferguson, University of Rochester,
- .br
- (ferguson@cs.rochester.edu)
- .PP
- Original standalone
- .I archie
- program by Brendan Kehoe,
- .br
- (brendan@cs.widener.edu).
- .PP
- Original Prospero
- .I archie
- program by Clifford Neuman,
- .br
- (bcn@isi.edu).
- .PP
- .na
- The
- .I archie
- service was conceived of and implemented by Alan Emtage
- (bajan@bunyip.com), Peter Deutsch (peterd@bunyip.com)
- and Bill Heelan (wheelan@bunyip.com).
- SHAR_EOF
- echo 'File xarchie-2.0.6/xarchie.man is complete' &&
- chmod 0644 xarchie-2.0.6/xarchie.man ||
- echo 'restore of xarchie-2.0.6/xarchie.man failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/xarchie.man'`"
- test 64512 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/xarchie.man: original size 64512, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/xarchie.xbm ==============
- if test -f 'xarchie-2.0.6/xarchie.xbm' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/xarchie.xbm (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/xarchie.xbm (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/xarchie.xbm' &&
- #define xarchie_width 32
- #define xarchie_height 32
- static unsigned char xarchie_bits[] = {
- X 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x80, 0x29, 0x19, 0xab, 0x8e,
- X 0xa9, 0xaa, 0xa8, 0x82, 0x91, 0x9b, 0xb8, 0x86, 0xa9, 0xaa, 0xa8, 0x82,
- X 0xa9, 0x2a, 0xab, 0x8e, 0x01, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff,
- X 0x01, 0x04, 0x20, 0x80, 0xfb, 0xed, 0x6f, 0xbf, 0x01, 0x04, 0x20, 0x80,
- X 0xfb, 0xed, 0x6f, 0xbf, 0x01, 0x04, 0x20, 0x80, 0xfb, 0xed, 0x6f, 0x80,
- X 0x01, 0x04, 0x20, 0x80, 0xfb, 0x0d, 0x60, 0x80, 0x01, 0x04, 0x20, 0x80,
- X 0x03, 0x0c, 0x60, 0x80, 0x01, 0x04, 0x20, 0x80, 0x03, 0x0c, 0x60, 0x80,
- X 0xff, 0xff, 0xff, 0xff, 0x01, 0x00, 0x00, 0x80, 0x9d, 0x56, 0xae, 0xad,
- X 0x01, 0x00, 0x00, 0x80, 0xbd, 0xad, 0x95, 0xb5, 0x01, 0x00, 0x00, 0x80,
- X 0x9d, 0x6a, 0xd6, 0xb6, 0x01, 0x00, 0x00, 0x80, 0xdd, 0x71, 0x8f, 0xb7,
- X 0x01, 0x00, 0x00, 0x80, 0xff, 0xff, 0xff, 0xff};
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/xarchie.xbm ||
- echo 'restore of xarchie-2.0.6/xarchie.xbm failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/xarchie.xbm'`"
- test 893 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/xarchie.xbm: original size 893, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/xcutbuf.c ==============
- if test -f 'xarchie-2.0.6/xcutbuf.c' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/xcutbuf.c (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/xcutbuf.c (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/xcutbuf.c' &&
- /*
- X * xcutbuf.c : Retrieve value of an X cut buffer
- X *
- X * George Ferguson, ferguson@cs.rochester.edu, 9 Feb 1993.
- X *
- X * Compile with local variant of:
- X * cc -o xcutbuf -I/usr/staff/include xcutbuf.c -L/usr/staff/lib -lX11
- X *
- X */
- X
- #include <stdio.h>
- #include <X11/Xlib.h>
- extern char *getenv();
- X
- char *program;
- X
- static void
- usage()
- {
- X fprintf(stderr,"usage: %s [-display display] [0-7]\n",program);
- X exit(1);
- }
- X
- main(argc,argv)
- int argc;
- char *argv[];
- {
- X
- X Display *display;
- X char *dispname = NULL, *data;
- X int bufnum = 0, n;
- X
- X program = argv[0];
- X argc -= 1;
- X argv += 1;
- X while (argc > 0) {
- X if (strncmp(argv[0],"-d",2) == 0) {
- X if (argc == 1) {
- X usage();
- X } else {
- X dispname = argv[1];
- X argc -= 1;
- X argv += 1;
- X }
- X } else if (*argv[0] < '0' || *argv[0] > '7') {
- X usage();
- X } else {
- X bufnum = *argv[0] - '0';
- X }
- X argc -= 1;
- X argv += 1;
- X }
- X if ((display=XOpenDisplay(dispname)) == NULL) {
- X if (dispname == NULL)
- X dispname = getenv("DISPLAY");
- X if (dispname == NULL)
- X dispname = "(null)";
- X fprintf(stderr,"%s: couldn't open display \"%s\"\n",program,dispname);
- X exit(2);
- X }
- X data = XFetchBuffer(display,&n,bufnum);
- X if (data != NULL) {
- X printf(data);
- X XFree(data);
- X }
- X XCloseDisplay(display);
- X exit(0);
- }
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/xcutbuf.c ||
- echo 'restore of xarchie-2.0.6/xcutbuf.c failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/xcutbuf.c'`"
- test 1283 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/xcutbuf.c: original size 1283, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/xtypes.h ==============
- if test -f 'xarchie-2.0.6/xtypes.h' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/xtypes.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/xtypes.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/xtypes.h' &&
- /*
- X * xtypes.h : A few types for files that don't include X11/Intrinsic.h
- X *
- X * George Ferguson, ferguson@cs.rochester.edu, 23 Apr 1993.
- X */
- X
- #ifndef _XTYPES_H
- #define _XTYPES_H
- X
- #include "config.h"
- X
- #ifdef CRAY
- typedef long Boolean;
- #else
- typedef char Boolean;
- #endif
- X
- #ifndef True
- #define True 1
- #endif
- #ifndef False
- #define False 0
- #endif
- #ifndef NULL
- #define NULL 0
- #endif
- X
- typedef char *String;
- typedef char *XtPointer;
- typedef char *XtInputId;
- typedef char *XtIntervalId;
- typedef char XFontStruct;
- typedef char *Pixmap;
- X
- #ifdef HAVE_MEMORY_H
- #include "memory.h"
- #endif
- X
- #define XtMalloc(SIZE) malloc(SIZE)
- #define XtCalloc(NUM,SIZE) calloc(NUM,SIZE)
- #define XtFree(PTR) if (PTR) free(PTR)
- #define XtNew(TYPE) ((TYPE *)malloc(sizeof(TYPE)))
- #define XtNewString(STR) (STR ? strcpy(malloc(strlen(STR)+1),STR) \
- X : NULL)
- #endif
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/xtypes.h ||
- echo 'restore of xarchie-2.0.6/xtypes.h failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/xtypes.h'`"
- test 841 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/xtypes.h: original size 841, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/xutil.c ==============
- if test -f 'xarchie-2.0.6/xutil.c' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/xutil.c (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/xutil.c (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/xutil.c' &&
- /*
- X * xutil.c : Miscellaneous X functions
- X *
- X * George Ferguson, ferguson@cs.rochester.edu, 23 Apr 1993.
- X */
- X
- #include <stdio.h>
- #include <X11/Intrinsic.h>
- #include <X11/Xaw/Text.h>
- #include <X11/StringDefs.h>
- X
- /*
- X * Functions defined here:
- X */
- void setWidgetString();
- void setWidgetLabel();
- char *getWidgetString();
- void appendWidgetText();
- X
- /* - - - - - - - - */
- X
- /*
- X * setWidgetString() : Set the given Text item's value to the given string.
- X */
- void
- setWidgetString(w,str)
- Widget w;
- char *str;
- {
- X Arg args[1];
- X
- X if (w != NULL && str != NULL) {
- X XtSetArg(args[0],XtNstring,str);
- X XtSetValues(w,args,1);
- X }
- }
- X
- /*
- X * setWidgetLabel() : Set the given Label item's label to the given string.
- X */
- void
- setWidgetLabel(w,str)
- Widget w;
- char *str;
- {
- X Arg args[1];
- X
- X if (w != NULL && str != NULL) {
- X XtSetArg(args[0],XtNlabel,str);
- X XtSetValues(w,args,1);
- X }
- }
- X
- /* - - - - - - - - */
- X
- char *
- getWidgetString(widget)
- Widget widget;
- {
- X Arg args[1];
- X char *s;
- X
- X XtSetArg(args[0],XtNstring,&s);
- X XtGetValues(widget,args,1);
- X return(s);
- }
- X
- char *
- getWidgetLabel(widget)
- Widget widget;
- {
- X Arg args[1];
- X char *s;
- X
- X XtSetArg(args[0],XtNlabel,&s);
- X XtGetValues(widget,args,1);
- X return(s);
- }
- X
- /* - - - - - - - - */
- /* Improved by Tim Auckland <tda10@cus.cam.ac.uk> */
- X
- void
- appendWidgetText(w,text)
- Widget w;
- char *text;
- {
- X XawTextBlock block;
- X XawTextPosition pos;
- X XawTextEditType saved;
- X Arg args[1];
- X
- X if ((block.length=strlen(text)) == 0)
- X return;
- X block.firstPos = 0;
- X block.format = FMT8BIT;
- X block.ptr = text;
- X XtCallActionProc(w,"end-of-file",NULL,NULL,0);
- X pos = XawTextGetInsertionPoint(w);
- X XtSetArg(args[0],XtNeditType,&saved);
- X XtGetValues(w,args,1);
- X XtSetArg(args[0],XtNeditType,XawtextAppend);
- X XtSetValues(w,args,1);
- X switch (XawTextReplace(w,pos,pos,&block)) {
- X case XawPositionError:
- X fprintf(stderr,"XawPositionError: `%s'\n",block.ptr);
- X break;
- X case XawEditError:
- X fprintf(stderr,"XawEditError: `%s'\n",block.ptr);
- X break;
- X }
- X XtSetArg(args[0],XtNeditType,saved);
- X XtSetValues(w,args,1);
- X XtCallActionProc(w,"end-of-file",NULL,NULL,0);
- }
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/xutil.c ||
- echo 'restore of xarchie-2.0.6/xutil.c failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/xutil.c'`"
- test 2166 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/xutil.c: original size 2166, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/xutil.h ==============
- if test -f 'xarchie-2.0.6/xutil.h' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/xutil.h (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/xutil.h (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/xutil.h' &&
- /*
- X * xutil.h : Miscellaneous X functions
- X *
- X * George Ferguson, ferguson@cs.rochester.edu, 23 Apr 1993.
- X */
- X
- extern void setWidgetString(
- #if NeedFunctionPrototypes
- X Widget w,
- X char *str
- #endif
- );
- X
- extern void setWidgetLabel(
- #if NeedFunctionPrototypes
- X Widget w,
- X char *str
- #endif
- );
- X
- extern char *getWidgetString(
- #if NeedFunctionPrototypes
- X Widget w
- #endif
- );
- X
- extern char *getWidgetLabel(
- #if NeedFunctionPrototypes
- X Widget w
- #endif
- );
- X
- extern void appendWidgetText(
- #if NeedFunctionPrototypes
- X Widget w,
- X char *text
- #endif
- );
- X
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/xutil.h ||
- echo 'restore of xarchie-2.0.6/xutil.h failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/xutil.h'`"
- test 557 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/xutil.h: original size 557, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/Ad2c/README ==============
- if test ! -d 'xarchie-2.0.6/Ad2c'; then
- echo 'x - creating directory xarchie-2.0.6/Ad2c'
- mkdir 'xarchie-2.0.6/Ad2c'
- fi
- if test -f 'xarchie-2.0.6/Ad2c/README' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/Ad2c/README (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/Ad2c/README (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/Ad2c/README' &&
- X
- X README for AD2C - convert resource files to C decls
- X
- X George Ferguson, ferguson@cs.rochester.edu
- X
- X 12 Nov 1990
- X Updated 8 Jul 1992
- X
- DESCRIPTION:
- X
- X Ad2c is a program which converts X resource files into C
- X declarations appropriate for inclusion as fallback resources.
- X The program is a sed script which is effectively a finite state
- X machine, escaping quotes and backslashes (and newlines where
- X necessary), and adding quotes and commas as needed for array
- X initialization.
- X
- DISCLAIMER:
- X
- X This software is provided as is with no warranty expressed or implied.
- X I hope you find it useful, but I won't be held responsable for
- X any damage that may occur from reading, compiling, installing or
- X using it.
- X
- X You are free to use any part of this code for other purposes. It
- X would be nice if you could keep my name on some part of whatever the
- X final product is.
- X
- INSTALLATION:
- X
- X 1. Edit the Imakefile to change the installation directories if
- X desired.
- X
- X 2. Execute "xmkmf" to make the Makefile.
- X
- X 3. Execute "make install" to install ad2c, and/or "make install.man"
- X to install the man page. Making ad2c itself is unnecessary.
- X
- HISTORY:
- X
- X 12 Nov 1990
- X - Written and released to alt.sources.
- X
- X 19 Mar 1991
- X From: ferguson@cs.rochester.edu
- X - Made it "self-contained" (ie. eliminated ad2c.sed)
- X - Added Imakefile
- X From: jerbil@ultra.com (Joseph Beckenbach)
- X - Wrote man page.
- X
- X 22 Jul 1991
- X From: ferguson@cs.rochester.edu
- X - Added USAGE section to man page and converted it to
- X use italic rather than bold font.
- X
- X Version 1.4: 6 Jan 1992
- X From: tim@cs.wisc.edu (Tim Theisen)
- X - Fixed example in man page.
- X From: mycroft@gnu.ai.mit.edu (Charles Hannum)
- X - Changes to work with Gnu and IBM sed, instead of relying
- X or quirky SunOS "-n" behaviour.
- X
- X Version 1.5: 7 Jan 1992
- X From: matthew@sunpix.East.Sun.COM (Matthew Stier)
- X - Escape quotes after escaping backslashes.
- X
- X Version 1.6: 8 Jul 1992
- X From: davidw@vista.atmos.uiuc.edu (David Wojtowicz)
- X - Semicolon after close-paren in example in manpage.
- X
- X Version 1.7: 19 Apr 1993
- X From: ferguson@cs.rochester.edu
- X - Remove comments inside sed command, and just put
- X them in the text.
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/Ad2c/README ||
- echo 'restore of xarchie-2.0.6/Ad2c/README failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/Ad2c/README'`"
- test 2249 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/Ad2c/README: original size 2249, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/Ad2c/Imakefile ==============
- if test -f 'xarchie-2.0.6/Ad2c/Imakefile' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/Ad2c/Imakefile (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/Ad2c/Imakefile (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/Ad2c/Imakefile' &&
- #
- # Imakefile for ad2c - Convert X resources to C decls
- #
- # George Ferguson, ferguson@cs.rochester.edu, 19 Mar 1991.
- #
- X
- # Where do you want this (if the default isn't okay)?
- #BINDIR = bin
- #MANDIR = man/man1
- # Default suffix is "1", change if you change MANDIR I guess
- ##undef ManSuffix
- ##define ManSuffix l
- X
- # Why is this not the default?
- INSTPGMFLAGS = -m 0755
- X
- AllTarget(ad2c)
- depend:
- X @echo 'no need to depend for ad2c'
- ad2c:
- X @echo 'ad2c is up to date'
- X
- InstallScript(ad2c,$(BINDIR))
- InstallManPage(ad2c,$(MANDIR))
- SHAR_EOF
- chmod 0644 xarchie-2.0.6/Ad2c/Imakefile ||
- echo 'restore of xarchie-2.0.6/Ad2c/Imakefile failed'
- Wc_c="`wc -c < 'xarchie-2.0.6/Ad2c/Imakefile'`"
- test 519 -eq "$Wc_c" ||
- echo 'xarchie-2.0.6/Ad2c/Imakefile: original size 519, current size' "$Wc_c"
- rm -f _shar_wnt_.tmp
- fi
- # ============= xarchie-2.0.6/Ad2c/Makefile ==============
- if test -f 'xarchie-2.0.6/Ad2c/Makefile' -a X"$1" != X"-c"; then
- echo 'x - skipping xarchie-2.0.6/Ad2c/Makefile (File already exists)'
- rm -f _shar_wnt_.tmp
- else
- > _shar_wnt_.tmp
- echo 'x - extracting xarchie-2.0.6/Ad2c/Makefile (Text)'
- sed 's/^X//' << 'SHAR_EOF' > 'xarchie-2.0.6/Ad2c/Makefile' &&
- # Makefile generated by imake - do not edit!
- # $XConsortium: imake.c,v 1.51 89/12/12 12:37:30 jim Exp $
- #
- # The cpp used on this machine replaces all newlines and multiple tabs and
- # spaces in a macro expansion with a single space. Imake tries to compensate
- # for this, but is not always successful.
- #
- X
- ###########################################################################
- # Makefile generated from "Imake.tmpl" and </tmp/IIf.a00917>
- # $XConsortium: Imake.tmpl,v 1.77 89/12/18 17:01:37 jim Exp $
- #
- # Platform-specific parameters may be set in the appropriate .cf
- # configuration files. Site-wide parameters may be set in the file
- # site.def. Full rebuilds are recommended if any parameters are changed.
- #
- # If your C preprocessor doesn't define any unique symbols, you'll need
- # to set BOOTSTRAPCFLAGS when rebuilding imake (usually when doing
- # "make Makefile", "make Makefiles", or "make World").
- #
- # If you absolutely can't get imake to work, you'll need to set the
- # variables at the top of each Makefile as well as the dependencies at the
- # bottom (makedepend will do this automatically).
- #
- X
- ###########################################################################
- # platform-specific configuration parameters - edit sun.cf to change
- X
- # platform: $XConsortium: sun.cf,v 1.38 89/12/23 16:10:10 jim Exp $
- # operating system: SunOS 4.0.3
- X
- ###########################################################################
- # site-specific configuration parameters - edit site.def to change
- X
- # site: $XConsortium: site.def,v 1.21 89/12/06 11:46:50 jim Exp $
- X
- X SHELL = /bin/sh
- X
- X TOP = ../.
- X CURRENT_DIR = ./Ad2c
- X
- X AR = ar cq
- X BOOTSTRAPCFLAGS =
- X CC = cc
- X
- X COMPRESS = compress
- X CPP = /lib/cpp $(STD_CPP_DEFINES)
- X PREPROCESSCMD = cc -E $(STD_CPP_DEFINES)
- X INSTALL = install
- X LD = ld
- X LINT = lint
- X LINTLIBFLAG = -C
- X LINTOPTS = -axz
- X LN = ln -s
- X MAKE = make
- X MV = mv
- X CP = cp
- X RANLIB = ranlib
- X RANLIBINSTFLAGS =
- X RM = rm -f
- X STD_INCLUDES =
- X STD_CPP_DEFINES =
- X STD_DEFINES =
- X EXTRA_LOAD_FLAGS =
- X EXTRA_LIBRARIES =
- X TAGS = ctags
- X
- X SHAREDCODEDEF = -DSHAREDCODE
- X SHLIBDEF = -DSUNSHLIB
- X
- X PROTO_DEFINES =
- X
- X INSTPGMFLAGS =
- X
- X INSTBINFLAGS = -m 0755
- X INSTUIDFLAGS = -m 4755
- X INSTLIBFLAGS = -m 0664
- X INSTINCFLAGS = -m 0444
- X INSTMANFLAGS = -m 0444
- X INSTDATFLAGS = -m 0444
- X INSTKMEMFLAGS = -g kmem -m 2755
- X
- X DESTDIR =
- X
- X TOP_INCLUDES = -I$(INCROOT)
- X
- X CDEBUGFLAGS = -O
- X CCOPTIONS =
- X COMPATFLAGS =
- X
- X ALLINCLUDES = $(STD_INCLUDES) $(TOP_INCLUDES) $(INCLUDES) $(EXTRA_INCLUDES)
- X ALLDEFINES = $(ALLINCLUDES) $(STD_DEFINES) $(PROTO_DEFINES) $(DEFINES) $(COMPATFLAGS)
- X CFLAGS = $(CDEBUGFLAGS) $(CCOPTIONS) $(ALLDEFINES)
- X LINTFLAGS = $(LINTOPTS) -DLINT $(ALLDEFINES)
- X LDLIBS = $(SYS_LIBRARIES) $(EXTRA_LIBRARIES)
- X LDOPTIONS = $(CDEBUGFLAGS) $(CCOPTIONS)
- X LDCOMBINEFLAGS = -X -r
- X
- X MACROFILE = sun.cf
- X RM_CMD = $(RM) *.CKP *.ln *.BAK *.bak *.o core errs ,* *~ *.a .emacs_* tags TAGS make.log MakeOut
- X
- X IMAKE_DEFINES =
- X
- X IRULESRC = $(CONFIGDIR)
- X IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(IRULESRC) $(IMAKE_DEFINES)
- X
- X ICONFIGFILES = $(IRULESRC)/Imake.tmpl $(IRULESRC)/Imake.rules \
- X $(IRULESRC)/Project.tmpl $(IRULESRC)/site.def \
- X $(IRULESRC)/$(MACROFILE) $(EXTRA_ICONFIGFILES)
- X
- ###########################################################################
- # X Window System Build Parameters
- # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- ###########################################################################
- # X Window System make variables; this need to be coordinated with rules
- # $XConsortium: Project.tmpl,v 1.63 89/12/18 16:46:44 jim Exp $
- X
- X PATHSEP = /
- X USRLIBDIR = /usr/staff/lib
- X BINDIR = /usr/staff/bin
- X INCROOT = /usr/staff/include
- X BUILDINCROOT = $(TOP)
- X BUILDINCDIR = $(BUILDINCROOT)/X11
- X BUILDINCTOP = ..
- X INCDIR = $(INCROOT)/X11
- X ADMDIR = /tmp
- X LIBDIR = $(USRLIBDIR)/X11
- X CONFIGDIR = $(LIBDIR)/config
- X LINTLIBDIR = $(USRLIBDIR)/lint
- X
- X FONTDIR = $(LIBDIR)/fonts
- X XINITDIR = $(LIBDIR)/xinit
- X XDMDIR = $(LIBDIR)/xdm
- X AWMDIR = $(LIBDIR)/awm
- X TWMDIR = $(LIBDIR)/twm
- X GWMDIR = $(LIBDIR)/gwm
- X MANPATH = $(DESTDIR)/usr/staff/man
- X MANSOURCEPATH = $(MANPATH)/man
- X MANDIR = $(MANSOURCEPATH)1
- X LIBMANDIR = $(MANSOURCEPATH)3
- SHAR_EOF
- true || echo 'restore of xarchie-2.0.6/Ad2c/Makefile failed'
- fi
- echo 'End of xarchie-2.0.6 part 18'
- echo 'File xarchie-2.0.6/Ad2c/Makefile is continued in part 19'
- echo 19 > _shar_seq_.tmp
- exit 0
-
- exit 0 # Just in case...
- --
- // chris@IMD.Sterling.COM | Send comp.sources.x submissions to:
- \X/ Amiga - The only way to fly! | sources-x@imd.sterling.com
- "It's intuitively obvious to the |
- most casual observer..." | GCS d+/-- p+ c++ l+ m+ s++/+ g+ w+ t+ r+ x+
-