1. You don't need a mouse to use menus

Do yourself a favor. Find someone who knows how to use Microsoft Windows (it can't be THAT hard to find a Windows user, even for Atarians) and ask that person to run it for a while without using the mouse. (A tip: If the Windows user says something on the order of "Huh? Of course you need a mouse," find another Windows user, and pray for the day that the Gatesian Rays that come out of PCs will be better shielded.) In just two or three minutes, you should be able to see how easily anyone can navigate through Windows just by using keyboard equivalents.

Guess what? Your favorite Atari operating environment does the same thing. I am NOT referring to the little dialog-box enhancements that show up under certain characters on the screen; Geneva does that, too, but that's not what I am talking about. I'm telling you that Geneva turns any properly written GEM menu bar into a menu that works solely off the keyboard.

But it doesn't do it by default. Unlike Windows, which is always ready to trip up your two-fingered typing style if you accidentally hit a menu hotkey, Geneva leaves it all up to you. If you do nothing to change things, you get a mouse menu; if you press a single key combination, you get a hotkey menu.

That key combination is Alt-Spacebar. If you've tried it, you know that as soon as you press Alt-Spacebar the Desk menu drops down. You probably thought that was a Neat Thing -- and you may have thought that was all it did.

No way. That Desk menu is just the start of something grand. Do it again, but this time look closely at all the other menu items. Each one will have an underline, usually below the first or second letter of the menu item. You can cause any of those menu items to drop their menus down by holding down the Alt key and pressing the underlined key. If you just want to browse through all the available menus, use the arrow keys; each time you press the right arrow key once, for example, the next menu will drop down.

We're not through. Once a menu has dropped down, you'll see that its own menu items also have underlines. They work the same way. You just hold down the Alt key and press the letter (or number) that is underlined in the menu.

It should be obvious that this has a couple of advantages. Anyone who is distracted by having to reach for the mouse while writing on a word processor, for example, should find Geneva's hotkey mode a joy to use -- especially if the application itself does not have keyboard equivalents for all its menu items. But a hidden advantage only shows up for those who use a macro utility (a program that performs keypresses and mouse clicks). A utility such as this cannot handle mouse movements as well as it deals with keypresses, for a number of reasons. (Mouse movements in a macro recording usually won't play back properly if you are not running the same resolution, for example.) Since Geneva is able to substitute keyboard hotkeys for mouse actions, you'll be able to create all sorts of powerful macros that duplicate anything you can do to a set of menus with the mouse. (I'll have more to say on macros later.)

2. You have a batch-file language right at your fingertips.

It's been said that there are only two kinds of computer users -- those who know about and use batch files, and those who haven't got a clue. Batch files are lines of commands that are executed, one after the other, and they're widely used in the MS-DOS world. (But even MS-DOS PC owners often have no idea what a batch file does or how to use one, as I am often reminded by the questions readers send in to be answered in my newspaper columns.)

So why am I mentioning this in an article about Geneva? Look again, friend; Geneva uses a batch file just like MS-DOS does every time it starts up. It's called GEM.CNF. You may have thought of GEM.CNF as some sort of scene-setter for Geneva, a list of little things it should know when it starts up, and in a way you'd be right. GEM.CNF does supply vital information to Geneva, such as the location of desk accessories, the filename extensions of executable programs and the name of the desktop shell, to list only three items.

But GEM.CNF's power goes far beyond that, because it's not merely a list; it's a batch file that Geneva executes, line by line, whenever it comes to a "run" command. (The "run" command actually comes in two flavors, "run" and "runsleep," but both do the same thing -- run a program.) You can use the "run" command in a more-or-less standard way, telling Geneva to execute Program A first, then Program B, then Program C. If Programs A, B and C are multitasking applications, they will all be running at the same time when Geneva is finished booting up.

Big deal. You could do the same thing under later TOS versions by sticking those programs into the AUTO folder, right?

But suppose each of those programs was a single-tasking application (with flags in Geneva's Task Manager set to single-tasking)? What happens then? Geneva allows only one single-tasking application to be active at any time (which is, of course, the definition of single-tasking, after all), so something amazing takes place: Geneva runs Program A, then halts execution of the rest of the GEM.CNF commands. As long as Program A, a single-tasking application, is running, Geneva will not execute any other programs listed in "run" commands in GEM.CNF.

This means that you can work with Program A for as long as you want. Then, when you finally exit Program A, Geneva immediately runs Program B. Geneva then suspends execution of GEM.CNF's "run" commands again, waiting for you to finish with Program B. When you have finally exited from Program B, it launches Program C.

Anyone who has written complicated batch files for MS-DOS will know right away that Geneva's simple batch facility lacks a couple of important features. One that would add greatly to Geneva's power is a "goto" function, which would be paired with a labeling method. Lines with "run" commands would be prefaced with labels, and a "goto" at some point in GEM.CNF would force Geneva to jump directly to a "run" command that is located somewhere else in the file. (This facility would require some sort of if-then-else decision making ability, also.)

But you can achieve the same effect by stacking "run" commands in GEM.CNF. All you need to do is list the single-tasking programs in separate "run" lines, in the order you want them executed, listing the same program more than once if necessary. In other words, if you always want your Atari to boot up with Aladdin (the software that handles calls to GEnie), and then always want it to run Flash so you can call a BBS, and then always want it to rerun Aladdin so you can send off your replies, just list those programs in A, B, C order in "run" commands in GEM.CNF.

Keep in mind that this method is not limited to a series of single-tasking programs. Multitasking programs that are inserted in "run" statements will be launched all at once, and then will be put to sleep when Geneva encounters a single-tasking program in a "run" statement. You'll find that this works well except for the danger of fragmenting memory; you're usually better off if you run the single-tasking programs first.

3. You don't need to keep desk accessories active.

Some of the best and worst features of the Atari ST, TT and Falcon computers center on desk accessories. They contribute an immense power to the Atari because they are always available whenever you are running a GEM-based application, or when you are using the desktop. They are also multitasking, able to do something in the background while your main program is doing something else. (Few desk accessories take much advantage of this feature, however.)