NCKEYS A Command Line Interpreter for NoteCards Frank G. Halasz Xerox PARC First Written: 4-Feb-85 Last modified: 22-Mar-85 by Frank G. Halasz The NCKEYS package provides a command line interface to several of the most common NoteCards operations. NCKEYS is implemented as a set of LISPX commands that can be typed to the Lisp Exec. For example, typing "> Phones" in the tty window will bring up from the currently open NoteFile the NoteCard or FileBox entitled "Phones". The available NCKEYS commands are: > PathName œ retrieves and displays on the screen the NoteCard or FileBox specified by PathName. (See below for description of PathNames). < TitleSpecifier œ quits and saves all cards on the screen whose title matches TitleSpecifier. TitleSpecifier is any string of characters. A match occurs when these characters form a substring of the title string of a card. If TitleSpecifier is not given, the last card retrieved using the > command is assumed. ? Command œ carries out the command specified by Command. Command can be one of the following: CLOSE œ closes the currently open NoteFile. The is ignored. OPEN œ opens the NoteFile specified by , e.g., "? OPEN {DSK}HALASZ". CHECKPOINT, CHKPT, CHECK œ checkpoints the currently open NoteFile. The is ignored. RETRIEVE œ does the same as >. The is the PathName of the card to be retrieved and displayed (see discussion of PathNames below). QUIT œ does the same as <. The is the TitleSpecifier discussed under the < command above. PathNames For the task of retrieving a NoteCard or FileBox from a NoteFile, the card is specified by a PathName. A PathName is a character string of the form x/y/z, where x, y, and z are arbitrary character strings. The string z is a substring of the title of the target card. If the string y is specified, it specifies a substring of title of the FileBox in which the target card must be filed. Similarly, if x is specified, it is a substring of the title of the FileBox in which the FileBox specified by y is filed. The PathName can consist of an arbitrary number of FileBox title substrings separated by "/". Search for the card that matches a given PathName begins in the "Table of Contents" box (i.e., card NC00001) and traverses the FileBox lattice in a depth first manner. The card retrieved is the first match to the PathName. Examples: "Phones" matches any NoteCard or FileBox with "Phones" as a substring of its title. "Smith" matches any NoteCard or FileBox with "Smith" as a substring of its title. "Phones/Smith" matches a NoteCard or FileBox with "Smith" in its title and which is filed in a FileBox with "Phones" in its title. "People/Phones/Smith" matches a NoteCard or FileBox with "Smith" in its title and which is filed in a FileBox with "Phones" in its title and which itself is filed in a FileBox with "People" in its title. User Settable Parameters The global variable NCKI.CardRegionOrPosition determines where retrieved cards will be placed on the screen. If NCKI.CardRegionOrPosition is a region, the card will be placed within that region. If it is a position, the card is placed with its lower-left corner at the position. It retains its previous height and width. If NCKI.CardRegionOrPosition is NIL, the user must determine for each card its lower-left position as in standard NoteCards. NCKI.CardRegionOrPosition defaults to the position (20 . 550). (LIST ((PAGE NIL NIL (0 0 612 792) ((TEXT NIL NIL (2540 2540 16510 22860) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY GACHA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (16510 26670 2540 1270) NIL) (TEXT NIL NIL (2540 2540 16510 22860) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY GACHA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (16510 26670 2540 1270) NIL) (TEXT NIL NIL (2540 2540 16510 22860) NIL)))))NILNIL TIMESROMAN NILNIL) TIMESROMAN  NILNIL TIMESROMAN NILNIL TIMESROMAN NILNIL HELVETICANILNIL- HELVETICANILNILK TIMESROMAN  NILNIL# TIMESROMAN $$ NILNIL TIMESROMAN  TIMESROMAN M TIMESROMAN  TIMESROMAN - TIMESROMAN $$ NILNIL TIMESROMAN  TIMESROMAN ? TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN x TIMESROMAN  TIMESROMAN 1 TIMESROMAN  TIMESROMAN  TIMESROMAN $$ NILNIL TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN ( TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN HHNILNIL TIMESROMAN + TIMESROMAN TIMESROMAN  TIMESROMAN HHNILNIL TIMESROMAN # TIMESROMAN TIMESROMAN  TIMESROMAN HHNILNIL TIMESROMAN , TIMESROMAN  TIMESROMAN TIMESROMAN  TIMESROMAN  TIMESROMAN HHNILNIL TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN ` TIMESROMAN HHNILNIL TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN NILNIL TIMESROMAN  NILNIL• TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN  TIMESROMAN . TIMESROMAN  TIMESROMAN @ TIMESROMAN  TIMESROMAN w TIMESROMAN  TIMESROMAN _ TIMESROMAN  TIMESROMAN K TIMESROMAN $$ NILNIL TIMESROMAN $$ NILNIL TIMESROMAN M TIMESROMAN $$ NILNIL TIMESROMAN K TIMESROMAN $$ NILNIL TIMESROMAN v TIMESROMAN $$ NILNIL TIMESROMAN · TIMESROMAN NILNIL TIMESROMAN NILNIL TIMESROMAN  TIMESROMAN D TIMESROMAN  TIMESROMAN ¾ TIMESROMAN  TIMESROMAN b TIMESROMAN  TIMESROMAN & TIMESROMAN NILNIL TIMESROMAN  ‚€z¸