The Key Menu Builder Ver. 2.7 Copyright 1990 (c) Any Key Software Written by Mark M. McCurry For Key Software P.O. Box 10443 Corpus Christi Texas 78460-0443 Compuserve I.D. 71500,1457 Builder Documentation Table of Contents Features . . . . . . . . . . . . . . . . . . . .01 Overall features . . . . . .01 Does not leave menu file open Novell menu file compatible WYSIWYG Fully moused File verify Latest changes . . . . . . .02 Theory of operation. . . . . . . . . . . . . . .03 The menu file. . . . . . . .03 The config file. . . . . . .04 The help file. . . . . . . .05 Installing and Running The Builder . .06 The main screen. . . . . . . . . . . .08 getting around with the keyboard getting around with a mouse The menu menu. . . . . . . .09 selecting the submenu to edit turning other submenus on and off The builder menu. . . . . . 10 save and exit edit another file create a submenu edit this menu title delete this submenu add a new item edit hilited item delete hilited item the command edit screen the help edit screen the config edit screen abort and exit The Novell option. . . . . .14 A word about Mountain Menus.15 Licensing. . . . . . . . . . . . . . . . . . . .16 License agreement. . . . . . . . . . . . . . . .17 Program Features Overall Features The Menu Builder is a stand alone program which can be used to build and maintain Mountain Menu's and Novell's menu files. A command line switch can be used to run the program in Novell compatible mode. This basically accounts for the differences in the coordinate system used by the two menu programs. It also allows entry of the color palette numbers for each submenu that Novell's menu uses, and disables the Mountain Menus specific features. Because the program provides an easy to use interface for maintaining menu files used by either menu program, it is being released on it's own, instead of being packaged with Mountain Menus exclusively. So, if you aren't yet using Mountain Menus (hopefully because you just haven't tried it yet), The Menu Builder can still be a useful tool. The Builder does not leave the menu file open during editing. Instead, it reads the file in, then closes it. In this way, users on a network can continue to access the menu while someone is editing it. You STILL won't be able to save the changes you've made, if your using Novell's menu, unless everyone is OUT of the menu file. With Mountain Menus, this is never a problem. The Number One advantage to using the Builder over a text editor to maintain menu files, is the all new mouse driven, WYSIWYG interface. The Builder actually reflects the way the menu program would look, if it were using the menu file you are editing or building. If the Builder can find a Mountain Menus Configuration file, it will use, and allow editing of the items in it. This includes all of the colors you've set. Instead of entering coordinates for sub menu locations, you simply move it to where you want it with the keyboard, or better yet, drag it to it's new location with the mouse. If the sub menu you are editing is called up by a different sub menu, which is called by a different sub menu, etc., you can turn the calling sub menus on, to get a true indication of how the menu screen will look. Commands for menu items are now modified with an editor type window instead of one line at a time. The help screens available for each menu item in Mountain Menus can be composed using a similar editor style window. The help file where these screens are stored will be created or updated in the directory where the menu file is, even if that isn't the current directory. If the Builder can find a Mountain Menus configuration file, either in the current directory, or anywhere in the PATH, it will leave it where it is. If the Builder cannot find a configuration file, it will create a new one in the current directory. The Builder will also search the PATH for the menu file you specify on the command line, unless you provide a full path name. One more thing you won't get with a text editor. When you tell the Builder to Save and Exit, it will verify the integrity of the menu file. It tells you if you forgot to assign commands to a menu item, created a new sub menu but forgot to assign an item which calls it up, have an item which calls up a non-existent sub menu, etc. Latest Changes This is kind of mute at this point, as this is the first public release of the Builder. I have raised the Version number of the Builder to match the Version of Mountain Menus which the Builder is compatible with. (2.7.5). BUT,,, as Mountain Menus grows, and new items are placed in the configuration file, new updates to the Builder will follow. This page will be dedicated to describing those changes and additions. Now that the Builder is completed, I go to work on Mountain Menus 2.8, which I already have several suggestions for. More on that later..... Theory of Operation The Menu File The menu file is a text (ascii) file which contain the structure, and commands for, a Mountain Menus, or Novell, menu. Since the Builder completely isolates you from having to deal with this file, there is no need to become familiar with the details of it's format. There are, however, two things you'll need to know about when you are entering commands for new menu items. 1) All menu items fall into one of two categories. They either execute the DOS commands assigned to them, or they simply call up another sub menu. To have a menu item call up another sub menu, on the first line of the COMMAND EDIT WINDOW for that item, type: %MENUTITLE, then press to save the command. Be sure that the line following this line is blank. Also, upper and lower case DO COUNT when typing in the menu title after the percent sign. Spaces are OK, as long as it matches, letter for letter, the title of the menu you wish to call up. 2) There is a way to prompt the user for information, which will be inserted into the command line, when the command line is written to the batch file. For example; My editor, Qedit (the world's best text editor)(Q.EXE), will accept the name of the file I wish to edit, on the command line. So, if I want to edit my autoexec.bat file, I type; Q AUTOEXEC.BAT at the DOS prompt. If I want the menu to ask me the name of the file I want to edit, I would write the item command like this: Q @1"ENTER THE FILE NAME TO EDIT>" another example: SEND @1"TYPE MESSAGE:" TO USER @2"SEND TO WHOM?:" As you can see there can be more than one prompt on a line. There can also be prompts on more than one line. Aside from these two special cases, the commands you enter into the COMMAND EDIT WINDOW for any given menu item, are written to the batch file just the way you type them. The same rules apply to commands in the 'command edit window', that apply to commands in a batch file. If it's allowed in a batch file, it's allowed in the edit window. The Configuration File The configuration file is specific to Mountain Menus. More specifically, to the registered version of Mountain Menus. It is a text (ascii) file which contains some, or all, of the system settings that a user wishes to change. If a setting is not present in the config file, Mountain Menus assumes a default. If the config file is not present, Mountain Menus assumes default settings for everything. The unregistered version of Mountain Menus ignores the config file, even if it IS present. If you change any of the items in the CONFIG EDIT WINDOW, the Builder will write a new config file which reflects the changes you make. This file is only useful to a registered Mountain Menus program. The Builder will search for the configuration file on start-up. If it is found, it will be read in, and any color definitions will be reflected on the Builder screens. Like the menu, if any items are not found, default values are assumed. With the ability to see and set your color selections and the ability to turn on and off any of the sub menus you have built, the Builder truly reflects exactly what the menu will look like when it's used by the menu program. The configuration file will be used more and more with future releases of Mountain Menus. It is currently responsible for about a dozen settings; The eight configurable color settings. The two Heading lines which are centered at the top of the menu screen. The environment variable which is used for alternate naming of the batch file. The mouse speed settings for horizontal and vertical movement. The timeout period for the screen blanker (zero turns it off) The switch for alpha-numeric vs. numeric date display. The switch to disable the ESCape to DOS (menu exit) The switch to enable the return to the sub menu which ran the program. The switch to either center or left justify the menu items. The switch to sort the menu items, or leave them in menu file order. The Help File The help file is also specific to Mountain Menus. It does, however, work with all versions of Mountain Menus, registered and unregistered. Each menu item in Mountain Menus can have it's own full screen of help. What appears on this screen is what ever you want !! All of the help screens for a given menu file are stored in it's help file. The help file must have the same name as the menu file, with the extension .HLP. The order of help screens within this file is not important. Each entry in the file begins with a percent sign (%) followed by the name of the menu item. There must be no space between the percent sign and the menu item name. This is followed by twenty three lines by seventy-eight columns of whatever you want. Once again, the Builder handles all of the file format details. All you need to do is build the screen itself. If no help file exists for the menu file you are editing, and you build a help screen for an item, a new help file will be created in the same directory that the menu file is in. If you are in an environment where many different people will be using an unfamiliar computer, such as an academic class room type situation, The help screens can be very useful for providing direction to novice users. It will let them know what a certain menu item does without having to blindly try it. Some programs don't make it very obvious as to how to get out. A help screen could let them know, "you press F7,N,Y to return to this menu" etc. Installing and Running The Builder The Menu Builder package for version 2.7.5 contains the following: BUILD.EXE => The main executable file.(the program itself) BCONFIG.OVL => The overlay executable for editing the configuration file. BUILDDOC.TXT => The Builder Documentation and license agreement(this file). MAIN.MNU => A sample menu file to 'mess' with. MAIN.HLP => The associated help file for the above menu file. ANOTHER.MNU => Another sample menu file to 'mess' with. ANOTHER.HLP => The associated help file for the above menu file. The four sample files are, of course, not necessary. They are there so you can use them to put the Builder through it's paces (add items, change commands, move submenus, etc.) without affecting your working menu files. Once you're finished 'sampling' what the Builder can do, these files can be deleted. ÚÄÄÄ A Note about sampling ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³ During your sample session, be careful about changing the ³ ³ configuration settings if your running on a network. If you have an ³ ³ active MMMENU.CFG file somewhere in the a PATH directory, the Builder ³ ³ will find it, and use it. You may end up changing the colors, etc. ³ ³ on other users' menus. This only applies if you are currently running ³ ³ a registered Mountain Menus on a network. ³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ This file, BUILDDOC.TXT, should be printed and read BEFORE you do anything else. If the Builder is on your screen, and you're reading this because you can't figure out how to exit the program, SHAME ON YOU!! The remaining two files, BUILD.EXE and BCONFIG.OVL, are the program itself. ALWAYS keep these two files together in the same directory. Although you can put these two files in any directory you like, the obvious choice is to copy them to the same directory that the menu program is in. On a Novell Network, this is usually F:\PUBLIC. If you own a registered copy of Mountain Menus, place the BUILD.EXE and BCONFIG.OVL files in the directory where the MMMENU.EXE file is installed. If you received a BUILD.EXE file with your Mountain Menus program, replace that BUILD.EXE with the one included in this package. The next time you call up the Builder from the 'system menu' in Mountain Menus, you will be running the new builder. If you registered Mountain Menus BEFORE Labor Day (September third (3rd)) 1990, Contact me via Compuserve Mail or U.S. Mail (or phone EVENINGS ONLY) for a complimentary KEY to this release. My way of saying 'thanks' to those who have registered the menu. If you have an unregistered copy of Mountain Menus, as above, place the two Builder files in the directory where MMMENU.EXE is installed. You can create a menu item which calls up the Builder with the current menu file. An example entry would have the following command; BUILD F:\USER\MARK\MARK.MNU Since the shareware Mountain Menus ignores the configuration settings, you lose the total effect of the 'What You See Is What You Get' interface that the registered users enjoy, but the Builder and menu get along very well using this method since neither one locks the menu file. If you are using Novell's menu, You cannot run the Builder from the menu program by creating a menu item which runs it with the current menu file. Since the menu file will be locked, the Builder will not be able to save your changes. In fact, if anyone on the network is using a menu file, It will be unavailable to the Builder. So, you must run the Builder from the DOS prompt. You must also make sure no one on the network is sitting at the menu screen because they'll have the menu file locked. To run the builder from the DOS prompt, you must include the full name of the menu file you wish to edit, on the command line. An example; BUILD MAIN.MNU. The extension, .MNU, must be provided. If you just provide a file name and extension, the Builder will search the current directory first for the menu file. If it is not in the current directory, the Builder will search each PATH directory for the file. If it's still not found, the Builder will assume that you wish to create a new file by that name in the current directory. If you know where the menu file is located, you can enter it's full DOS path name. Example; BUILD F:\USER\MARK\MAIN.MNU. If the menu file is a Novell menu file, you will need to let the Builder know by including the /n switch after the menu file name. Example; BUILD F:\USER\MARK\MAIN.MNU /N. Be sure to leave a space between the end of the menu file name, and the slash. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ALWAYS keep the BUILD.EXE and BCONFIG.OVL files TOGETHER in the same directory! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! The Main Screen Notice any similarities between this screen and the menu program screen? I hope so. That is the whole idea here. When you first call the Builder up, it will be showing you the main menu. The main menu is selected for editing. You can begin making changes to it right away. Use the arrow keys to highlight the item you wish to change, or click on the entry with a mouse. First letter selection is also supported. Once you have selected the item to be modified, press ALT-B to open the Builder menu or click on the Builder menu box in the upper left corner of the screen (where the system menu is located in Mountain Menus). The ape key also serves to activate the Builder menu. This will provide you with selections where you can edit the current items text, edit it's commands, or it's help screen. You can also delete the item, add a new item, or add a new submenu. We will be discussing each item on the Builder menu in detail later. To edit an item that's on a submenu, call up the 'Menu File Menus' menu. Kind of confusing isn't it? This menu contains a list of menus which have been defined in the current menu file. To open the window, press ALT-M, or click on it's box in the upper right corner of the screen with the mouse. Since Mountain Menus allows up to 30 submenus to be defined, and this window is only ten lines tall, this window is a scrollable menu window. This means that PGUP, PGDN, HOME, and END keys are active if you have more than ten submenus defined. The UP arrow and DOWN arrow keys can be simulated with the mouse by clicking on the top and bottom borders of the MENU window. Use the arrow keys to select a submenu, or click on it with the mouse. Then press the ESCape key or click the RIGHT button on the mouse. This will cause the submenu you selected to be displayed for editing. We will be discussing the 'Menu File Menus' menu in detail later. The third option you have on this screen is to move the submenu where you want it to be placed using the keyboard or the mouse. Remember that the main menu cannot be moved unless you are in Novell mode. Mountain Menus always centers the main menu, and will ignore any attempt to relocate it. To move a submenu with the keyboard, hold down the CTRL key and press HOME to move the menu to the left, END to move the menu to the right, PGUP to move the menu up, and PGDN to move the menu down. To move the submenu with the mouse simply click and release the left button on the top or bottom border of the sub menu, then drag the menu where you want it, then click and release the left button again. The 'Menu File Menus' Menu The menu is called up by pressing ALT-M or clicking on the 'Menu File Menus' box in the upper right corner of the screen. This menu has two main purposes. The first is to allow you to select the submenu you wish to edit, add to, or delete. The second purpose is to turn on or off any other submenus on the list that you wish to display while you are editing the selected submenu. The idea here is that if you have one submenu call up another submenu, you can have them both displayed so you can get an idea of what it will look like from the menu program. The YES and NO that display next to each submenu is telling you YES this menu will be displayed or NO it will not. To toggle a submenu from YES to NO and back, highlight it using the arrow keys and press ENTER, or click on the YES or NO with the mouse. Any or all submenus can be displayed, but only the highlighted submenu can be changed. When you are finished turning submenus on and off and highlighting the submenu you wish to edit, press ESCape or click the right mouse button. The screen will be prepared for you. There are some rules concerning this menu: 1) If the main menu is selected for editing (highlighted when you press ESCape or right click)(the main menu is always the firstname on the list), no other submenus can be displayed. Any which have 'YES' next to them will be ignored. This can be used as a quick way of turning all sub menus OFF. 2) If you highlight a submenu name using the arrow keys but fail to press ENTER to turn the submenu on, it will be turned on automatically when you press ESCape or click the right button. Clicking on the submenu name with the mouse will automatically turn the submenu on. 3) The easiest way to manipulate the menu if you have a large number of submenus is to go through the entire list turning each submenu ON or OFF first by pressing ENTER on each or clicking on the YES or NO with the mouse. THEN go back and highlight the submenu you wish to edit , then press ESCape or click the right button. The Builder Menu The builder menu is called up from the keyboard by pressing ALT-B. To call the menu up with a mouse, click on the builder menu box in the upper left corner of the screen. Pressing ape also works. Except for moving submenus around on the screen and choosing which submenus to view or edit, all of the functions of the Menu Builder program are on the builder menu. There are thirteen items on the builder menu. What follows is a description of each: Item number one: Save and Exit This, of course, is the last thing you do when you are finished editing your menu file. When you select this item, the builder begins to verify the integrity of the changes you have made. It looks at each menu item to make sure there is at least ONE command. Next it searches for any references to submenus which do not exist. Finally, it looks to see if there are any new submenus which do not have a menu item assigned to call them up. If any of the above three occurences are found, the builder will display a window to tell you the name of the offending item. It will then return to the main screen. The builder will refuse to exit if any of the above conditions exist. Item number two: Edit Another File Once you are in the Builder, use this menu option to select a different menu file to edit or to create a new menu file. You will be prompted to save the current menu if any changes were made. You will then be prompted to enter the name of the new menu file. Remember to type in the full file name(including the extension: .MNU). You may provide a full path name if the file is not in the current directory or anywhere in the PATH. If the builder cannot find the menu file you specify, it will assume that you wish to create a new menu file. Press ESCape to abort the operation without selecting a new file. Item number three: Create a Submenu Select this item if you wish to add a new submenu to your menu file. You will be prompted first for the title name of the submenu, then you will be prompted for the name of the first item on this new submenu. You may press ESCape at either prompt to abort this operation. Once you have entered the name of the first item, the command window for the new first item will appear. Enter the commands you want this item to execute, then press to save them. you will be returned to the main screen with your new submenu in the upper left corner. The new submenu will be selected and ready to move or edit. Remember that you must assign a command on some other submenu, or the main menu, to call this new menu up. Once you have created a new submenu it will appear in the list of submenus in the 'Menu File Menus' window. Item number four: Edit This Menu Title Name Selecting this option will allow you to change the title name of the selected submenu(submenu that you are editing). Since sub menus are referenced by title, if you rename a submenu, the Builder will find the menu item which calls this submenu up, and change the items command to reflect the new submenu name. You may press ESCape to abort this operation. Item number five: Delete this Submenu If you select this menu item, be warned! You will be given only one chance to back out and abort. Selecting 'YES' at the confirmation prompt will delete the selected submenu from the menu file along with every item on the submenu. Remember that somewhere there is a menu item which used to call the deleted submenu up. Now that the submenu is gone, you will also need to delete the item which calls it up. Item number six: Add a New Item To insert a new item on a submenu, first highlight the item which the NEW item will be placed next to. Then select 'Add a New Item' from the Builder Menu. you will be asked if you wish for the NEW item to go AFTER the selected item. If you say NO, the new item is placed BEFORE the selected menu item. You will be prompted to enter the item name. Press ESCape if you change your mind about adding an item. Finally, you are presented with the 'command edit window' so you can enter the command(s) for the new menu item. Press to save the commands you enter.If the SORT option is active, the new item will be placed in the proper position. Item number seven: Edit Hilited Item Selecting this option lets you edit the name of the highlighted menu item. It does not affect the item's commands, or the position of this item within the submenu, unless the Sort Menu Items option is selected in the configuration settings. If you do edit the item, the Builder will search the help file for a help screen for this item, and change the reference to reflect the new name since help screens are referenced by name. Item number eight: Delete Hilited Item This selection speaks for itself. Whichever item is highlighted will be deleted, commands and all. If a help screen has been configured, it will be removed from the help file. Remember, if the item you are deleting was used to call up a sub menu, a different item must be added or changed to call up the sub menu, or the sub menu must also be deleted. You will be given one chance to abort the delete operation. Item number nine: Edit Item's Commands This is a very important selection. Each AND EVERY menu item on ALL of the menus which you create MUST have at least one command. This is where you enter the command(s) associated with each menu item. Each item on your menus falls into one of two categories. The item will either call up a sub menu containing more items, or it will execute a series of batch commands which ultimately runs your applications. To have a menu item call up a sub menu, there is only one command necessary. The format for this command is: %Sub Menu Title The PERCENT sign must be in the left most column. There must be NO spaces between the percent sign and the first letter of the menu title. The menu title part of the command IS case sensitive. If you capitalize the first letter of each word in the title, you MUST do the same in the command entered here. The command must be on the first line of the command window, and there must be NO commands after the sub menu command. If a menu item is not used to call up a sub menu, then it must be used to execute batch commands. The command entry window is a scrollable window eighty columns wide. You may enter up to forty commands for each menu item. Any commands which are valid in a batch file are valid here. You may abort any changes you have made by pressing ESCape. To save any changes, press . Item number ten: Edit Item's Help Each menu item in the Mountain Menus menu system can have it's own custom help screen. This help screen is 78 characters wide and 23 lines long, and can contain any information you think is appropriate for that menu item. The help screen is optional. When you select Edit Item's Help, the Builder searches the help file for an existing screen. If one is found, it is displayed and can be edited. If a screen is not found, the window will be blank with a blinking cursor in the upper left corner. You may enter any text you wish, anywhere you wish on the screen. Press to save the help screen for use by the menu program. Press ESCape to abort any changes made to the help screen. Item number eleven: Edit Config Settings Mountain Menus stores a number of system settings in a configuration file. This file is read in each time the menu program runs. The Builder will read in the configuration file if it can find it, and use the settings that it finds there. In this way the Builder can reflect exactly what the menu program will look like. If you make any changes in the Edit Config Settings window, a new configuration file is written to disk. The Builder will reflect the changes so you can see there effect immediately. The menu colors are stored in the config file. There are eight configurable colors used by Mountain Menus. These are listed along the left side of the config settings window. When the Edit Config Settings window first comes up, BACKGROUND is highlighted. To change the background color of the menu screen background with the keyboard, press the number corresponding to the color you want from the selection in the upper left corner of the screen. To change the foreground color of the menu screen background with the keyboard, hold the SHIFT key down, then press the number corresponding to the color you want. With the mouse, just click on the foreground and background color you want. To toggle the foreground color between NORMAL and BOLD, Press 'N' or 'B', or click on the words NORMAL or BOLD with the mouse. To select a another color item to change, or any other configurable item in the window, use the UP or DOWN arrow keys or click on the item text with the mouse. The Menu Heading Lines will contain the text you wish to appear in the top two lines of the menu screen heading area. These items will be centered in the heading to the right of the time and date. You may embed an environment variable in the text for each line like this: Menu for %USER%. If USER is set equal to BOB in the environment, the menu program will show this as Menu for BOB. Only one environment variable per heading line is allowed. The Environment Variable Name Used To Rename AK.BAT File should almost ALWAYS be left blank. If your running Mountain Menus on a single user PC, this is not necessary at all. If your running Mountain Menus on a network, This should STILL not be necessary. BUT, if you are running on a network, AND there is a chance that two or more users will run the menu program from the same directory, then the batch file created by each user must have a unique name. On our network, I have USER here. Do NOT include any percent signs, just the variable name. The Mouse Speed selections allow you to change the sensitivity of the mouse (how far the cursor moves on the screen compared to how far the mouse is moved on the desktop). There are separate selections for Left/Right movement and Up/Down movement. The important thing to remember here is that the SMALLER the number you enter, the FASTER the mouse is. The valid range that can be entered is 1 to 100. The Blanker Time Out is the number of minutes of inactivity which will pass before the menu program blanks the screen. The default is 15 minutes. The valid range is 0(to disable blanking) to 60 minutes. The last five configurable items are toggles which can be either TRUE or FALSE. The first item, ENABLE EXIT TO DOS, should normally be TRUE. Some of the network administrators using the Menu program told me they didn't want there users to be able to exit the menu program to DOS. When you press the ESCape key from the main menu in the menu program, you are asked EXIT MENU? YES/NO. Setting this item to FALSE disables the ESCape key, and does not allow the user to exit the menu. RETURN TO SUB MENUS by default is FALSE. This means that when the menu returns after you exit your application, you are returned to the top of the main menu. If this item is set to TRUE, you will be returned to the menu item which ran your application no matter what sub menu it is on. This was requested by many people who had been using Novell's menu for too long, and got used to it. Many of the users I talked to said they would rather it simply brought them back to the main menu. Now the choice is yours. ALPHA-NUMERIC DATE defaults to FALSE. This means that the date in the heading area is displayed like this: 11/23/90. If it is set to TRUE, the date is displayed like this: Wednesday, Nov 23 1990. Once again, your choice. JUSTIFY MENU ITEMS defaults to FALSE. If set to TRUE, your menu items will be left justified within the sub menu window instead of centered within the window. SORT ALL MENU ITEMS defaults to FALSE. If set to TRUE, the menu items will be sorted instead of appearing in the order which they occur in the menu file. There is also an on line help screen which can be accessed by pressing the key or clicking on the HELP square with the mouse. When you press ESCape, or click the RIGHT mouse button to leave the Edit Config Settings window, if anything was changed, a new configuration file is written to disk. Also, the Builder will reflect any changes you've made. Item number twelve: Abort and Exit Use abort and exit if you wish to exit the Builder without saving any menu file changes. Remember, this does not apply to configuration file or help file changes which are always immediate and permanent. Item number thirteen: About Menu Builder A couple pieces of useful information appear in this window. First, the current version number, second, the serial number for your copy. You will need these if you contact me for support. The Novell Option Although Mountain Menus will load and use a menu file written for Novell's menu, there are a couple of differences in the way that they use the information they get from the file. In the menu file, a typical sub menu definition line looks like this: %Word Processor Menu,15,20,2 The first two numbers after the menu title are the X and Y coordinates for where the sub menu will appear on the screen. Mountain Menus would see the 15 as the distance down from the top, and the 20 as the number of columns in from the left where the UPPER LEFT CORNER of the sub menu would be. Novell treats these numbers differently. The 15 would be the number of rows down from the top, and the 20 as number of columns in from the left to the CENTER of the submenu. There is also special consideration given to the coordinates 0,0 in Novell's menu. Mountain Menus would put a menu with these coordinates in the very upper left corner of the screen (right below the heading lines). Novell's menu would CENTER this sub menu on the screen. Although neither menu program will let you place a submenu in the heading area, Novell's menu further limits menu placement by excluding the row just below the heading, the very bottom row of the screen, the leftmost column, and the rightmost column. The third number on the submenu definition line is a color palette number. Novell's menu uses this number to assign a color scheme to be used by the submenu. Mountain Menus simply ignores it (this will change in the next release of Mountain Menus). Finally, there is a difference in the way the two programs display their menus on the screen. Novell's menu adds two rows to the height of a submenu, and adds two columns to it's width. The Builder accounts for all of the above differences when running in Novell mode. The submenus will look like Novell's submenus, they will be located where Novell's menu would place them on the screen. Two of the 'Builder Menu' items are different in Novell mode. The 'Edit Config Settings' item is disabled completely. The 'Edit Help Screen' item is changed to 'Submenu Palette Num.' to allow the color palette number to be changed. Because the Builder does not attempt to read Novell's color palette file (yet), changing the number will have no visual effect within the Builder. This causes some loss to the 'what you see is what you get' concept when running the Builder in Novell mode, but it's an acceptable loss, as President Bush would say. Besides, it is planned for the next release of the Builder, and it still beats using an editor. To put the Builder into Novell menu file mode, include the switch '/n' on the command line, after the menu file name. ie. BUILD MAIN.MNU /N. A word about Mountain Menus The Builder was designed to supplement Mountain Menus. It is actually part of the Mountain Menus system. Because it also works fine with Novell's menu files, the Builder is being released as a separate product. If you haven't tried Mountain Menus, now might be the perfect time. Here's a few reasons why: 1) You won't have to create new menu files. In fact you won't have to change the ones you have at all. Mountain Menus will read Novell's menu files as they are. 2) Network supervisors, have you ever tried to edit the menu file, in place, while someone was using it? That's right, you can't. Novell's menu holds the menu file open, and won't let you have it until everyone on the network gets out of it. This is not a problem with Mountain Menus. It closes the menu file when it's done reading it in. You can edit the menu file at any time, no matter how many people are running it at that time. People using the menu won't even know your there making changes to it. In fact, you can run the Builder from Mountain Menus with no file conflict problems. 3) Mountain Menus consumes NO RAM when your applications are running. Not one byte. It doesn't hook any interrupt vectors either, it's simply NOT THERE when your programs are running. In fact you can load and unload ANY memory resident software, like mouse drivers, ADI drivers, network drivers, or any of your favorite pop-up utilities from the menu with NO conflicts. The bottom line is: If you can run it from a batch file, you can run it from Mountain Menus. 4) The mouse is finally finding it's way into the working world. That's because it DOES increase productivity by making the computer easier to use. Most all of the new releases of major software now support it's use. Mountain Menus is an absolute pleasure to use with a mouse. Try it, you'll like it. 5) Mountain Menus is getting better and better. A new update of version 2.7 has been placed in the Novell forum on Compuserve. It adds support for CGA, the Monochrome screens are improved, and the number of commands per menu item has been doubled to 40. Now that the Builder is complete, I'm starting on version 2.8 of Mountain Menus. I've gotten several requests from my registered users including password protection of menu items (optionally, of course), color palettes so different sub menus can be different colors, the ability to disable items on the system menu individually, and @1 @2 variables which remember their contents, so they can be used on many lines of the batch file without having to prompt the user more than once for the same information, to name a few. Version 3.0 is already on the drawing board. Full low level network support, Connection information, volume information, user information, full printer support, and whatever else I can dream up between now and then. 6) It's inexpensive right now. Get it while it is. LICENSING FOR THE MENU BUILDER VER. 2.7 Effective 09/03/90 You may obtain a license for the use of the Menu Builder by writing to me. The license is for perpetual, non-exclusive use of the version, in this case, version 2.7. Purchase orders and invoicing are acceptable. A license agreement form is enclosed. This is the ONLY version of the Menu Builder which will be released as a separate product. Starting with the next release of Mountain Menus, this new Builder will become an integral part of that package, and will only be available as a part of that package. This means that if you intend to use the Builder with Novell's menu program, you must register this package in order to receive updates and major revisions to the Builder without having to purchase the Mountain Menus package. Special rates for the purchase of Mountain Menus WITH this new Builder are detailed in the LATEST upload of the Mountain Menus System Ver. 2.7.5 (Sept. 3, 1990). The fee for a license depends on the exact number of copies of the program that your company will use. The price for one STAND ALONE P.C. drive installation is: $40.00. For networks, a PER SERVER license is available for: $150.00. This is based on four workstations using the Builder, with one copy of the Builder installed on the server drive. If you have more work stations than that, you make out like a bandit. However, if the program is installed on work station local drives, or any PC not connected to a network, a license must be purchased for EACH of these stations.(Still very reasonable). Our hope is that with this price/performance ratio, you can easily justify the registration of each installation you have, and stay within the legal confines of this agreement. Key Software is including version 1.0 of the Menu Builder program with each registered Mountain Menus Version 2.7. The Builder which is included with the Menu program is a very scaled down version of this one. If you get a chance to try the Mountain Menus system, and decide that you like it, it would be to your advantage to register both. If you registered Mountain Menus BEFORE 09/03/90, you are entitled to a registration KEY to this new Menu Builder free of charge. Simply contact me by Compuserve Mail or telephone (EVENINGS ONLY, YOUR DIME). If, when you register the Builder, you will include a Compuserve ID or a phone number, I can provide you with the registration KEY to unlock the program so you won't have to wait for the mailman. Regardless of the quantity, only one set of materials will be sent to the site. You may then make as many copies of the Menu Builder as are licensed. Maintenance is free and technical support is available via Compuserve Mail, or telephone, evenings ONLY !!, at no charge. (except the phone call) AGREEMENT NON-EXCLUSIVE END USER SOFTWARE LICENSE This Agreement is entered into this _____ day of _______, 19___, by and between Any Key Software, P.O. Box 10443, Corpus Christi, TEXAS 78460-0443 hereinafter referred to as Vendor, and ________________________________________, located at ____________________________________________________________ hereinafter referred to as Company, agree as follows: 1.0 LICENSE TO USE VENDOR'S PROGRAM 1.1 Vendor, for the consideration named, hereby grants to Company and its corporate affiliates, a non-exclusive license to use the proprietary computer program called Menu Builder Ver. 2.7 ("Software"). 1.2 Company shall pay Vendor a one-time fee of ________________________ Dollars ($___________) for the license to use this Software. 1.3 Vendor grants to Company the right to copy the Software onto diskettes, hard disks, or in whatever manner may be deemed necessary to distribute and use the Software within the Company's business environment, including use on desktop computers for up to ______________ copies for the internal business purposes of the Company. Number of copies installed on file servers:________Workstations:________. 1.4 This right to copy and reproduce extends to any material and documentation supplied by Vendor and related to the Software, except for this license agreement. 2.0 TITLE TO SOFTWARE 2.1 Title to the software and all related material is with Vendor. 2.2 Neither the software nor this Contract may be assigned, sub-licensed or otherwise transferred by Company without the prior written consent of the Vendor. 2.3 Company agrees to use its best efforts to prevent any and all unauthorized persons from acquiring the Software, and will exercise the same care and diligence to protect the Vendor's proprietary property as it does to protect its own. 3.0 TERMS OF AGREEMENT 3.1 The term of this Agreement shall begin on the date at the top of this page and shall continue in perpetuity unless replaced by a new Agreement. 3.2 This Agreement is FINAL. This means that there will be NO refunds of money paid for registered use, once the registered version, is mailed, or the serial key given either verbally or by mail. 4.0 LIMITATIONS OF LIABILITY 4.1 Vendor makes no warranties with respect to the licensed program. The obligations of Vendor shall be: 4.1.1 To make a reasonable effort to fix any operations/execution problems that are found by the Company which prevent the program from performing the functions described in Vendor-supplied documentation. 4.1.2 To make available to the Company, as a replacement to the program initially supplied under this Agreement, any maintenance upgrades which solve operational problems with the software published by or on behalf of Vendor at no charge to Company. 4.1.3 The Vendor warrents that it is the legal owner of the software described herein, and that it has the full right, title and interest in said software; and that the software has been developed by Vendor or that the Vendor currently has any and all necessary authority to enter into this license agreement. The Vendor shall defend, indemnify, and hold harmless the Company, it's officers, agents, employees, assigns and successors in interest from and against any and all liability or claims and costs including attorney's fees arising from third party claims regarding ownership of the software. 4.2 Company makes no warranties with respect to the distribution of the software other than those covered elsewhere in this Agreement. 4.3 The foregoing warranties are in lieu of all other warranties expressed or implied, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose. Company further agrees that Vendor shall not be liable for any lost profits, or for any claim or demand against Company by any other party, except as provided herein. In no event shall Vendor be liable for consequential damages, even if Vendor has been advised of the possibility of such damages. Vendor agrees that the Company shall not be liable for any lost profits for the unauthorized use or distribution of the program so long as the other terms of this Agreement are complied with. 5.0 LAWS GOVERNING 5.1 Regardless of the place of contracting, place of performance, or otherwise, this Contract, and all amendments, modifications, alterations, or supplements thereto, shall be governed by the law of the State of Texas, as to the nature, validity, and interpretation thereof. IN WITNESS WHEREOF the parties hereto have caused this Agreement to be duly executed on their behalf as of the day and year first written in the preamble of this Agreement in two counterparts, each one of which bearing original signatures shall for all purposes be deemed an original. Accepted by: Name: Mark M. McCurry Name: _________________________________ SS No. 113-38-4941 Company: Key Software Company: ______________________________ Title: President and CEO Title: ________________________________ Date: _________________________ Date: _________________________________ Signature: Signature: _______________________________ __________________________________ Please send TWO (2) copies of this signed and dated agreement. I will sign both copies, and return one (1) to you.