envos GRID-ICONS 2 (5 4 1) GRID-ICONS (1 4 5) By: sML (Lanning.pa@Xerox.com) Last edited: September 14, 1987 INTRODUCTION Grid-Icons provides the Lisp user with a set of default window icons that resemble those found in the Viewpoint system. There is an option that the user can set to force these icons to be positioned on a grid, instead of the unrestricted positioning allowed by Lisp. USING GRID-ICONS All that is required is loading the file GRID-ICONS. When the file is loaded, it redefines a number of standard window icons in the system. 1 LcuUUUuwwUuuUWWUUUWWwuWWUUuuUUUuwwUuuUWWUUUWWw`UU]U]UUUUU]U]UU]UUUUU]U]UUUUU]U]UWUuUWuUuWwwUUuWUUwUWUwwuUWUuUWuUuWwwUUuWUUwU@U]UUUUUUUUU]]]UU]UU]UUUUUUUUU]]@WWWuuuUuUUWUUuuwWWUWUUUuUWWWuuuUuUUWUUuuwWWU@]UUU]U]U]U]UU]U]UUU]U]U]U]U@uUUUUWuuuUuWwUUUUUwWWUWUwuUUUUWuuuUuWwUUUUUw@]UUU]UU]]]U]UU]UUU]UU]]]@uWWWWWUuuuuuuUWwwWuWWWwuw@UUU]UU]]U]U]UWUWuWuu`UwUwWUWUWuUWUWuVUUu@Հ]U]`U]UUUU]]V U]UwuWUuuawUuWWWwwwWWUwuWV uW`Ո5]UU]]]UUUUUU]UU@UUWUUbuuUuUWUUWUUuwWUV?uWW`] U]dUU]U]UU]U^?5]UUWWuudUuwWUUUuuUWUUWVUu@UUUUU]]UUUUU]]V UwUuWduuuWWWUwuuWWVwW@ݐU]U5]W]U]]U]UVUwWwub$wu~?UuUUUuwwVW@Uu]UbU]UUUUU]@uuwwWaUW|UUvu@UuUU`]]UUuwUuu`Wu\UwVu@]uU]U`]U_UV]@UwuUU`Uw\UWv=u`U}]U`]g]@wuWUW`UU|'uUVU@Uu`U]\'U7U@WuUwu`UU\'uUVU`UuU]`U]\;r'UU@WuUWU`uU\'WUV?W@Ճ_(&1 " ur@\8uUW "%P Hwr @uUW "%Q Ȑur @\8wWw "đ ( wr q``p}UW   u )H@\uwW  `ur H@\uUW }!)H@|uwW PG"8 Burwuw ur@`uW @ u@@\wUW  Y,qurx@\u]W $ i4ur|uuW $ !I$@ur@\u] $ I$ur@\uuw  RI$qwr @\@}]_ @ ur |wuw `ur'3@HÀu  }r(JP@\ I$wWw @@ <<ur&r @\IuU!NSX I"B @u!B@|)IwUW"Iti'#"@#ur2@\H}UW"ICI I<@U @u@|uWw"IDI Bur`\}U!G\H@0 <@0ur\uUW @ @ur`u]  u~uW ur`U u@_ww?ws`U}@UUuWwWWWUUwwp`UUUUUUUW@UUuUUUUuWWw@UUUUUU]]UUU]UU]U]UUUUUU]]UUU]U@UwWUuUUUUUwWUWuuWUUUUUWuuUwWUuUUUUUwWUWuuWUU@U]]]UUU]]U]]]UUUU]]]UUU]]U]@ 1 REDEFINED ICONS L@K??0p0X0L0F0C0A0@0@`0@00@00 0 0?} 0 0 1 0 0 1 0 0 1 0 0 0 0 0? 0 0 1 0 0 1 0 0 1 0 0 1 0 0 0 0 0H" 0dO" 0PP"@ 0@ 0 0 0>|y 0  0< 0  0  0y 0 0 0 0 0 0 0 0 ?? [Sketch icon] Note that GRID-ICONS not only redefines TEdit and Sketch icons, it also changes the way that the icon title is computed: the host and directory information is removed, so that only the name and extension remain. L@K??0p0X0L1F1C2A2@2@`2@02@1@1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0| 0E"@ 0Ex 0@ 0"@ 0Q| 0 0 0 0 0! 0 0A 0! 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 000L0L0L0L0L0H00 0 0 ?? [SEdit icon] L@K??0p0X0L0F0C0A3?3?`3?0330? 0 0 0 0 0 3? 3 3 3? 3? 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0q $ 0 0` 0 0 0@ 0 0 0 0 0 0 0 0>p 0 q 0

" 0p 0 0 0 0 0 0 0 0 0 0 0 0 0 ?? [Default icon] In Lyric, it is possible to redefine the standard icon used by the system. GRID-ICONS uses this, and redefines the standard system icon in LYRIC. LO780`0008?03i?20 3h 00 2u 3[h0?000000000000000$O0D$H0"0H"0D!0'!000000000000000?? [Lafite mail folder icon] NEW ICONS GRID-ICONS defines a handy icon for accessing the list of files that have been loaded into you system. LE@?<8 8 CG8 BH8@H8@F8@A8@Ȁ8@Ȁ8 BG8 @8 8888808088p888888p8888p888888888888|8888888888H88R8Ӝ8888<? [Lisp files icon] Buttoning on this icon will pop up a menu of all loaded files (as determined by the value of the variable FILELST). Selecting a file from this menu will open up an editor on the COMS of that file. There is an additional item on the menu, "* New file *", that can be used create a new file, and then edit its COMS. This icon window is stored in the variable LOADED-FILES-ICON-WINDOW. USER FUNCTIONS The user can declare that any given window stick to grid positions. (GRID-WINDOW window) [Function] Causes window to pay attention to ENFORCE.ICON.GRID; if the value of ENFORCE.ICON.GRID is true, the window will make sure that it is centered on a grid location. By default the spy button and icons produced by the ICONW and TITLEICONW functions pay attention to ENFORCE.ICON.GRID. VARIABLES THAT CONTROL GRID-ICONS There are a few variables that control how GRID-ICONS works. ENFORCE.ICON.GRID [Variable] If ENFORCE.ICON.GRID is true, window icons (and any window declared "gridded" by the GRID-WINDOW function) will be restricted to be positioned on a grid. The default value of ENFORCE.ICON.GRID is NIL. IGNORE.ICON.GRID [Window property] The IGNORE.ICON.GRID window property provides a way to control icon gridding on an icon-by-icon basis. If the IGNORE.ICON.GRID window property of an icon is true, the icon will not be restricted to grid positions. This window property is checked only if ENFORCE.ICON.GRID is true. ENFORCE.ICON.REGIONS [Variable] You can enforce icon gridding in individual regions of the screen by using the variable ENFORCE.ICON.REGIONS. If the value of ENFORCE.ICON.GRID is true, and the icon does not have a IGNORE.ICON.GRID window property, the proposed new position for the icon is tested against the value of ENFORCE.ICON.REGIONS. If ENFORCE.ICON.REGION is NIL, gridding is enforced as described above. Otherwise, ENFORCE.ICON.REGION should be a list of regions; gridding will be enforced only if the proposed position is within one of these regions. The default value of ENFORCE.ICON.REGIONS is NIL. [Thanks/blame to Ramana Rao for this.] ICON.SIZE [Variable] ICON.SIZE specifies the maximum size of the icons, for use in computing the grid positions of icons. It is a cons of the maximum width and the maximum height. The default value is (85 . 85), which is the "correct" value for the icons defined in this utility. ICON.SPACING [Variable] ICON.SPACING specifies the gap between icons, for use in computing the grid positions of icons. It is a cons of the horizontal gap and the vertical gap. The default value is (5 . 5). GRID.OFFSET [Variable] GRID.OFFSET specifies origin of the icon grid. The default value is (0 . 0). DEFAULTICONFONT [Variable] The value of DEFAULTICONFONT is the default font used by the system when printing titles in icons. Since the icons defined in GRID-ICONS tend to be smaller then the original icons, you might want to use a slightly smaller font then the default. Personally, I recommend setting DEFAULTICONFONT to (FONTCREATE '(HELVETICA 8)).(LIST ((PAGE NIL (PAPERSIZE LETTER FOLIOINFO (ARABIC "" "") STARTINGPAGE# 101) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE LETTER FOLIOINFO (ARABIC "" "") STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL))) (PAGE NIL (PAPERSIZE LETTER FOLIOINFO (ARABIC "" "") STARTINGPAGE# NIL) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD CENTERED) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY MODERN OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (174 36 288 36) NIL) (HEADING NIL (HEADINGTYPE RUNNINGHEAD) (84 744 528 36) NIL) (TEXT NIL NIL (84 96 456 600) NIL)))))3T3T25 5 ,8H PAGEHEADING RUNNINGHEADCLASSICCLASSICCLASSIC?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8)) MODERN MODERN MODERN MODERN   HRULE.GETFNMODERN  HRULE.GETFN  HRULE.GETFNMODERN     HRULE.GETFNMODERN P BMOBJ.GETFN3?1(DEFAULTFONT 1 (GACHA 10) (GACHA 8) (TERMINAL 8))  HRULE.GETFNMODERN d BMOBJ.GETFN3MODERN d BMOBJ.GETFN3MODERN d BMOBJ.GETFN3MODERN d BMOBJ.GETFN3MODERN d BMOBJ.GETFN3MODERN 2 BMOBJ.GETFN3MODERN  g BMOBJ.GETFN3MODERN D!"=%"nNF@rz