* Add .tedit files for Lafite manual and release notes -- PDFs on Google Drive * use 'docs' for subfolder name; wliminate dup * Remove duplicate LAFITEMANUAL-GLOSSARY-CUSTOMER.TEDIT --------- Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
14 lines
33 KiB
Plaintext
14 lines
33 KiB
Plaintext
1
|
||
|
||
A USER'S GUIDE TO LAFITE
|
||
1
|
||
|
||
A USER'S GUIDE TO LAFITE
|
||
CUSTOMIZING LAFITE
|
||
1
|
||
|
||
CUSTOMIZING LAFITE
|
||
1
|
||
|
||
|
||
13. CUSTOMIZING LAFITE
|
||
6
|
||
|
||
Some aspects of Lafite's behavior, such as whether each message of a batch you print starts on a new page and how many messages are shown in your out-box, are controlled by global variables set in your intialization file. Each variable is set to a default value that most users have found acceptable. However, you may want to reset some global variables to tailor Lafite to your needs. You edit Lafite variables in the same way as any other part of your intialization file, by typing (DC INIT) to bring up a DEdit window on your initialization file, resetting the variables, then typing (MAKEFILE '{FILESERVER} <DIRECTORY>INITFILENAME) to save the new version of your initialization file. For detailed information on DEdit and the MAKEFILE function, see the Interlisp-D Reference Manual.
|
||
2
|
||
|
||
Lafite's Global Variables
|
||
1
|
||
|
||
LAFITEDEFAULTHOST&DIR [Variable]
|
||
is the directory on which Lafite looks for the LAFITE.PROFILE and all mail folders and message forms you access if you don't supply an explicit directory. Lafite uses its own host and directory names for mail folders, etc., rather than the current connected directory because you may want to keep your mail folders someplace special (e.g., the local disk or your log-in directory), and the connected directory can change. LAFITEDEFAULTHOST&DIR is provided to tell Lafite where you usually keep your mail. LAFITEDEFAULTHOST&DIR should be in the same form as the variable LOGINHOST/DIR (i.e., {FILESERVER}<DIRECTORY>). If LAFITEDEFAULTHOST&DIR is NIL, then the value of LOGINHOST/DIR is usedœi.e., your log-in host and directory.
|
||
LAFITEFORMDIRECTORIES [Variable]
|
||
is a search path for Lafite forms, initially NIL. When you choose the Saved Form command underneath Send Mail, the form name that you enter is first searched for on your default directory (LAFITEDEFAULTHOST&DIR), and if it is not found there, Lafite searches the directories in the list LAFITEFORMDIRECTORIES. LAFITEFORMDIRECTORIES is typically set to a list of one or more public directories on which generally useful forms have been collected.
|
||
LAFITESTATUSWINDOWPOSITION [Variable]
|
||
specifies where the status window appears when Lafite is invoked. It is a POSITION or NIL (in which case you are asked to specify a position when Lafite starts).
|
||
LAFITEBROWSERREGION [Variable]
|
||
is a REGION used to describe where the primary (i.e., first) browser window is to be placed on the screen. Initially, it is set to something ©©reasonable'' for the standard initial display configuration. If you set it to NIL, you are prompted to specify a region the first time any such window is created.
|
||
LAFITEDISPLAYREGION [Variable]
|
||
is a REGION used to describe where the primary (i.e., first) message display window is to be placed on the screen. Initially, it is set to something ©©reasonable'' for the standard initial display configuration. If you set it to NIL, you are prompted to specify a region the first time any such window is created.
|
||
LAFITEEDITORREGION [Variable]
|
||
is a REGION used to describe where the primary (i.e., first) message composition window is to be placed on the screen. Initially, it is set to something ``reasonable'' for the standard initial display configuration. If you set it to NIL, you are prompted to specify a region the first time any such window is created.
|
||
DEFAULTMAILFOLDERNAME's [Variable]
|
||
value is used if no mail folder is supplied to the function LAFITE, i.e., you call (LAFITE 'ON). Initially, this value is ACTIVE.MAIL.
|
||
LAFITEMAIL.EXT [Variable]
|
||
is the default extension for names of mail folders. It is initially MAIL.
|
||
LAFITETOC.EXT [Variable]
|
||
is the string appended to the name of a mail folder to produce the name of its table-of-contents file. It is initially LAFITE-TOC.
|
||
LAFITEFORM.EXT [Variable]
|
||
is the default extension for the names of user-defined form files. It is initially LAFITE-FORM.
|
||
LISPSUPPORT [Variable]
|
||
specifies the address to which Lisp Report messages are sent. Its value is a single string containing one or more addresses, all in the form you would put in the To line of a message header. If LISPSUPPORT is NIL, then the Lisp Report form cannot be used. It is initially NIL. Site administrators may want to set this variable in their site initialization files to the mail address of their local Lisp Support.
|
||
LAFITESUPPORT [Variable]
|
||
specifies the address to which Lafite Report messages are sent. Its value is a single string containing one or more addresses, all in the form you would put in the To line of a message header. If LAFITESUPPORT is NIL, then the Lafite Report form cannot be used. It is initially NIL. Site administrators may want to set this variable in their site initialization files to the mail address of their local Lafite Support.
|
||
TEDITSUPPORT [Variable]
|
||
specifies the address to which TEdit Report messages are sent. Its value is a single string containing one or more addresses, all in the form you would put in the To line of a message header. If TEDITSUPPORT is NIL, then the TEdit Report form cannot be used. It is initially NIL. Site administrators may want to set this variable in their site initialization files to the mail address of their local TEdit Support.
|
||
LAFITEDISPLAYFONT [Variable]
|
||
is a font used for displaying messages. You may change it without changing the other Lafite fonts. It should be a FONTDESCRIPTOR as returned by FONTCREATE. In your initialization file, this is usually specified with a FONTCREATE expression, e.g., (VARS (LAFITEDISPLAYFONT (FONTCREATE 'MODERN12))). Initially, it is Times Roman 12.
|
||
LAFITEEDITORFONT [Variable]
|
||
is a font used for composing messages. You may change it without changing the other Lafite fonts. It should be a FONTDESCRIPTOR as returned by FONTCREATE. Initially, it is Times Roman 12.
|
||
LAFITEHARDCOPYFONT [Variable]
|
||
is a font used for printing messages. You may change it without changing the other Lafite fonts. It should be a FONTDESCRIPTOR as returned by FONTCREATE. Initially, it is Times Roman 12, which prints as Classic 12 on an Interpress printer.
|
||
LAFITEBROWSERFONT [Variable]
|
||
is the font used for displaying the table of contents in the browser window. It is initially Gacha 10.
|
||
LAFITEMENUFONT [Variable]
|
||
is the font used for the items in all Lafite menus. It is initially Helvetica 10 Bold.
|
||
LAFITETITLEFONT [Variable]
|
||
is the font used for the title bar (``Lafite'') in the Lafite status window. It is initially Helvetica 12 Bold.
|
||
LAFITEENDOFMESSAGEFONT [Variable]
|
||
is the font in which the LAFITEENDOFMESSAGESTR is displayed (see below). It is initially Times Roman 10 Italic.
|
||
LAFITEENDOFMESSAGESTR [Variable]
|
||
is a string containing the text of the ©©End of Message¹¹ token displayed at the end of a message. If LAFITEENDOFMESSAGESTR is NIL, then no ``End of Message'' token appears.
|
||
LAFITENEWPAGEFLG [Variable]
|
||
is initially T. If so, the Hardcopy command starts each message on a new page. Otherwise it separates each message by a line of dashes.
|
||
LAFITEHARDCOPYBATCHFLG [Variable]
|
||
allows you to postpone printing messages until several can be done at once. Printing several messages at once helps to keep your short messages from being lost amongst other users' long output, saves paper, and saves time because you don't have to wait for individual messages to be formatted for printing.
|
||
When LAFITEHARDCOPYBATCHFLG is T, Lafite batches your hard-copy requests. It doesn't actually print the messages until you do an Update, at which point Lafite sends them all to the printer in one batch. When you have hard copy pending, the Hardcopy command is speckled to remind you of this fact. The Update command has an additional choice, Do Hardcopy Only, in case you want to get your batched hard copy printed without doing an actual Update.
|
||
When batching hard copy, LAFITENEWPAGEFLG applies only to the messages selected at each Hardcopy invocation; each new set of messages starts on a new page, independent of the setting of LAFITENEWPAGEFLG. LAFITEHARDCOPYBATCHFLG is initially NIL.
|
||
LAFITEHARDCOPY.MIN.TOC [Variable]
|
||
is a positive number if non-NIL. Whenever Lafite is instructed to produce hard copy for more than LAFITEHARDCOPY.MIN.TOC messages, it also produces a table of contents as a cover page for the hard copy. Currently, this flag is noticed only if LAFITEHARDCOPYBATCHFLG is NIL. It is initially NIL.
|
||
MAILWATCHWAITTIME [Variable]
|
||
is the number of minutes between polling for new mail from your mail servers. It is initially set to five.
|
||
LAFITEFLUSHMAILFLG [Variable]
|
||
is initially T. If it is NIL, Lafite won't flush your in-box when retrieving new mail, so the mail will still be there when you invoke Get Mail again.
|
||
LAFITEIFFROMMETHENSEENFLG [Variable]
|
||
makes sure, if T, that messages sent from you are considered ``seen'' (and hence do not have the question mark), even though you have not yet displayed them. It is initially T.
|
||
LAFITEDISPLAYAFTERDELETEFLG [Variable]
|
||
can be set to T or ALWAYS. If T, Lafite displays the next message if you delete the message in the message display window and the next message is undeleted and unexamined (i.e., it is marked with a question mark). If ALWAYS, Lafite displays the next undeleted message even if it has already been seen. It is initially T.
|
||
LAFITEMOVETOCONFIRMFLG [Variable]
|
||
controls whether Lafite requires confirmation of the Move To command. If ALWAYS, all moves require confirmation; if LEFT, then only left-button moves (selecting the destination from a menu) require confirmation; if MIDDLE, then only middle-button moves (using the default Move To folder) require confirmation; if NIL, then no moves require confirmation. It is initially ALWAYS.
|
||
LAFITEBUFFERSIZE [Variable]
|
||
is the number of 512-character buffers used by the stream managing the file behind an open browser window. If you regularly receive very long messages, you might want to increase this to improve performance of Display followed by Hardcopy or Move To. Initially 20, which handles messages up to about 10,000 characters long.
|
||
LAFITEOUTBOXSIZE [Variable]
|
||
specifies the number of delivered messages to be retained in your out-box. As you send more messages, older ones fall off the end. Increasing this number gives you a longer ``history'' from which you can select and reedit old messages, but the desire for a longer history should be balanced with the knowledge that you are tying down the resources used by each of those messages. Setting LAFITEOUTBOXSIZE to zero or NIL disables the out-box feature: after delivery, messages completely vanish. LAFITEOUTBOXSIZE is initially two.
|
||
LAFITENEWMAILTUNE [Variable]
|
||
is a list of the form acceptable to the function PLAYTUNE or NIL, in which case it is ignored. It is played when Lafite discovers you have new mail waiting.
|
||
LAFITEGETMAILTUNE [Variable]
|
||
is a list of the form acceptable to the function PLAYTUNE or NIL, in which case it is ignored. It is played when a Get Mail command completes.
|
||
2
|
||
|
||
How to Add a New Message Form to Lafite
|
||
1
|
||
|
||
The normal way to add a new message form to Lafite is to edit an existing form (or build one from scratch) and save it using the Save Form menu item (see chapter 9, ``Writing Messages''). However, you can also provide message forms that compute the text at the time you request the form, as, for example, the Lisp Report does. To add your own items to the Message Forms menu, add a standard three-element menu item to the variable LAFITESPECIALFORMS and then set the variable LAFITEFORMSMENU to NIL (this is where the menu is cached). The three-element menu item should yield a LITATOM as its ``value,'' that atom being interpreted as follows:
|
||
1. If the atom has a function definition, the function is called (with no arguments) and the returned value (a string or a TEdit text stream) is used.
|
||
2. If the atom has a value, its value (a string or a TEdit text stream) is used.
|
||
3. Otherwise, a copy of the file by that name is used.
|
||
For example, if you wanted to add a message form that contained the date the user's version of TEdit was made (as in the TEdit Report form), you could add
|
||
(``TEdit Support'' (QUOTE MAKETEDITFORM)
|
||
``Make a form to report a problem with TEdit'')
|
||
to LAFITESPECIALFORMS; MAKETEDITFORM could be defined to be
|
||
[LAMBDA NIL
|
||
(PROG (OUTSTREAM)
|
||
(SETQ OUTSTREAM (OPENTEXTSTREAM `` ''))
|
||
(printout OUTSTREAM ``Subject: TEdit: >>Subject<<'' T)
|
||
(printout OUTSTREAM ``To: '' TEDITSUPPORT T)
|
||
(printout OUTSTREAM ``cc: '' (USERNAME T)
|
||
(printout OUTSTREAM ``TEdit-System-Date:"
|
||
TEDITSYSTEMDATE T T)
|
||
(printout OUTSTREAM ``>>Message<<'' T)
|
||
(RETURN OUTSTREAM]
|
||
where TEDITSUPPORT and TEDITSYSTEMDATE are variables set by TEdit. Lafite supplies one function to make this kind of message form easier to construct.
|
||
(MAKEXXXSUPPORTFORM 'SYSTEMNAME
|
||
'ADDRESS 'SYSTEMDATE) [Function]
|
||
creates a message form (a TEdit stream) to be mailed to the maintainers of SYSTEMNAME. SYSTEMNAME is the name of the subsystem (a string); SYSTEMDATE, if non-NIL, is a date (string) of importance to include in the message; and ADDRESS is the mail system address of the intended recipient(s) or an association list in the same form as the variable LISPSUPPORT. If the ADDRESS is NIL, MAKEXXXSUPPORTFORM prints a message in the prompt window that the form is not supported, and returns NIL.
|
||
For example, MAKETEDITFORM is actually defined as
|
||
[LAMBDA NIL
|
||
(MAKEXXXSUPPORTFORM
|
||
``TEdit'' TEDITSUPPORT TEDITSYSTEMDATE)]
|
||
and selecting TEdit Report in the Message Forms menu produces a form like the one in figure 29.
|
||
|