Qascade - A Review By Timothy Swenson Qascade (pronounced 'Cascade') is the latest freeware utility from Jonathan Hudson. Qascade is a user-defined menu system, not unlike the "Start" button in Windows95. Qascade gets its name because a menu can have submenus, which can have submenus, and so on, looking as if the menus cascade from each other. The only requirements for Qascade are the Pointer Environment and Environment Variable (env_bin) support. Qascade allows the user to totally define the menu structure. A menu item consists of either a selectable item or a submenu. Each submenu also consists of selectable items or submenus. This can continue until you either run out of memory or screen. Selectable items are selections that execute programs, Things, Mbasic or SBasic programs. When Qascade is executed it appears as a button. When you select the button, the main menu pops up. From there you can select a menu item, or select a submenu. When you select a submenu, it pops up, a little lower and to the right of the main menu. This continues on until you find the selection you want. The purpose of Qascade is to provide a single menu system that can replace one or more other menu systems. It can be used as a primary user interface for the QL. One could run all of their QL programs straight from the Qascade menu system. The flexibility of Qascade comes from a configuration (_rc) file. This files defines what the menu items are and what programs they will execute. This file is read when Qascade is executed. You can also force Qascade to reload the file by hitting ESC when you have the mouse cursor over the Qascade button. This way if you change the _rc file you don't need to re-execute Qascade. You can name the file what ever you want, meaning you could have more than one file. Qascade knows what the file name is through an environment variable. You set the variable with a command like: setenv "QASCADE_RC=flp1_qascade_rc" Capitalization on QASCADE_RC is important and needed. You can either type this command in each time you execute Qascade, or you can put it in a BOOT file. The structure of the RC file is defined as: keymenu_textactionparamaters Key is one of the following: EXEC - Start an executable program ETHG - Start an executable Thing MBAS - Start a MultiBASIC session SBAS - Start an SBASIC session TITLE - Define a new menu title MENU - Start a sub-menu section MEND - End a sub-menu section SEP - Draw a separator line Menu_text is your description of the menu item. Action is the program to run (like QED, Xchange, etc.). Paramaters is the command line options that you would normally put after a command (like EXEC ZIP;"-x"). Any line that starts with a number (#) sign is considered a comment. A very simple menu configuration file would be this: #Very Simple Menu _rc File EXEC Xchange flp1_xchange SEP TITLE Games MENU Games EXEC Pente pente EXEC MineField Minefield MEND Remember that there are TAB characters between the words. You must use a text editor that will put in the TAB character and not just a number of spaces. Metacomco's ED does not work. QED will support TABs when read in, but when typing, TABs are converted to spaces. I have not tried Quill, or MicroEmacs, or Elvis (a vi clone), or others. The use of TABs might be the weakest part of Qascade, considering that TABs are non-printing QL characters. I would have used something like a colon (standard for Unix systems). Noticed that for Xchange I explicitly defined what device to find Xchange on. For the other programs where I did not explicitly define the device, Qascade with use PROG_USE and DATA_USE to find files. Qascade has been tested on QDOS and SMS systems. Additional testing is needed to make sure that Qascade runs on all QDOS-based platforms. Jonathan is very quick to fix any problems that come along. The basic summary of Qascade is that it works. It is not overly complex. It's simplicity makes it very powerful. I'm not one for using operating systems front ends, but I like Qascade. I have dome something similar with SuperBASIC and QMENU extensions, but I would have to alter the code every time I wanted to add another program. With Qascade, you don't have to touch any code, just edit a file. I think once QLers try Qascade, it will become very popular.