ExampleUserProfile.Tioga
Copyright © 1984, 1985, 1986 by Xerox Corporation. All rights reserved.
Russ Atkinson, April 11, 1985 2:00:24 pm PST
Teitelman, May 23, 1983 2:46 pm
Paul Rovner, December 8, 1983 3:10 pm
Jim Donahue, December 16, 1983 5:02 pm
Pavel Curtis, May 25, 1984 2:27:56 pm PDT
Russ Atkinson (RRA) April 30, 1985 6:34:22 pm PDT
Last Edited by: Spreitzer, May 12, 1986 3:30:38 pm PDT
This file contains an example user profile almost suitable for installation. For documentation of available options, see UserProfileDoc.tioga and all the documentation for everything not in <Cedar®>. This example file probably meets the requirements of the policies laid out in HowToUseAPublicCedarMachine.tioga.
You need to replace occurrences of Yourname.Yourregistry with your Grapevine RName (also fix lone occurences of either part). Also mentioned are some personal DF-files you need to either create or unmention.
CommandTool options
CommandTool.BootCommands: "
IF (&watch ← ViewerOps.FindViewer[\"Watch\"]) # NIL THEN ViewerOps.SetOpenHeight[viewer: &watch, clientHeight: 120] ELSE NIL
Set the open height of the Watch Tool to something sensible.
IF &watch # NIL THEN ViewerOps.OpenIcon[icon: &watch, bottom: FALSE] ELSE NIL
Get the Watch Tool open at the top of the column.
cd ///Commands/
We're gonna put some standard files in this standard place.
Bringover [Cedar]<CedarChest6.0>Top>Environment.df
Gets most of the standard stuff for ///Commands/; strictly speaking, this doesn't need to be done during a full-boot --- it only needs to be done "now and then". It's listed here so you don't forget. Once you've gotten sufficiently tired of doing it here, and won't ever forget to do it semi-regularly, you can delete it from here.
Run BootTool
A handy tool.
CommandToolProcedures
Universally registers some handy procedures with the interpreter: &stdin, &stdout, &stderr, &cmd, and &printRope.
DFTool
A screen interface to the DF software. Some love it, others ignore it.
cd
The following commands don't need to be done in ///Commands/, and so aren't.
Clock
Make a clock viewer.
PseudoServerAdd Fonts -r $ Cyan Luther.Alpine
PseudoServerAdd Cedar -r Cyan Cyan Luther.Alpine
PseudoServerAdd Summoner Indigo Indigo
PseudoServerAdd DATools -r Cyan Cyan Luther.Alpine
These commands set up the standard pseudo-servers in the currently correct way for Palo Alto people.
PseudoServerPrint
So you can later see what went wrong.
IF SystemVersion.machineType = dorado THEN &cmd[\"SummonerEnableAutoIdle\"] ELSE NIL
This makes public doradoes offer their services as compute servers while idle.
STPServer start
This makes the machine a file server. Make sure the access control files are reasonable. See STPServerDoc.Tioga. A good STPServer.readAccess is "CSL^.pa, CedarUsers^.pa, EDL^.pa".
Openr FontCache.Tioga
This file contains a variety of characters. The idea is to get them into your font cache. Scroll through the file to make sure they all get displayed.
"
CommandTool.NewUser: "
AutoBackup off
Tell AutoBackup to take it easy while you're getting things set up. See the discussion under the AutoBackup entries.
← IF (&watch ← ViewerOps.FindViewer["Watch"]) # NIL THEN ViewerOps.SetOpenHeight[viewer: &watch, clientHeight: 120] ELSE NIL
Fix the Watch Tool again, in case we're suffering from a sub-optimal checkpoint.
← IF &watch # NIL THEN ViewerOps.OpenIcon[icon: &watch, bottom: FALSE] ELSE NIL
cd ///
Bringover [User]<Yourname>6.0>YournameRoot.DF
This is a useful trick. Make a DF-file for the stuff you want in the root, and BringOver it here. See [User]<Spreitzer>6.0>SpreitzerRoot.DF for an example. This is a good way to make sure you get the STPServer access control files right, and also to get the styles that everybody wants, but aren't considered "essential".
cd
Bringover [User]<Yourname>6.0>YournameHome.DF
An easy way to get what you want in your home directory. This may include: your telephone directory, if you're a Finch user; your Remember events file, if you're a Remember user; and your private wordlists, if you're a SpellingTool user.
cd Commands
Bringover [User]<Yourname>6.0>YournameHomeCmds.DF
Set up ///Users/Yourname.Yourregistry/Commands/. You probably won't need this at first.
cd ///Commands/
Bringover [User]<Yourname>6.0>YournameRootCmds.DF
More setup, if you need it. Not needed for vanilla usage.
AutoBackup on
Now that we've got the file system initialized, let AutoBackup track user changes.
Run EditorComforts
EditorComforts is a package of handy extensions to and revisions of the "standard" editor behavior (which is thus actually sub-standard). As it lacks a load file, you have to start it with a Run command.
Run GmtDebug
A handy package that makes the standard data structure for a time (BasicTime.GMT) print out of the interpreter in a user-friendly manner.
DeleteDFTools
There are some options that control the appearance of DF Tools. Unfortunately, existing DF tools do not change their appearance when the user profile changes. So you have to delete the existing tools and create a new one.
DFTool
Create a DF Tool.
Alias ! Redo
There is a primitive Redo function available in command tools. This alias establishes a misleadingly familiar (to UNIX(TM) users) alternate name for it.
Alias GFR GetFromRelease
Alias GFRM (arg) GetFromRelease arg ← -md
GetFromRelease is a useful package, and I don't like typing that long name as often as I use it.
cd
← ViewerOps.MoveBoundary[512, ViewerSpecs.openBottomY]
This command sets the boundary between the two columns of viewers. Some people prefer it at 512, thus getting two equal-width columns. Other, less enlightened people, prefer it at 600, for stupid reasons.
FastMouse On
Turn on the FastMouse package. Using it, you can have your cursor move across the screen more quickly (and unevenly, if you use it wrong) than otherwise.
Statistics off
Some cretins boot and/or checkpoint with an obscure feature of the command tool enabled: the printing of statistics about the execution of each command. Here we make sure this annoyance is disabled.
STPServer start
Make sure this machine is willing to be a file server. This is polite and useful.
Install GetDWIM
GetDWIM is a handy package that makes the "Get" button in Tioga viewers smarter. `Install' is the proper way to start a package (but not a command) that is civilized enough to have a load file.
Install KeyboardTioga
KeyboardTioga revises and extends Tioga with some keystrokes for moving the cursor. It is an attempt to relieve the necessity to have three hands to use the Cedar user interface.
Install WorkingDirectory
WorkingDirectory makes some nice improvements in the handling of directories.
Install Remember
Get the reminder system started.
Install CommandToolProcedures
See above.
DoTiogaOps SaveSelectionA LeaveInitCap SubstituteInSel TypeName "code" StyleName "Cedar" PropName "Comment" RestoreSelectionA
Changes some settings in the Edit Tool to more commonly useful values.
← ViewerOps.SetOpenHeight[viewer: ViewerOps.FindViewer["EditTool"], clientHeight: 195]
Set the open height of the Edit Tool to something sensible.
PseudoServerAdd Fonts -r $ Cyan Luther.Alpine
PseudoServerAdd Cedar -r Cyan Cyan Luther.Alpine
PseudoServerAdd Summoner Indigo Indigo
PseudoServerAdd DATools -r Cyan Cyan Luther.Alpine
PseudoServerPrint
This again.
SummonerClientOn
Allow the compute server to serve you.
DoRollbackStuff
The hook for the RollbackAndAnything package.
"
CommandTool.PerLogin: "
cd
SetSearchRules ///Users/Yourname.Yourregistry/Commands/ ///Commands/
This is where you specify what the command tool search rules should be.
ClearMenu
Reset the command tool menu, so you can set it up right.
ExecHacks
Provides the handy "DoIt" and "Redo" buttons.
CreateButton SetBreak SetBreak $SelectedViewerName$ $ViewerPosition$
CreateButton CD CD $CurrentSelection$
CreateButton Open Open $FileNameSelection$
CreateButton OpenR OpenR $FileNameSelection$
Some other popular buttons.
Cookie
For the fun of it.
"
CommandTool.PerCommandTool: "
NotePerLogin
"
AutoBackup
Remember that the file name space local to a Cedar workstation is only a temporary working place; files that should be kept permanantly (i.e., across crashes of the workstation's disk) need to be kept on an IFS or Alpine file server. This is usually mediated with DF-files (and BringOver and SModel) or Cypress. For some files, it is possible to use AutoBackup to automate or replace the DF operations. See the AutoBackup package documentation for details. And beware logging on to two machines at once!
AutoBackUp.Files: -d [User]<Yourname>6.0>YournameRoot.DF [User]<Yourname>6.0>YournameRootCmds.DF [User]<Yourname>6.0>YournameHome.DF [User]<Yourname>6.0>YournameHomeCmds.DF
This directs AutoBackup at the random collection of personal files owned by those DF-files.
ExecHacks options
ExecHacks provides a useful button, named "DoIt", in command tools. It takes a filename from the current Tioga selection, and issues a command, based on the filename's extension. There are defaults that are mostly pretty good. Below are entries for the cases where the defaults are not so good.
ExecHacks.For.DF: MakeDo -rgom <base>
ExecHacks.For.Profile: ← UserProfile.ProfileChanged[edit]
ExecHacks.For.MachineProfile: ← UserProfile.ProfileChanged[edit]
Tioga options
Tioga.UserCategory: Advanced
Everybody should be an Advanced Tioga user. Once upon a time, it was thought otherwise. Maybe, when Tioga has a `Challenge' user class, ...
Next we give non-standard entries for Tioga's TIP tables. This is because we're using the KeyboardTioga package.
Tioga.TiogaTIP: ///Commands/KeyboardScan.TIP ///Commands/KeyboardTioga.TIP Default
Tioga.ReadonlyTiogaTIP: ///Commands/KeyboardScan.TIP ///Commands/KeyboardTioga.TIP Default
Tioga.TypescriptTIP: ///Commands/KeyboardScan.TIP ///Commands/KeyboardTioga.TIP Default
Tioga.ExtensionStyles: style Style
If a document doesn't specify a style, Tioga tries to deduce a good one to use. This profile entry augments the default rules for that with one that slipped through the cracks.
Tioga.SourceFileExtensions: df mesa tioga cm config style load
This tells Tioga, and some other packages, what filename extensions indicate the file is a source file, as opposed to a derived file.
Compiler/Binder
The Compiler and Binder have some user profile options, mostly controlling what they do with error logs. Below are good settings.
Compiler.IconicLogs: FALSE
Compiler.BlinkLogs: FALSE
Compiler.SeparateLogs: TRUE
Compiler.ViewSeparateLogs: TRUE
Compiler.VerboseComputeServer: TRUE
Summoner
Good settings for the Compute Server.
Summoner.CachePrefixesOKToRead: "[Cedar]<Cedar6.0>" "[Cedar]<CedarChest6.0>" "[DATools]"
Summoner.OKToUseLocalDisk: TRUE
Walnut
Walnut.WalnutRootFile: "[Server.alpine]<Yourname.pa>Walnut.Root"
This tells Walnut where to keep your mail database. You need to arrange with the Walnut and Alpine people to use Walnut and Alpine. Your Alpine Server will probably be either Ebbets or Luther.
WalnutSend.MsgForms: [Cedar]<CedarChest6.0>Forms>CedarChestMsg.form [Indigo]<Archivist>Forms>ArchiveRequest.form [Indigo]<Archivist>Forms>RetrieveRequest.form
Points Walnut at some standard forms for messages.
Some random good settings for Walnut:
Walnut.InitialActiveOpen: TRUE
Walnut.AutoNewMail: TRUE
WalnutSend.ReplyToSelf: TRUE
Walnut.PlainTextStyle: Ascii
Remember
Remember is a package for reminding yourself of upcoming events. It keeps its state in a file in the local file name space.
Remember.EventFile: ///Users/Yourname.pa/Yourname.RememberEvents
Where reminders are to be kept. It's a good idea to direct AutoBackup at this file. But beware logging on to two machines at once!
Remember.KeyWords: "
Meeting: Leadtime: 15, IconFlavor: Meeting, IconLabelType: Prev
Attend: Leadtime: 15, IconFlavor: Meeting, IconLabelType: Next
Forum: Leadtime: 15, IconFlavor: Meeting, IconLabel: Forum, Time: \"Thursday, 3:45PM\"
Dealer: Leadtime: 15, IconFlavor: Meeting, IconLabel: Dealer, Time: \"Wednesday, 1:15PM\"
Call: Leadtime: 0, IconFlavor: Phone, IconLabelType: Next, Duration: NIL
Phone: Leadtime: 0, IconFlavor: Phone, IconLabelType: Next, Duration: NIL
See:  IconFlavor: Conversation, IconLabelType: Next, Duration: NIL
Write:  IconFlavor: Envelope, IconLabelType: Next, Duration: NIL
Menu:  IconFlavor: Lunch, Repeat: WeekDays, Time: NOON
Cookies: IconFlavor: Cookies, Duration: 30
BASS:  LeadTime: 1440
Colloquium: LeadTime: 30
"
I'm not too happy with this entry. See the Remember document for details.
Remember.Duration : 60
Remember.LeadTime : 25
I think lead times are one of Remember's biggest weaknesses --- it's too hard to get them right. Anyway, here's a random entry. You'll probably not be happy with it (or any other, I suspect).
Icon Registry
RegisteredIcons: "
Remember.defaultIcon: ///Commands/Remember.icons 11 -- a calendar
Phone: ///Commands/Remember.Icons 0 -- pushbutton handset
Conversation: ///Commands/Remember.Icons 1 -- two people talking over a desk
Meeting: ///Commands/Remember.Icons 3 -- one person talking to a group of several
Envelope: ///Commands/Remember.Icons 4 -- an envelope
SoftBall: ///Commands/Remember.icons 6
Lunch: ///Commands/Remember.icons 7
Cookies: ///Commands/Remember.icons 13
"
Finch
Finch.InitialDirectoriesLeft: TRUE
Finch.TelephoneDirectory: "
[]<>Users>Yourname.pa>Yourname.TDir
"
DFTool
DFTool.DFNamePrefixes: [Cedar]<Cedar6.0>Top> [Cedar]<CedarChest6.0>Top> [User]<Yourname>
DFTool.CompactLayout: FALSE
For beginners, setting this FALSE is good because it's more verbose. Later you'll want to set it TRUE, so you don't waste so much screen space.
VersionMap options
Don't forget these!
VersionMap.SourceMaps: /Cedar/Cedar6.0/VersionMap/CedarSource.VersionMap /Cedar/CedarChest6.0/VersionMap/CedarChestSource.VersionMap
VersionMap.SymbolsMaps: /Cedar/Cedar6.0/VersionMap/CedarSymbols.VersionMap /Cedar/CedarChest6.0/VersionMap/CedarChestSymbols.VersionMap
Miscellaneous
SpellingTool.Wordlists: []<>Users>Yourname.Yourregistry>Missing.Wordlist (local)
Tells the Spelling Tool to use your personal auxilliary wordlist, and also one local to each document.
Viewers.SuppressIconPrefix: "[]<>Users>Yourname.pa>"
Tells Viewers to suppress this prefix from viewer names when they're iconic --- so you don't miss the interesting part of the name.
Interminal.VBWEscape: 10
Interminal.VColorEscape: 10
These make it less easy to accidentally move between the color display and the black-and-white display.
Cookie.Enabled: TRUE
Promptery.Enabled: TRUE
Make sure these fun packages don't gag themselves.