\begindata{text,539411208} \textdsversion{12} \template{default} \define{global } \define{footnote attr:[Flags OverBar Int Set] attr:[FontSize PreviousFontSize Point -2]} \define{programexample menu:[Region~4,ProgramExample~13] attr:[LeftMargin LeftMargin Inch 32768] attr:[Justification LeftJustified Point 0] attr:[Flags NoFill Int Set] attr:[Flags KeepPriorNL Int Set] attr:[Flags KeepNextNL Int Set] attr:[FontFace FixedFace Int Set] attr:[FontFamily AndyType Int 0]} \define{formattingnote menu:[Region,FormattingNote] attr:[Flags PassThru Int Set] attr:[Flags NoFill Int Set] attr:[Flags KeepPriorNL Int Set] attr:[Flags KeepNextNL Int Set]} \chapter{1 Maintainer's Guide to the Andrew Help System} Last updated: 1/25/93 This document is written for people maintaining the Andrew Help System. Although the document is designed to be useful with any Andrew Help System, it contains specific references to the Help System in place at Carnegie Mellon University, explaining some of the needs encountered, and how the Help System was configured to meet them. \smaller{Note: If you have worked with the ATK help system in the past, you should note that some things have changed as of Jan. 1993. The procedures for customizing help's behavior for your site have changed; they are now more in line with Andrew's policy that you should only have to make changes to your site directory. See sections 1.1 to 1.3 for details. } There are several things Help maintainers need to concern themselves with: Specify directories to be searched Map keywords to help files Change the contents of the Programs and Overviews panels Customize the Help program Add help documents Update help documents Change the appearance of help documents Understand how Help works These activities are explained in this document. If you are using EZ to read this, you can use the interactive table of contents by choosing \bold{Table of Contents} from the \italic{Page} menu card. \section{1.1 Specify directories to be searched} You specify which directories Help searches (its "search path") by creating a help index. The index directory was designed to speed up Help's startup time. It is a collection of pointers to all the help files that Help uses when it tries to locate a file in response to a keyword. Notice that the index directory has nothing to do with indexing in a textual or keyword sense. Help will not run without an index. This is a list of all the help files and man pages that help can find. The index is usually installed in the directory /usr/andrew/lib/help.index/, although Help can be told to find it in a different location (see the Customization section). It is created using the program \typewriter{mkindex}. \ The indexing process should be run whenever you add or remove a file from any of the directories it indexes. Updating a file does not disturb the index. \ By default, the Imakefile in andrew/helpindex runs \typewriter{mkindex} using a standard input file, which can be found in andrew/helpindex/default.idx. This indexes all of the ATK documentation files, and all of the man pages in /usr/man. \ If you want help to find files in other directories, you'll have to create this file yourself. (See the next section for information about the syntax.) Put it in your andrew/site directory under the name common.idx. The next time you compile or install ATK, the help index will be created using andrew/site/common.idx instead of andrew/helpindex/default.idx. If you are installing ATK on several types of machines, you may want different directories indexed on each one. You can do this by putting the \typewriter{mkindex} input file into the site directory under the name \{SYSTYPE\}.idx instead of common.idx. (For example, pmax_ul4.idx, rs_aix32.idx, and so forth.) If you install both \{SYSTYPE\}.idx and common.idx in your site directory, both will be used. (They'll be concatenated together when \typewriter{mkindex} is run on that system type.) \ \subsection{1.1.1 Creating your own mkindex input file} \typewriter{Mkindex }takes an input file which specifies the directories mkindex will use to create an index, and thus delineates what the default system is to the user. The input file can contain the following commands: \smaller{\typewriter{# comment dir actual-directory-name include key link-directory-name filename keyword filename } }The white space between the words on each line can be any number of tabs or spaces. Here is an explanation of the commands: \indent{# \italic{comment} \indent{Any line beginning with "#" is a comment and is ignored.} dir \italic{actual-directory-name link-directory-name} \indent{This command tells mkindex to index the files in actual-directory-name, and record the path to those files as starting with link-directory-name. If either actual-directory-name or link-directory-name are "man" (as in /usr/man) mkindex will recurse down any subdirectories named "man[1-8,n,o,l,p,x]". These man extensions can be changed in andrew/atk/help/src/config.c. \ If you look at andrew/helpindex/default.idx, you'll see that it contains the line \ \typewriter{dir DESTDIR/help DESTDIR/help} In the Imakefile, before mkindex is run, any occurence of DESTDIR (all upper-case) is replaced with the value of DESTDIR -- that is, the directory where ATK is being installed. The line quoted above will therefore index all of the ATK help files. You can use this construct in the mkindex input files that you write. At Carnegie Mellon, /usr/man is a link to /afs/andrew/machinetype/usr/man, so mkindex's input file contains the line: \typewriter{dir /afs/andrew/machinetype/usr/man /usr/man }where machinetype is the name used to refer to a specific machine's system-specific directories.} include \italic{filename} \indent{This line tells mkindex to read in the file filename as more mkindex commands. At Carnegie Mellon, this facility is used to allow different indices on different machine types to all include a set of common system directories. } key \italic{keyword path-to-file}\italic{ }}\indent{\indent{This line tells mkindex to explicitly use keyword as an alias for the file specified. This alias functions identically to aliases in the help.aliases file, as described in the section Aliases.} }\subsection{1.1.2 Rebuilding the help index} The help index is built from scratch every time you compile and install ATK. If you want to rebuild it (either because you've added or removed files from the indexed directories, or because you've changed the \typewriter{mkindex} input file itself), the easiest thing to do is cd to the andrew/helpindex directory and type "make Install". If you want to run \typewriter{mkindex} by hand, you can do it as follows: \typewriter{\indent{\smaller{mkindex -v input-filename target-directory} }}Input-filename is the file containing indexer commands. Targetdirectory is the name of the directory into which the index files will be placed. -v specifies "verbose" mode. The target directory must exist before \typewriter{mkindex} is run. \bold{NOTE: all files in the target directory are removed before the index is created. For this reason, do not specify a directory containing help files as the target directory. } A caveat: the hack that changes DESTDIR into the actual destination directory name is done in the Imakefile, not in \typewriter{mkindex}. If you want to run \typewriter{mkindex} by hand, you should not put DESTDIR in the input file. The new index can be used with the -i switch to Help, as described in the "Where does Help find information" section on Understanding Help. \subsection{1.1.3 Indexing at CMU} At Carnegie Mellon, creating a Help index is a somewhat baroque\footnote{\ \begindata{fnote,539464600} \textdsversion{12} Or possibly just broke.\ \enddata{fnote,539464600} \view{fnotev,539464600,0,0,15}} procedure. The mechanism described above (common.idx, \{SYSTYPE\}.idx, and all that) is not used. Because there are multiple machine types on campus, and different man pages for each sys-type (not just in terms of content), there must be separate indices constructed for each different sys-type. input files reference directories like So, different index /afs/andrew/rt_r3/usr/man/man1 There are, however, many files which are not machine-specific which reside in "common" directories, like \ /afs/andrew/common/usr/andrew/help These files are also included in building the separate indices. The Help indices are generated automatically via a cron job each evening on a secure machine. Because the indices for different machines are created on one machine, the input and output files must specify directories by complete pathnames. In other words, it isn't enough to give /usr/andrew/lib/help.index as an output directory; the full pathname, /afs/andrew/rt_r3/usr/andrew/lib/help.index must be used. The explicit use of full pathnames is accomplished via a cascade of small scripts that call \typewriter{mkindex} with the appropriate input files, put the indices in the appropriate directories, and mail a nightly post of the output to andrew.daemons.help. The start of the script cascade is in ~hm99/index/makeandyindex for the /usr/andy indices. \section{1.2 Mapping keywords to files} Mapping keywords to files is referred to as "aliasing." Aliases are useful in several ways: they allow the Help maintainers to anticipate user's requests and map them to specific documents (like mapping "sendmessages" to "sendmessage"), they allow maintainers to map multiple keywords to the same file (like mapping "lset" and "arb" to the "adew" document, where those concepts are discussed), etc. Many help aliases are defined in the ATK source tree. These are always installed when ATK is installed. There is also a standard list of aliases defined in andrew/helpindex/help.alias; these are also always installed. There are two ways that you (the Help maintainer) can add aliases to the Help system. \ \indent{1) Use the "key" command in the input file to \typewriter{mkindex}, as described in the previous section on Creating a Help Index. These aliases will not take effect until the next time the help index is rebuilt. 2) Create a help.alias file and put it in your andrew/site directory. The next time you rebuild the help aliases, those aliases will be installed along with all of the standard ones. \ }Like the help index, the help aliases are rebuilt when you "make Install" in the andrew/helpindex directory. The final alias list (the one that help actually uses) is installed in /usr/andrew/help/help.aliases by default. (The name and location can be changed; see the section on Customization.) You can edit that file by hand if you want to create an alias that will take effect immediately. However, the file will be deleted and recreated the next time you install ATK; permanent changes should be made in andrew/site/help.alias. \subsection{1.2.1 Creating a help.alias file} The file format for help.alias (and for the final installed help.aliases) is as follows: \typewriter{\smaller{\indent{# comment alias keyword !comment alias keyword !comment alias #command !comment }}}(The !comment part of each line is of course optional.) Whenever a user asks for help on on any of the aliases, it will appear to the Help System as if the user had asked for help on the corresponding keyword. The standard help.alias file, for example, includes the following lines: \typewriter{\smaller{\indent{password type cat makefile make uncompact compact passwd }}}If the keyword begins with the character '#', instead of behaving as if the user had asked for help on another keyword, Help will execute the command after the '#'. This allows Help to show tutorials on various topics. An example: \typewriter{\indent{\smaller{emacs #ez /usr/doc/emacs.manual }}} # commands will not be executed if help is run on a non-graphics system. Using # commands is not encouraged, however, since users can open new Help windows using options on the \italic{Windows} menu card. \section{1.3 Panel Contents } Configuring the Overviews and Programs panels in Help involves changing the following files: \leftindent{\typewriter{/usr/andrew/lib/help.overviews} \typewriter{/usr/andrew/lib/help.programs}} These are installed by the Imakefile in andrew/helpindex. \ The default versions of these files are in andrew/helpindex/help.ovrvw and andrew/helpindex/help.prgms. To install different versions, create new files called help.ovrvw and help.prgms and put them in the andrew/site directory. The next time you compile and install Andrew, your versions of these files will be installed instead of the default versions. If you just want to install the files without going through the whole build process, just copy them to lib/help.overviews and lib/help.programs in your destination tree. (When Andrew is compiled at CMU (ie, if CMU_ENV is set), matters are handled differently. The site directory is not checked; the files andrew/helpindex/cmucs.overvw and andrew/helpindex/cmucs.prgms are always installed. Baroque, as we said.) \subsection{1.3.1 Creating new Programs and Overview files} Entries in both of these files are of the form: \typewriter{\leftindent{panel item,keyword}} "panel item" is the word or phrase you want to appear in the panel, and "keyword" is the word you want Help to use when the user clicks on that item. So, for example, one entry you might have in /usr/andrew/lib/help.overviews is \typewriter{\leftindent{Andrew Tour,tour}} which puts the phrase "Andrew Tour" into the Overviews panel and uses the word "tour" as the keyword when a user clicks on "Andrew Tour." Be careful not to add extra spaces around the comma in the middle. (See the various versions of these files in andrew/helpindex for examples.) \bold{To change the file retrieved by a panel item}, simply replace the word after the comma in a given entry with a different keyword. For example, suppose you create your own help file about Andrew called andrew.help. In that case, you might want the panel item "Andrew Tour" to retrieve andrew.help instead of tour.help. You would modify the line in the help overviews file from \typewriter{\leftindent{Andrew Tour,tour}} to \typewriter{\leftindent{Andrew Tour,andrew}} Again, be careful not add extra spaces around the comma in the middle. \bold{To into the an entry you have add an item to the panels}, insert lines of the form shown above appropriate list of items. For example, suppose you want to add in the Programs list for a program called "printtext" for which created a help file. You could add a new line of the form \typewriter{printtext,printtext} in the help programs file. \bold{To remove an item from the panels}, delete or comment out (put a # sign at the beginning of the line) its entry in either help.overviews or help.panels. \section{1.4 Customization } \subsection{1.4.1 AndrewSetup Options } The configurations options that are most commonly changed on a site-tosite basis can be specified in the AndrewSetup file, and thus changed \italic{without} requiring the Help system to be recompiled and reinstalled. Those variables are described here. Note that when a variable's description refers to \typewriter{$ANDREWDIR}, it means that the option is preceded by an implicit "/usr/andrew" (or wherever the root of the Andrew software tree is for a particular system). Likewise \typewriter{$LOCALDIR }refers to the local software directory. Both \typewriter{ANDREWDIR} and \typewriter{LOCALDIR} can both be specified in the AndrewSetup file as well. See help on AndrewSetup for the location of the AndrewSetup file and the full list of setup options available. \leftindent{\bold{HelpIndex}: directory-name Default value: $ANDREWDIR/lib/help.index \indent{Indicates where Help should look for the default Help index files.} \bold{HelpLib}: directory-name Default value: $ANDREWDIR/lib \indent{Indicates where Help should look for the help.programs and help.overview files to set up the Help system program and overview panels. } \bold{HelpDir}: directory-name Default value: $ANDREWDIR/help \indent{Indicates where Help should look for help files to put into the Help system program and overview panels. (This is used if $ANDREWDIR/lib/help.programs or $ANDREWDIR/lib/help.overviews is empty.)} \bold{HelpChangeDir}: directory-name Default value: $LOCALDIR/help \indent{Indicates where Help can find "changes" files, indicating revisions to existing help files.} \bold{HelpTutorialDir}: directory-name Default value: $ANDREWDIR/help \indent{Indicates where Help can find "tutorial" files, indicating tutorials on given help topics.} \bold{HelpSendCommentAddress}: mailing-address Default value: info-andrew-request+help@andrew.cmu.edu \indent{Indicates the address to which Help should send mail when "Send Comment on Help" is selected from the menus.}} \subsection{1.4.2 Compile-time Options } Further Help system customiztion is possible. Within the Help System source directory \typewriter{andrew/atk/help/src} is a file called \typewriter{config.h}. This file contains all of the maintainer-customizable options for help. Each line with an option is preceded by a small description of what that option is. Help can be further customized for a particular site by changing these options. The options referred to in this guide are described below. Other options are explained in the \typewriter{config.h} file. \ Note that merely changing this file is not sufficent to make the changes made go into effect. The help program must be recompiled and reinstalled for the changes to be visible. The format of a variable is as follows: \typewriter{/* * Short description of the variable */ #define VARIABLENAME } \section{1.5 \italic{variable's default value} Adding Help Files} To develop a new help document for inclusion in /usr/andrew/help (or any other directory index by mkindex), take the following steps: \ \leftindent{1. Use the "ez" editor to create a new file with a name of the form "filename.help". When you use EZ to create a new file with a ".help" extension, EZ automatically loads the help template. Simply fill in the template, adding or omitting sections as appropriate. The formatting "styles" used in the help template are \leftindent{\italic{Chapter}: for the top line of the file \italic{Section}: for major headings, headings at the far left \ \italic{Leftindent}: around body text, to make the Section headings distinct \italic{Subsection}: for subheadings} See the help file on EZ for information about how to add styles to a document. \ 2. Copy the new file into /usr/andrew/help. It should probably be un-writeable so that people don't change the system file accidentally. 3. Run "mkindex" to include the new file in the index for Help. \ 3. Try "help filename" after the new index is created to check whether the new help file is available. ' }Note that Help will able to find files installed into explicitly searched directories as soon as they have been installed, but that files added into directories that are only searched by \typewriter{mkindex} will not be visible until after \typewriter{mkindex} has been re-run. \section{1.6 Updating Help Files} To make changes to an existing file you do not need to re-run the index once the edited file is installed. Simply edit the file, either in place, or edit it in the source and install it. \ \subsection{1.6.1 Where are the sources? }\ The sources for the Andrew help files are generally in the same directory as the piece of code that corresponds to the functionality described in the help file. This means that finding help files can be quite difficult. When your sytem was constructed, the final step should have been to add lines to /usr/andrew/help/help.aliases that serve both as aliases for shortened filenames (see the next paragraph) and also as pointers to where some files came from. For example, to find the file about footnotes, you would do the following: %\bold{ grep footnotes /usr/andrew/help/help.aliases} ez-footnotes fnote !/afs/.andrew.cmu.edu/itc/vax_3/obj/andrew/atk/text footnotes fnote !/afs/.andrew.cmu.edu/itc/vax_3/obj/andrew/atk/text These lines tell you that the source for the file is in andrew/atk/text, prefixed by wherever your source is rooted. \subsection{1.6.2 What are the files called?} Many files are named the same name that appears in other help files as keywords. The help file about EZ, for example, is called "ez.help." However, keywords in help files that are longer than seven characters, and/or have a hyphen in the keyword are mapped via the help.aliases file to files that are named differently. A good example is the footnote help file, above. It is refered to in the ez.help file as "ez-footnotes", but the actual file name is fnote.help. The only way to find out the actual name of a file (like fnote.help) is to "grep" the help.aliases file for the filename shown in other documents (like ez-footnotes). \subsection{1.6.3 What is in the help files?} In addition to information on a topic, be aware while you are editing a help file that italicized words are actually "links" between help files. In other words, one of the mechanisms by which users can navigate through Help is by using the \bold{Show Help on Selected Word} menu option, which depends on words in the text being cued as keywords. While any selected text may be used, keywords about which there are documents are often presented by convention in the running text in italics, separated by two spaces for easier selection. For example, this is the way a word like \italic{printing} is signaled in running text as a keyword. The references from one file to another form a loose "semantic network" that needs to be tended to if new files are added or old files are removed. Unfortunately, there are no tools for maintenance beyond using "grep." \section{ 1.7 Controlling the format of help documents} All the documents included in /usr/andrew/help use a central template that controls their formatting. The help template is located in \ \typewriter{\leftindent{/usr/andrew/lib/templates/help.template}} The help template must be available or the help files will not display. \ The use of a central help template is provided as a convenience for maintainers of Help. If you wish to change some aspect of the formatting of help files, such as how the top line of help documents is displayed, you need only change the help template itself and all the help documents will be changed accordingly. See the help on \italic{templates} and \italic{lookz}. \section{1.8 Understanding the Help System } \subsection{1.8.1 Overview of Services and Features} The Help program is designed to find and display information. Its most common use is as a documentation viewer though, with customization, it can be used to display any set of files on a system. \ Help has ability to display many file formats, including ATK, troff, and plain text on both windowing systems and terminals, using the full capabilities of the display. On graphics displays, it can open multiple windows. Help can print any file that it displays. Help runs with a system-level index that is created using a separate program, mkindex, which the maintainer uses to designate which directories are searched and thus which files are available through Help. In addition, Help also has the ability to search for files in user-specified directories in addition to the directories referred to by the index. Help allows the maintainer to provide aliases for specific keywords. If users request help on a keyword for which there is no file, Help can keep a record of the "missing" files, allowing the maintainer to improve the system by adding needed aliases and files. There are many maintainer-configurable options, including keybindings, help file locations, help file ordering based on file extension, and panel contents. \subsection{1.8.2 Components of the Help system } \italic{User program:} \leftindent{$(DESTDIR)/bin/help source: andrew/atk/help/src} \italic{Keyword mapping file:} \leftindent{$(DESTDIR)/help/help.aliases source: andrew/helpindex } \italic{Indexing program:} \leftindent{$(DESTDIR)/etc/mkindex source: andrew/helpindex} \italic{Index input file} \leftindent{See Indexing at CMU for location source: andrew/helpindex/index.tpl} \italic{Configuration files for the Overviews and Programs panels:} \leftindent{$(DESTDIR)/lib/help.overviews $(DESTDIR)/lib/help.programs source: andrew/helpindex/help.ovrvw, help.prgms } \italic{Help template:} \leftindent{$(DESTDIR)/lib/tpls/help.tpl source: andrew/atk/text/tpls} \italic{Man template:} \leftindent{$(DESTDIR)/lib/tpls/man.tpl source: andrew/atk/text/tpls} \italic{Help file about Help:} \leftindent{$(DESTDIR)/help/help.help} \italic{Help maintainers guide:} \leftindent{$(DESTDIR)/doc/help/Maint.doc} \subsection{1.8.3 How Help works } Users invoke Help by typing \ \typewriter{\smaller{\indent{help keyword}}} at a shell prompt, where "keyword" is a topic about which they would like information. \ If no keyword is used with the "help" command, Help displays the file associated with the keyword "tour." This default file (associated with no keyword or an unsuccessful initial keyword) can be changed and can be different for the terminal version of help. (See the section on Customization.) \paragraph{1.8.3.1 What are keywords? } \ Keywords are single words (no spaces) associated by default to the 'root' of a help file filename, namely the characters in the filename preceeding the first period. So, for example, "printers" is a keyword for a file called "printers.help." If there is more than one file that match a single keyword, Help presents the files in the following order: \indent{1. Any file with the extension ".help", ".concept", or ".overview" 2. Man pages, in numerical order 3. FORTRAN man pages, in numerical order 4. Any other file with the keyword as the root of the filename }Note that any files that are found in a user-added explicit search directory will be shown in the above order \italic{before} any help files in the indices. This ordering is referred to as the \italic{file rotation}. The order in which files are shown is based on file extension. This order can be customized. (See the section on Customization.) At Carnegie Mellon, this mechanism is used to create novice help files for standard commands like 'ls' and 'rm' that will be shown to to user before the sometimes cryptic man pages. The default mapping of a keyword to a filename root can be overridden via a system level help.aliases file. (See the section below on Aliases.) \paragraph{1.8.3.2 Where does Help find information?} \ Help finds information about what files correspond to a given keyword by looking in an \italic{index directory}. Help uses the index directory \typewriter{/usr/andrew/help/help.index} by default. This directory can be changed. (See the section on Customization.) Help cannot run without an index, but it can be made to use another index instead of the default. Note that this is in place of the other index, not in addition to it. This can be used to use Help as an applicationspecific help system. To specify an alternate index on the command line, the syntax is: \typewriter{\indent{\smaller{help -i <index directory>}}} Help can also be requested to search for files (without the aid of an index) in a given directory, in addition to the default help directories. This is done by using the \typewriter{-s} switch when invoking Help, or by using the help.searchpath preference. Note that since Help is not using an index but instead actually searching the directory itself, the keyword search will be slightly slower than an indexed search. To specifiy another directory to search on the command line, the syntax is: \typewriter{\smaller{\indent{help -s <directory>}}} If Help is going to be forced to search an additional directory on a regular basis it can be specified in a user's ~/preferences file using the following syntax: \typewriter{\smaller{\indent{help.searchpath:<directory>:<directory>}}} If a file in the directories specified by one of these two means has the same keyword as one or more files in Help's default directories, the order of rotation is as follows: \indent{1. help -s directory 2. help.searchpath directory 3. Help index directories } \paragraph{1.8.3.3 What if Help doesn't find information? \ }If Help does not find a file that is associated with the keyword supplied by the user, it informs the user that no help was found to match the keyword and creates a file in the 'Missing Directory',\typewriter{ /usr/andrew/help/HelpFlaws} by default, if the directory exists. If the directory does not exists, or is unwritable, no action is taken. The name of this directory can be changed. (See the section on Customization.) The file's name is \typewriter{Missing.keyword.n}, where \typewriter{keyword} is the topic on which the user requested help, and \typewriter{n} is a number corresponding to how many times that keyword has been requested as a help topic. At Carnegie-Mellon, this "Missing" information is collected and cleared out on a weekly basis and made into a message by BBD (~postman/bbdaemons/BBD) that is posted on andrew.daemons.help. In order for the Missing collection and posting mechanism to work, at least the following access list rights must be in place: \typewriter{% fs la /usr/andy/help/HelpFlaws /usr/andrew/help/HelpFlaws Access list for /usr/andy/help/HelpFlaws is Normal rights: system:anyuser rli postman rlidwk Access list for /usr/andrew/help/HelpFlaws is Normal rights: system:anyuser rli postman rlidwk} Also, the directory /usr/andrew/help/HelpFlaws needs to be a separate read-write volume, because /usr/andrew/help is a read-only replicated volume. \ \paragraph{1.8.3.4 How does Help display the information?} In order for help to be able to correctly display different file formats, all help files must follow standards for their particular type. Namely, all troff files must have '.' or '#' as their first character, and all ATK files must be valid ATK datastreams. Any file not following these standards will be treated as an unformatted text file.\bold{ }From within a window manager: \indent{If Help is invoked from within a window manager, and there is not another Help window already running, a new Help window opens. Help can be forced to open a new window if there is one already open with the \typewriter{-new }command-line switch, like so: \smaller{\indent{\typewriter{help -new keyword}}} Help will then display the first file in the rotation, if any were found. If no files were found, Help will put up a error message, and will then display help on the default keyword as mentioned previously This default keyword can be changed, and may be specified based on whether Help is running on a terminal or under a window manager. (See the section on Customization.)} Outside a window manager: \indent{If Help is invoked from a terminal or a terminal-emulator, (i.e., any device that does not support graphics) Help will use \typewriter{nroff} to display help files using whatever capabilities the terminal supports. ATK help files are first converted to nroff before being displayed. The file is displayed using \typewriter{more} to allow the user to page through the file one screenfull at a time. If the user has set the environment variable \typewriter{PAGER}, help will use the value of \typewriter{PAGER} as the paging program instead of \typewriter{more}. The default pager, and the path necessary to run \typewriter{nroff} can be changed. (See the section on Customization.}) \begindata{bp,539485400} Version 2 n 0 \enddata{bp,539485400} \view{bpv,539485400,1,0,0} Copyright 1992 Carnegie Mellon University and IBM. All rights reserved. \smaller{\smaller{$Disclaimer: # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, provided # that the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of IBM not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. # # THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD # TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF # MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ANY COPYRIGHT # HOLDER BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL # DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, # DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE # OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION # WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. # # $ }}\enddata{text,539411208}