UserProfile.Doc, documentation for UserProfile options
last edited by Teitelman, April 19, 1983 11:45 am
A number of components of Cedar permit the user to parameterize their behaviour along certain predefined dimensions via a mechanism called the User Profile. Whenever the user boots or rollsback, his user profile is consulted to obtain the value for these parameters. This operation is performed by consulting a file whose name is <YourName>.profile, e.g. McGregor.Profile, or if no such file exists, a default profile User.Profile. The entries in this profile are of the form <key>: <value>RETURN, where key is a sequence of alphanumerics or .'s (case does not matter) and value is either (1) a BOOLEAN, (2) an INT, (3) a TOKEN, which is a rope consisting of either a sequence of characters delimited by SP, CR, TAB, Comma, Colon, or SemiColon, or, in the case that the first character is '", the sequence of characters up to the next matching '", or (4) a ListOfTokens. Comments can appear at any point in the profile, and are ignored.
This file defines and documents the entries in the user profile. Each entry is presented as though it were a mesa declaration, although of course it is not. Comments following the entry explain the effect of that entry.
In all cases, if the corresponding entry does not appear in your personalized user profile (or the default user profile), the value of the corresponding parameter is the indicated default. If you want to specify some value other than this default, or want to include the corresponding entry along with its default in your profile just so that you can see at a glance what settings are in effect, simply include it in your own profile. Unless otherwise specified, changing or adding an entry should be "noticed" as soon as you click the Save menu button.
Viewers/Tioga related parameters
UserCategory: TOKEN ← Intermediate;
affects which Tioga commands are turned on. Categories are {Beginner, Intermediate, Advanced}. You need Advanced to enable the various commands for manipulating nodes. Will not be noticed until you boot.
DefaultFontFamily: TOKEN ← Tioga;
the name of the default font to use for all viewers. Will not be noticed until you boot. Any changes to this entry will not be noticed until the next time you boot. (Consult a wizard before changing this to anything other than Tioga.)
DefaultStyle: TOKEN ← Cedar;
the name of the default style.
ExtensionStyles: ListOfTokensNIL;
specifies the default style to be used with documents that do not explicitly name a style. The style is determined by the extension in the file name. The entry is of the form <extension1> <stylename1> <extension2> <stylename2>.
DefaultTiogaMenus: ListOfTokens ← places;
specifies which menus, if any, should automatically be displayed when you create a new Tioga viewer, e.g. places levels. none means no menus will be added, i.e. only the "Clear Reset..." menu will be displayed.
OpenFirstLevelOnly: BOOLFALSE;
If set to true, documents will be opened with only their first level showing.
DefaultFontSize: INT ← 10;
Note: strike fonts only come in a few sizes. Any changes to this entry will not be noticed until the next time you boot. (Consult a wizard before changing this to anything other than Tioga.)
PreLoad: ListOfTokensNIL;
a sequence of files for which viewers are automatically opened when you boot. Many profiles have "TiogaDoc.tioga" here, which will open a viewer on the documentation for Tioga. Any changes to this entry will not be noticed until the next time you boot.
TiogaTIP: TOKEN ← Default;
defines your user interface to Tioga. Value is a sequence of TIP files or the special token "Default", which will be layered so that operations defined in earlier tables take precedence over those defined later. Any changes to this entry will not be noticed until the next time you boot, or you invoke the userexec command ReadTiogaTipTables.
SourceFileExtensions: ListOfTokens ← mesa tioga df cm config style;
This determines what extensions Tioga should look for in opening files.
ImplFileExtensions: ListOfTokens ← mesa cedar;
This determines what extensions Tioga should look for in opening files requested via GetImpl.
ScrollTopOffset: INT ← 3;
When you do a Find command you may want to see a few lines in front of the match to give you more context. This parameter tells Tioga how many extra lines to want in such situations.
ScrollBottomOffset: INT ← 5;
When you are typing and the caret goes to a new line just off the bottom of the viewer, Tioga will automatically scroll the viewer up a little to make the caret visible again. This parameter controls how far up to scroll; a big number causes larger but less frequent glitches.
SelectionCaret: TOKEN ← balance;
"balance" means place the caret at the end nearer the cursor when the selection is made. Some people have requested to have the caret always placed at one end or the other, hence this profile entry. The choices are {before, after, balance}.
YSelectFudge: INT ← 2;
This lets you specify a vertical displacement for making selections. Tioga behaves as if you had pointed this number of points higher up the screen so that you can point at things from slightly below them.
UnsavedDocumentsCacheSize: INT ← 4;
controls the number of unsaved documents the system will remember.
ShowUnsavedDocumentsList: BOOLTRUE;
If true, a viewer will be created holding an up-to-date list of the unsaved documents that can still be reloaded.
EditHistory: INT ← 20;
Tioga keeps a history of the specified number of edit events. The EditHistory tool will let you undo these events.
EditTypeScripts: BOOLTRUE;
If true, typescripts behave the same as Tioga documents when the selection point is not at the end of the document, i.e. DEL means delete, ^X means exchange, and typein is simply inserted at the selection point. Thus, you can edit material that has been typed but not yet read, i.e. anything up to the last carriage return, and the edited characters will be what the client program sees. However, this also means that you cannot simply point anywhere in the typescript and start typing and have the material automatically be inserted at the end of the document the way it used to (it will be inserted where at the selection point, the same as when editing a Tioga document). Note that a convenient, single keystroke way of moving the selection to the end of the document is to use the NEXT key (Spare2).
Printer related options.
Note: most of the following can be overriden on the command line invoking the print command using appropriate switches.
Hardcopy.PressPrinter: TOKENNIL;
the printer where your output gets sent, e.g. Clover. Used by both print and tsetter.
Hardcopy.PrintedBy: TOKENNIL;
If omitted, defaults to name of currently logged-in user
Hardcopy.Landscape: BOOLTRUE;
TRUE means print in landscape mode, FALSE in portrait mode
Hardcopy.Font: TOKENIF Hardcopy.Landscape THEN "Gacha6" ELSE "Gacha8";
Hardcopy.Columns: INTIF Hardcopy.Landscape THEN 2 ELSE 1;
Hardcopy.Tab: INT ← 8;
the number of spaces between tab stops
Hardcopy.TemporaryPressFiles: BOOLFALSE;
Temporary Press Files are automatically deleted as soon as they are successfully sent to the printer. This profile parameter controls the initial setting when a new tsetter tool is created. It can be changed on a tool by tool basis using a button in the tsetter tool.
UserExecutive options
RegisteredCommands: TOKENNIL;
the token is interpreted as either (a) a sequence of commands that you want the UserExecutive to recognize in addition to the ones that it already knows about, or (b) the the name of a file containing those commands. Each command must be on a separate line, and the line must be of the form: CommandName Explanation name-of-bcd, where Explanation is a rope delimited by "'s, and name-of-bcd is optional and defaults to the same as CommandName. (Note that any " appearing inside of the rope must be preceded by a \ or it would terminate the rope. Similarly, any \ to be included in the rope must itself be preceded by a \.)
Example:
RegisteredCommands: "
Bringover \"Retrieves files from a remote server to your local disk, using a specified df file.\"
Chat \"Creates a Chat viewer, i.e. a \\\"terminal\\\" for communicating with Maxc, Ivy, Ernestine, etc.\"
JaM \"Creates a JaM typescript.\"
Print \"Sends either a plain-text file or a press file to a printer.\"
SModel \"Stores files on remote servers using a specified df file.\"
VerifyDF \"Verifies that the contents of specified df file are consistent.\"
WalnutSend \"Creates a viewer for sending mail.\"
"
Note: all of the above are already registered by virtue of their being in the file RegisteredCommands.catalogue, which is on your disk. Use this profile entry to register new, or esoteric commands.
CommandsFrom: TOKENNIL;
either (a) a sequence of command lines to be executed by the UserExecutive, exactly as though you had typed them in, or (b) the name of a file which contains the commands. The commands can appear directly in the user profile, e.g.
CommandsFrom: "
WalnutSend -- loads starts, and calls WalnutSend, i.e. brings up the little envelope
Alias DoBoth (file) compile file '; bind file
"
or this entry can be the name of a file which contains the commands, e.g.
CommandsFrom: Teitelman.commands

Note: any changes to this entry will not be noticed until the next time you boot.
ShowStatistics: BOOLFALSE;
if true, causes userexecutive to print out computation time, number of words allocated, and page faults for each command that it executes.
CreateSessionLog: BOOLTRUE;
if true, causes userexecutive to create a log file, called Session.log, in which is written all of the material that appears in each of the workAreas, suitably bracketed so you can tell which is which, as well as a record of all files that were saved.
CreateWorkAreaLogs: BOOLFALSE;
if true, causes userexecutive to create log files for each work area, of the form WorkAreax.log.
CreateChangesLog: BOOLTRUE;
if true, causes userexecutive to create log file containing record of all changes made to files. Each time a file is saved, its name, date, and changelog entry, if any, is written to this log (requires NewStuffImpl to be loaded).
WhenLogFileExists: TOKEN ← "Rename";
Determines what happens when a log file already exists. Value is either {Rename, Append, OverWrite}. Rename means rename the existing log file by appending a $ to its name. Append means append the new log file to the existing one.
Spelling corrector options
Spell.inform: TOKEN ← allAccountedFor;
what classes of corrections to inform the user about
Spell.confirm: TOKEN ← allAccountedFor;
what classes of corrections to request confirmation before performing
Spell.disabled: TOKEN ← never;
what classes of corrections not to do at all
the values of the previous three entries are spelling correction classes, which are drawn from the following set: {never, someMistakes, allAccountedFor, patternMatch, caseError, always}. The value of the parameter specifies that the corresponding operation should be performed for the indicated class, and all of those that precede it in the enumerated type. For example, if disabled is someMistakes, then compille will be corrected to compile, but compil won't, because it has a missing character and hence falls into the class someMistakes. If disabled is always, then the corrector is turned off completely. Similarly, the value of inform and confirm specify that informing/confirming is requested for that class and all that precede it in the enumerated type. For example, if inform is allAccountedFor, then the user will be informed for corrections of class allAccountedFor as well as those with someMistakes. With the above defaults, the system will correct compille to compile without confirmation (since it is of class allAccountedFor), but tell you what it has done, will correct compil to compile but ask you to confirm first (since it is of class someMistakes), and correct rttypes to RTTypes without asking you or telling you (since it is of class caseError). For more details, see the spelling interface, spell.mesa
Spell.timeout: INT ← -1;
number of milliseconds to wait before timeout on a proposed correction. -1 means never timeout.
Spell.defaultConfirm: BOOLFALSE;
what to return if a proposed correction involves confirmation and you allow the correction to timeout. TRUE means ok to do the correction, FALSE means not.
Spell.giveUpAfter: INT ← -1;
number of milliseconds to attempt correction before giving up.
Spell.assumeFirstCharCorrect: BOOLFALSE;
For use in context of correcting a where there is a large potential set of candidates, e.g. misspelled frame name, file name, but this set of candidates can be structured so that only those candidates with the same first character as the one that was misspelled will be considered. Note that it is always the case that these candidates are considered first. This parameter simply says if you don't find the correct spelling there, whether or not to search the other candidates.
Spell.viewerSpellDisabled: BOOLFALSE;
If TRUE, then no correction for mistyped filenames in context of loading or opening a viewer.
Compiler/Binder
Compiler.IconicLogs: BOOLFALSE;
If TRUE, tells userexecutive to always create compiler/binder logs iconic, regardless of whether or not the input focus is in the executive in which the compilation has taken place.
Compiler.BlinkLogs: BOOLTRUE;
If FALSE, tells userexecutive never to blink compiler/binder logs.
Compiler.SeparateLogs: BOOLFALSE;
If TRUE, tells userexec to create separate logs and viewers on these logs for each file that contains errors or warnings. Moreover, these viewers are created as soon as the errors are encountered. Thus, if you compile a sequence of files, and the first file contains errors, you can begin working on those errors before the compilation finishes.
Compiler.AutoSave: BOOLFALSE;
If TRUE, when the user attempts to compile a file which has been edited but not saved, causes the system to automatically save the file without asking the user.
Compiler.Switches: TOKENNIL;
default switches for compiler. Note that /-g can be used to cause separate compiler error logs for each file compiled.
Binder.Switches: TOKENNIL;
default switches for binder
Walnut and Squirrel
Walnut.ReplyToSelf: BOOLFALSE;
if TRUE, causes walnut to always supply a Reply-To: field.
Walnut.InitialActiveRight: BOOLTRUE;
true says to bring up the active message set on the right column, false on left.
Walnut.InitialActiveOpen: BOOLFALSE;
true says open a message set viewer on Active.
Walnut.InitialActiveIconic: BOOLFALSE;
if true and InitialActiveOpen = TRUE, then the Active message set viewer is opened as an icon.
Walnut.MsgSetButtonBorders: BOOLFALSE;
if TRUE, puts borders around the MsgSet buttons in the control window.
Walnut.WalnutSegmentFile: TOKEN ← "Walnut.Segment";
value is the name of the file to be used for the walnut data base. Primarily to allow users to experiment with alpine.
Walnut.WalnutLogFile: TOKEN"";
Name of log file. If not specified, then derived from Walnut.WalnutSegmentFile by changing extension to .DBLog.
Squirrel.SquirrelWindow: BOOLFALSE;
TRUE if you want the squirrel window on the screen.
miscellaneous
AutoCheckpoint: BOOLFALSE;
TRUE says to automatically make a checkpoint when you boot.
ClientCheckpoint: BOOLTRUE;
If TRUE, puts a CheckPoint button at the top of your screen.
WorldSwapDebug: BOOLFALSE;
TRUE means go to worldswap debugger on an uncaught signal.
AutoIdleTimeout: INT ← 20;
if you leave your terminal unattended for more than the corresponding number of minutes, is equivalent to pressing the "Idle" button. 0 means never time out.
FileSwitches: TOKENNIL;
argument is interpreted as the switches (sequence of characters) to be supplied when booting using the "File" button.
Edited on December 2, 1982 1:10 pm, by Teitelman
changes to: OpenFirstLevelOnly, UnsavedDocumentsCacheSize, ShowUnsavedDocumentsList, SourceFileExtensions
Edited on December 9, 1982 12:59 pm, by Teitelman
changes to: Walnut.InitialActiveOpen, Walnut.InitialActiveIconic, Walnut.WalnutOnlyUser
Edited on February 9, 1983 3:10 pm, by Teitelman
changes to: CreateLogFiles
Edited on March 4, 1983 11:59 am, by Teitelman
changes to: Walnut, Walnut, Walnut, Walnut, Squirrel
Edited on March 10, 1983 5:22 pm, by Teitelman
changes to: Hardcopy
Edited on March 13, 1983 2:01 pm, by Teitelman
changes to: CreateChangesLog, Spell, WorldSwapDebug
Edited on March 25, 1983 4:51 pm, by Teitelman
changes to: EditTypeScripts, CreateSessionLog
Edited on April 19, 1983 11:45 am, by Teitelman
changes to: CreateSessionLog, CreateWorkAreaLogs, CreateChangesLog, WhenLogFileExists