XEROX WINNER 2 4 1 WINNER 1 4 Window Area Manager By: Jeff Shrager (Shrager.pa@Xerox) Files: WINNER., WINNER.DCOM, WINNER.TEDIT Description: WINNER is used to manage windows that are normally thought of as independent instances of the same type of process. That is, for instance, one generally only TEdits one file at a time, although there may be several active TEdit processes around at once. The typical procedure is to shrink (or bury) old TEdit windows while working on the current one, and then find the next one to work on. Another way of doing this is to shrink all but the current TEdit window and then expand an old one when you want it. WINNER enables the user to think of lots of windows of the same type as different buffers. Thus, for TEdit, using WINNER one can "swap out" the current TEdit window and "swap in" one of the others to replace the current one -- all in one operation. "Out" windows are off screen so they don't get in the way. When a current TEdit window is either swapped out or killed, the user is asked (by menu) to select one to replace the old one (unless there is only one choice in which case that one is automatically used). Details of Use: When WINNER is loaded, a new item (Swap Out) is added to th window command menu, and one (Retrieve) is added to the background menu. Swap Out has three subitems: Kill, Put Out, and Remember. Initializing: To use WINNER's swapping capabilities, one must first inform the system about where you would like to put the various types of windows. (Currently the only kind of windows understood are TEdit and FileBrowser windows.) Open a TEdit window and place it one the screen in the location you prefer all your TEdit buffers to appear. Select "remember" under "swap out" in the TEdit window's command menu. Adding a new buffer: WINNER is really only useful if there are two or more windows. Once WINNER knows where to put windows of each sort (always TEdit windows, for the present) you can simply open a new window anyplace on the screen, load a file (or edit) in it and then select "put out" in the window's command menu. The window will disappear -- it has been moved off screen. Swapping buffers: Now that you have one window on screen, and one or more off screen, you can use the window command item: "swap out" to put the current window off screeen and recall one that was off screen to replace the present one. If there is only one off screen window of this type, then that one is used, otherwise, the user is prompted by menu with the titles of all the off screen windows, and must select one to bring back. Killing a Window: If you just close the current window, none of the off screen ones will be brough in to take its place. (See the use of retrieve, below). However, the command menu item "kill" can be used to close the current window, and bring back one of the off screen windows to replace it. Retrieving Off Screen Windows: The normal way to retrieve off screen windows is by swapping out or killing the on screen one. However, if you've closed the on screen one (or othrwise lost it), off screen windows may be retrieved by buttoning "retrieve" in the background menu. This will first ask what type of window you want, and then will prompt you for which window of tha type you'd like to retrieve. Moving the Default Location: Windows are always brought back in the initially selection (by "remember") location set for that type of window. If you would like to move this location, be sure to rebutton "remember" after moving it, otherwise windows will always come back into the old location. Notes & Limitations: As this is an initial implementation, WINNER only deals with TEdit and FileBrowser windows at this time. In case of emergency, the variable WM:*WINDOW-TYPE-LOCS* contains the list of off screen windows for each window type, and the default on and off screen locations. Since the off screen window selection menu uses the title of the TEdit window, this is a convenient way of seeing which of your buffers are modified. The "*" at the left of the title shows up in the selection menu. (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)))))(È(ŠŠ8(È (ŠŠ8DÈÈ PAGEHEADING RUNNINGHEADMODERN MODERN MODERN MODERNLOGO HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN  HRULE.GETFNMODERN %* þ “f¢{ k¥ØFzº