XEROX FILEWATCH 2 4 1 FILEWATCH 1 4 Johannes A. G. M. Koomen (Koomen.wbst@Xerox or Koomen@CS.Rochester) (578024960 NIL (DATEFORMAT NO.TIME MONTH.LONG YEAR.LONG MONTH.LEADING)) SUMMARY FILEWATCH is a facility for keeping an eye on open files. It continually updates a display showing each open file, its current file pointer location, the total file size, and a percentage bar. DESCRIPTION Invoking the function FILEWATCH (or selecting the "FileWatch" entry on the BackgroundMenu) starts up the FileWatch process if not already running, or brings up a FileWatch control menu allowing you to forget a currently displayed file (i.e., stop displaying the file), recall a previously forgotten file, close an open file (user beware!), change some or all FileWatch display properties, or quit the FileWatch process. The Forget, Recall and Close entries on the FileWatch control menu have roll-outs to let you perform the operation on several files at once. FileWatch can be customized by setting the FileWatch properties (see below) using the function FILEWATCHPROP. Right buttoning any FileWatch window brings up the FileWatch control menu, with the provision that the Forget and Close commands apply to the file displayed in that FileWatch window. Middle buttoning any FileWatch window allows you to move the entire FileWatch display, and left buttoning cause the window to be redisplayed. DETAILS (FILEWATCH Command) [Function] If Command is 'ON and no FileWatch process is already running, starts a process to watch open files. If Status is 'OFF or 'QUIT and there is a FileWatch process running, kills the process. If Command is neither one of the above nor one of the FileWatch commands listed below, starts a process to watch open files if not already running, otherwise brings up the FileWatch control menu. Returns the process if running, otherwise NIL. FORGET [FileWatch command] Brings up a menu of files currently being watched. Select the one you no longer want to have watched. FORGET-MANY [FileWatch command] Repeatedly performs the FORGET command until no other files are being watched or you make a null selection. RECALL [FileWatch command] Brings up a menu of forgotten files. Select the one you want to have watched again. RECALL-MANY [FileWatch command] Repeatedly performs the RECALL command until all forgotten files are being watched again or you make a null selection. CLOSE [FileWatch command] Brings up a menu of open files. Select the one you want to have closed. CLOSE-MANY [FileWatch command] Repeatedly performs the CLOSE command until all open files have been closed or you make a null selection. MOVE [FileWatch command] Performs the SET-ANCHOR, SET-POSITION, and SET-JUSTIFICATION commands. SET-ANCHOR [FileWatch command] Brings up a menu of four corner names. Select the one on you wish to anchor the FileWatch display. For instance, selecting Top-Right causes FileWatch windows to be stacked downwards witht the top right corner of the first FileWatch window at the FileWatch display position. SET-POSITION [FileWatch command] Indicate where the FileWatch display should be positioned by moving the region of the combined FileWatch windows. SET-JUSTIFICATION [FileWatch command] Requests confirmation to turn FileWatch window justification on, i.e., make all FileWatch windows the same width as the largest one. (FILEWATCHPROP PropName [PropValue]) [Function] If PropValue is given, sets the property value accordingly. Always returns the current (old) value of the property. This is a general facility which you can use for whatever purpose you deem appropriate. However, there are some properties that have a predefined meaning to FileWatch: ALL-FILES? [FileWatch property] If NIL, FileWatch displays only user visible open files; otherwise all open files (including, for example, file cacher files). Initially set to T if you are running the Koto release of Interlisp-D, otherwise NIL. (Later releases have no facility yet to obtain all open files.) ANCHOR [FileWatch property] Each open file that is being watched gets its own FileWatch window. Multiple windows are stacked automatically. The total region occupied by this stack is anchored at the corner indicated by this property. The only legal values are TOP-LEFT, TOP-RIGHT, BOTTOM-LEFT, BOTTOM-RIGHT. Initially set to BOTTOM-RIGHT. If the anchor is at one of the bottom corners the stack grows upward, otherwise downward. If the anchor is at one of the left corners the stack is aligned by left edge, otherwise by right edge (see also the JUSTIFIED? property). FILTERS [FileWatch property] A list of file patterns, for example '("{CORE}*.*;*"). An open file that matches any of the patterns will not be watched. Initially set to NIL. Note that each pattern is expanded to include the HOST and DIRECTORY equal to that of (DIRECTORYNAME), EXTENSION and VERSION equal to "*", unless already specified. For example, in my case, the filter "*JUNK*" expands to "{Ice}Lisp>*JUNK*.*;*". If you really wanted to filter all junk files, use the filter "{*}*JUNK*". FONT [FileWatch property] The font used for the FileWatch displays, specified in a form suitable to give to the function FONTCREATE. Initially set to '(GACHA 8). INTERVAL [FileWatch property] The value given to the function BLOCK. This should be either NIL or an integer indicating the number of milliseconds to wait between FileWatch display updates. Initially set to 1000. Note that FileWatch generates several FIXP's for large files every time throught the loop, so setting this to NIL may cause excessive storage allocation and reclamation. JUSTIFIED? [FileWatch property] If T all FileWatch windows are aligned along both left and right edges, and are grown or shrunk as needed to accomodate the maximum filename length currently in use. This is aesthetically more pleasing but incurs increased overhead due to frequent reshaping of the windows. Initially set to NIL. POSITION [FileWatch property] The location of the anchored corner of the FileWatch display. Initially set to the bottom right corner of the screen: (CONS SCREENWIDTH 0). SHADE [FileWatch property] The shade used for the FileWatch thermometers. Initially set to GRAYSHADE. SORTFN [FileWatch property] Either NIL or the name of a function taking two filenames as arguments (such as ALPHORDER), which is used to sort the list of open files being watched. Initially set to NIL (i.e., no sorting). (LIST ((PAGE NIL (FOLIOINFO (ARABIC) STARTINGPAGE# 1) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM) FORMATINFO (ARABIC)) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL NIL (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF SLOPE REGULAR WEIGHT MEDIUM)) (282 42 72 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 444 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))1ÈÈ(È1È È1È ¼È(ŠŠ8(È (ŠŠ8DÈÈ PAGEHEADING RUNNINGHEAD HELVETICA MODERN MODERN MODERN MODERNMODERN LOGO  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN   HRULE.GETFNMODERN  HRULE.GETFNMODERN FHDOCOBJ-TIMESTAMP-GETFNMODERN  ìC¶ ³h mV xJ kH rAA$ sª  # ݉d ) Ž L ¯‰¶zº