MASTER_MENU is a set of four command procedures and one executable image that resides in SYS$MANAGER: and provides a set of customized menus based on the user's account name. At startup, it creates one logical name per menued application (ITEM_application) and one per username (USER_username) in its own logical name table. This version permits a two-column menu to be set up for people who have more applications available than rows on their screens. If your site has an enormous number of users and requires customization on less than a user-by-user basis, it should be straightforward modify the command procedure to first look for USER_username, then USER_identification, where the identification is parsed from F$GETJPI(0,"PROCESS_RIGHTS") if your version of VMS supports that lexical. If you hate having extra files in SYS$MANAGER, it should be trivial to change the command files to refer to some other (world readable) directory. MASTER_MENU_START.COM should be run at system startup. It calls the list of relevant applications (MASTER_MENU_ITEMS.COM) and the list of relevant users (MASTER_MENU_USERS.COM). If any additions or changes need to be made to the lists, the system manager can just edit and execute the appropriate COM file rather than restarting the whole thing. Deletions should be handled by editing the appropriate COM file, then either rerunning MASTER_MENU_START.COM or doing a manual DEASSIGN. The list of relevant applications for the particular user is obtained at the beginning of MASTER_MENU.COM. Any changes made to that list will not become effective until the user exits and re-enters MASTER_MENU. MASTER_MENU.COM is run as the last statement in SYLOGIN.COM for interactive jobs. It must be world-executable. By default, it lets the user fall through to a dollar prompt if it can't find an appropriate menu. This can be changed to force a LOGOUT (except for accounts like SYSTEM, FIELD, etc.). This environment is more for convenience than security. It does not prevent spawning. It allows anyone who knows where to look to see all user names and applications names covered by menus. To keep the procedure from paralyzing DECwindows, it checks to see if the process name includes "_SM" ("_V" in VMS v5.1), thus introducing a hole for users with accounts such as JONES_SM. Anyone with a more elegant solution is invited to send mail to MCMICHAEL on DECUServe. This procedure has not been tested using MOTIF. To enable a workaround for the WPS-PLUS v4.0 bug that disables the terminal's numeric keypad after it has run, remove the dual exclamation marks in the lines directly above and below the line containing "$ 'FUNCTION'". All code and information is provided "AS IS." It is running on at least one VMS V5.1-1 and a 5.4-3 system. Chuck McMichael Pittsburgh Corning Corp. 01-MAY-1992