Blog‎ > ‎

Secrets of NeoDesk 4 - by Al Fasoldt

posted Jul 16, 2019, 3:53 AM by Joshua Kaijankoski   [ updated Jul 16, 2019, 4:29 AM ]

What Gribnif's NeoDesk 4 desktop can do for you

Published in two sections:

A Guide to NeoDesk 4
Tips and Tricks of NeoDesk 4 

Section One:
A Guide to NeoDesk 4

Covering NeoDesk 4 up to release 002 
by Al Fasoldt

Technology Writer, 
Syracuse Newspapers and Newhouse News Service

Systems Editor,
Herald-Journal, the Herald American and the Post-Standard

Syracuse Newspapers Telesystem online service

Syracuse, New York 

Copyright (C) 1995 by Al Fasoldt. All rights reserved. 


    1. 1.1 Power, grace and style on an Atari
    2. 1.2 GUI things and why they are important
    3. 1.3 What NeoDesk 4 offers that the standard desktop doesn't
    4. 1.4 Up with upgrades
    5. 1.5 So why not just read the NeoDesk user manual, pal? 
    6. 1.6 Um, what user manual? I think the dog ate mine.
    1. 2.1 Memory is made of this
    1. 3.1 INFinite wisdom 
    1. 5.1 Getting rid of FOOBAR3.PRG and THSBGFIL.DOC 
    2. 5.2 Try it - you'll like it
    3. 5.3 Groups that care for MIAs
    1. 6.1 You use parameters every day
    2. 6.2 Give me an N! Give me a P! 
    1. 8.1 Geneva adds the muscle
  10. 10 PART 10: FONT OF PLENTY 
    1. 10.1 What GDOS is and why it's not built into the computer 
    2. 10.2 It's all a matter of proportions 
    3. 10.3 GUI or not, sometimes text is a better choice after all
    4. 10.4 Note this, please
  11. 11 PART 11: SCREEN GEMS 
    1. 11.1 If icon, you can, too
    2. 11.2 We do Windows
  13. 13 PART 13: PICTURE THIS 
    1. 13.1 Placing a picture of the desktop on the desktop 
  14. 14 PART 14: ICON DO IT 
    1. 14.1 Why not just hide those icons away where they belong? 
    2. 14.2 You can't really click on a DA and get it to run, can you?
    3. 14.3 Pick a name 
    1. 15.1 How NeoDesk does it
    2. 15.2 Make me a macro. (ZAP! You're a macro.)
    3. 15.3 Macros that do more than run programs 
    4. 15.4 Special macros, or how to make them call themselves 
  17. 17 PART 17: TRASHY STUFF 
    1. 19.1 Where's my trash can?
    2. 19.2 Just a couple of choices
    3. 19.3 It's up to you


Power, grace and style on an Atari

Until the introduction of Gribnif Software's NeoDesk 4, users of the Atari ST, TT and Falcon were left on the sidelines of the revolution in multitasking desktops for personal computers. NeoDesk 3, the previous version of Gribnif's alternative desktop, already supported multitasking, but only in the most basic way; as long as the computer was running Geneva, Gribnif's multitasking replacement for part of the Atari operating system, NeoDesk 3 was able to launch a new application while a currently running program remained active. But NeoDesk 3's own operations -- copying, deleting and formatting, for example -- did not multitask. And NeoDesk 3 did not have two other features that have made the best desktops on PCs so attractive -- a modern 3D look and feel, and a way of organizing and managing programs by groups.

NeoDesk 4 changes everything, and corrects an imbalance between the premiere desktop environment for the Atari and Microsoft's Windows. But in creating NeoDesk 4, Gribnif did not imitate Windows or fashion an Atari version of the Macintosh interface. NeoDesk 4 is more flexible and more intuitive than either of its popular counterparts. It is even able to perform some functions that Windows 3.1 and the Mac cannot ordinarily do.

And, almost as a tribute to the lean and efficient way Ataris have always operated, NeoDesk 4 occupies only as much memory as you want to yield over to the desktop. You can even run NeoDesk 4 comfortably on a 1-megabyte ST, although it will run more quickly and smoothly on systems with more memory. 

GUI things and why they are important

A graphical user interface is nothing new. We like to point out with considerable pride that the ST arrived on our desks with a built-in graphical user interface long before most users of IBM-compatible personal computers had even heard of icons and windows. But the ST's GUI -- yes, it's pronounced "gooey" and not "Gee You Eye" -- followed the Mac's by a year. The ST's graphical environment was designed by Digital Research as almost a sideline in its efforts to create a GUI for PCs. This PC system, the Graphics Environment Manager, was stripped of much of its power and many of its features before it came to market, after a legal dispute between Digital Research and Microsoft, which was then developing its own graphical system called Windows. Microsoft complained that GEM was too much like Windows, and so Digital Research changed GEM. But the new owners of Atari Computer, casting about for an icon-and-windows interface for the exciting new 520ST, managed to convince Digital Research to leave the Atari version of GEM unsullied, and so the ST came to life with a GUI of its own, vaguely similar to the PC version of GEM. (That version disappeared from the marketplace in an avalanche of Windows.)

A graphical user interface does not have to use icons and windows, but that is how most of them have developed. It is easier to describe such a system as an "object-oriented" interface, because it allows the user to manipulate objects that perform actions -- actions that are, in most cases, analogous to what happens in "real life." Instead of typing commands onto the screen, the user instructs the computer to do any task by selecting an icon and doing something with it -- double-clicking on it or dragging it to another icon, for example. Rather than typing commands such as "XCOPY C:\BIN\FOO *.* /S A:" onto a blank screen, the user of an object-oriented interface merely deals with things -- objects of one kind or another, all represented by icons -- on the computer screen.

The way these icons were placed on the screens of the first experimental object-oriented interfaces in the late 1970s and early 1980s made the screens look a little like the desks in a typical office. They had icons for filing cabinets (disk drives in the computer system), for folders (directories on a disk), for a waste basket (the bit bucket, or the act of erasing a file), for a pile of notes, and for many other things. These early interfaces also had windows that opened up to show more icons or to hold running programs.

The metaphor of the computer-as-desktop is just one way of representing the way we deal with a personal computer. It may not be the best way, but it stuck. With the introduction of the Apple Macintosh in 1984 and the ST and Commodore Amiga a year later, the notion of a desktop on the screen began to gain popularity among users who had always viewed the standard PC command-line interface as crude and inadequate. In the IBM-compatible area, Microsoft's Windows took a halting step in that direction in its first two versions and then went a lot further in Windows 3.1 and in the latest version, Windows 95. IBM, creator of a hybrid interface called OS/2 1.0, also adopted the same sort of desktop in OS/2 2.0, 2.1 and OS/2 Warp and, at the same time, the GeoWorks company invented its own Mac-like interface for PCs -- one that actually surpasses the Macintosh in a dozen ways.

By the mid-1990s, "object-oriented" computer desktop interfaces had become, at last, the standard way of working with a personal computer. 

What NeoDesk 4 offers that the standard desktop doesn't

Until recently, the ST's desktop interface, although easy to use, has been the weakest of all these systems. Although it uses icons and windows, the ST's GEM did not gain many of the full functions expected in an object-oriented interface until the release of version 2.05 of the ST's built-in operating system, known as TOS (for "The Operating System"). This was followed by version 2.06 when Atari added support for 1.44-megabyte floppy drives. A similar TOS-based GEM, which appeared as TOS 3.01 and was incremented to version 3.06, is built into the TT, and a newer TOS, version 4.xx, has been engineered into the latest Atari, the Falcon030.

But the GEM desktop built into the latest versions of TOS, while superior to the original version, lacks all the advanced features of the ranking monarch of alternative desktops, NeoDesk 4. Among the advantages of NeoDesk 4 are these features:
  • Support for the Geneva, the multitasking replacement for the Atari Application Environment Services (AES). NeoDesk 4 was created as the perfect shell (desktop environment) for Geneva.
  • Program and data-file groups. These groups let the user organize aliases (virtual copies that take up little space) of any kind of object, making both program launching and data-file organization exceptionally easy.
  • NeoDesk Program Information files (NPIs). These provide ultimate control over how every program or data file is handled by allowing the user to customize the action of specific programs for particular functions.
  • Background file operations. NeoDesk 4 is able to copy, move and delete files and folders completely in the background, while other desktop tasks are going on. When NeoDesk 4 is run as the desktop under Geneva, it can even perform these operations while any other multitasking applications are running.
  • Background formatting of floppy disks. This does not require Geneva.
  • Desktop windows that contain their own GEM menu bars. This vastly simplifies desktop operations and extends the intuitive nature of GEM is a way that puts Microsoft Windows and the Macintosh desktop to shame.)
  • Display options that include the use of different fonts for separate parts of windows and the ability to employ scalable vector fonts in place of fixed-size bitmapped fonts.
  • Choices of text-only and icon-based display modes for file-and-folder and group windows. Large or small text can be used, in any suitable font, and display modes (text or iconic) can be mixed among different windows.
  • Operation as a desk accessory. NeoDesk 4 can be loaded as a desk accessory instead of a program. It retains all its functions as a DA, and can be closed into the Desk menu just as any other accessory can be.
  • Operation within a fully resizeable GEM window. NeoDesk 4 can be contained within its own window, an especially handy arrangement for systems with large-screen displays.
  • Flexible file-and-folder search operations that can use both simple wildcard specifications and powerful Unix-style Boolean operators.
  • Advanced control over how much memory NeoDesk 4 takes for its own operations. Free memory can be displayed in a windowed dialog box at all times if desired.
  • A choice of desktop background patterns. These can be simple wallpaper (repeating small patterns), tiled images or large black-and-white or color pictures that fill the entire desktop. All major Atari-specific graphics formats are supported, as is the universal format for Microsoft Windows desktop pictures.
  • Full compatibility with all display modes of every Atari made, including ST low resolution, both standard ST resolutions, all four TT resolutions, all resolutions of the Falcon030 and all extended resolutions provided by add-on graphics cards and big-screen devices and software. NeoDesk 4 supports all color-plane settings from monochrome to True Color (16.7 million colors, available on some graphics cards).
  • Animated icons that can be separately tailored to the three primary color modes of Atari computers -- monochrome, 4-color and 16-color screens. There is no limit, apart from available memory, on the number or variety of icons that can be installed in NeoDesk 4, nor is there a limit (apart from desktop real estate) on the number of icons that can be placed on the desktop.
  • A powerful icon editor. It can import icons in many different formats, including the icon formats used by Microsoft Windows.
  • Accessories that act like programs. Desk accessories that are written to communicate with NeoDesk (STeno, STalker, CardFile, EditPlus, MemFile and many others) can be placed on the desktop just as programs can. Dropping a text file to the STeno accessory icon, for example, will open the STeno accessory with the text file ready to read or edit. Dropping another text file onto the same icon while STeno's window is open will update the window with the new file.
  • Built-in keyboard shortcuts for many desktop operations, including hotkeys for launching programs, accessing drives and opening NeoDesk-compatible accessories.
  • A powerful macro facility. Macros can be as simple or as complicated as desired, and can include window resizing and movement.
  • A recoverable trash can.
  • A control panel that provides a screen saver, a corner clock and configurable blitter options, among others.
  • Full control over the GEM environment for all applications running under NeoDesk 4.
  • Limitless installation of "Installed Applications" (programs that automatically run when their data files are opened). Each application can have two different data-file types associated with it by setting up applications from a NeoDesk menu, but any number of others can be added to each application by merely editing NeoDesk's information file. 

Up with upgrades

NeoDesk, developed by Dan Wilga and sold by Gribnif Software, has undergone many revisions. The first modern version was introduced as NeoDesk 3, although the first multitasking version of NeoDesk was released as NeoDesk 3.04. NeoDesk 4 is based on NeoDesk 3, but is a major upgrade in every sense. Gribnif offers users of NeoDesk 3 a special upgrade price when they switch to NeoDesk 4. 

So why not just read the NeoDesk user manual, pal? 

NeoDesk 4 comes with an extensive, well written manual. This is intended only as a supplement to that manual, written from the perspective of an experienced user and NeoDesk beta tester. (A beta tester is someone who tries out software while it is being created). As with all good software, there is no single "correct" way of using NeoDesk 4; instead, each user is likely to find what works best in each unique situation. It is with that understanding that I present this personal perspective. 

Um, what user manual? I think the dog ate mine.

NeoDesk is one of the most prized packages in the world of Atari software. If you are a satisfied user of NeoDesk 4 but have not paid for it, you probably do not have a user manual. Gribnif has a simple solution: If you send the company money, it will send you a manual. Along with the manual will be the legitimate NeoDesk 4 software. What could be more simple and more satisfying in an ethical sense? (If you are an unsatisfied user of NeoDesk 4 but have not paid for the software, you are still morally obligated to purchase it. And you will probably discover that owning any piece of software changes your perspective on how much time you should spend learning how to use it.) 

Author's note:
Because of its length, this document is in two sections. "A Guide to NeoDesk 4," which you are reading now, was published in March of 1995. "Tips and Tricks of NeoDesk 4" will be available in the summer of 1995. For additional background, read "Secrets of Geneva" and "Secrets of NeoDesk 3," available in the ST Roundtable libraries of GEnie and from other services. Some of the material in "Secrets of Neodesk 3" is included in this document, but I have tried to keep "Secrets of NeoDesk 4" as fresh as possible.

This may be freely distributed in any form, but only if it remains intact. You do not have permission to edit this or use it commercially in any way.

If you have comments or questions, and especially if you find errors in this work, you can reach me at these addresses:

Al Fasoldt 
Syracuse Newspapers
Box 4915 Syracuse, NY 13221

GEnie: a.fasoldt 
America Online: AlFasoldt


This is Version 1.0, written in March 1995 at the computer center at Countless Pines, Baldwinsville, New York.


Why half a loaf may not be better than none 
NeoDesk 4 was born to mate with Geneva. Gribnif Software created Geneva, its multitasking environment, when NeoDesk was still at version 3. This version was quickly updated to support Geneva's multitasking -- allowing NeoDesk 3.04 to run multiple applications when Geneva was running -- but it was clear that NeoDesk 3.04 was an aging and inflexible companion for the lean and powerful Geneva. The need for a modern multitasking desktop was fulfilled in NeoDesk 4, which takes advantage of Geneva in dozens of ways.

To put it plainly, running NeoDesk 4 without Geneva is like eating the frosting without the cake. Although NeoDesk 4 is able to multitask its own desktop file-and-disk operations without Geneva, it cannot do them at all while another application is running unless Geneva is present. NeoDesk 4 can, for example, format a floppy disk while it copies files from one folder to another whether or not Geneva is running, but limiting multitasking to that kind of operation turns the NeoDesk desktop into little more than a multitasking file manager and single-tasking program launcher.

Geneva is much more than a multitasking environment, of course. Technically, it is a replacement for the Atari's Application Environment Services, which provides the "look and feel" of the computer's operating system, among other things. Geneva's enhancements include the ability to put any program or desk accessory to sleep (freeing up the display and the processor's resources), a new set of program flags to control how each application is run, the ability to tear off GEM menus so they can be floated on the desktop, flexible control over system fonts and type sizes, assignable hotkeys to bring any running application to the foreground (or to open any desk accessory), complete keyboard manipulation of all menus, an advanced file selector that offers copy and delete functions in addition to unparalleled search operations, a 3D look for all GEM dialog boxes, single-keypress actuation of dialog and alert choices and much more -- all in addition to its built-in multitasking.

This is not to say that NeoDesk 4 cannot be successfully employed without Geneva. On Ataris that do not have even the moderate amount of extra memory (much less than 200 kilobytes) that Geneva requires, or on Ataris that are dedicated to a single task (running a BBS, for example), a Geneva-less NeoDesk may make sense. And everyone who owns Geneva and NeoDesk and uses a boot manager (software that lets you choose which programs and accessories are run at bootup) probably will have one or two configurations in which Geneva is bypassed in order to play older games or run odd software that won't behave on a modern system.

But my message should be made as clearly as possible: If you own NeoDesk 4 and have not yet added Geneva to your Atari, you are missing out on the single most significant advance in Atari computing since the introduction of the ST itself. And you are also likely to be disappointed in many of the sections of this guide to NeoDesk 4, because it generally addresses NeoDesk 4 as the indispensable partner of Geneva. 


Get a load of this 
NeoDesk's main software module is a file named NEODESK.EXE. Ordinarily, the ST, TT and Falcon cannot run executable files ending in "EXE," but Gribnif apparently chose this non-standard filename extension (in the Atari world, at least) to make sure that another, much smaller, module named NEOLOAD.PRG would have to be run first. When NEOLOAD.PRG is run, it launches NEODESK.EXE.

Why did Gribnif adopt this unusual way of launching NeoDesk 4? The answer lies in two other functions of Neoload. In addition to serving as the launcher for the main NeoDesk software, Neoload monitors the status of the Atari's operating system in order to report on system memory registers whenever the OS crashes, and it holds off running NEODESK.EXE until all desk accessories have finished loading.

The system-monitor function of Neoload is not, by itself, unusual. Other system monitors are available, including one that is very similar to the monitoring function of Neoload. The information that it lists on the screen after a crash is primarily useful to a software developer, although Neoload has a secondary function of providing a graceful recovery from minor system crashes. (However, you should always save your work and reboot after any system crash, even one that has been intercepted by NeoDesk 4's system monitor, because memory locations may have been corrupted, and there is no way to restore them otherwise.)

It is the third function that matters most. This function operates only when NEOLOAD.PRG is run from the AUTO folder when the computer boots up, and can be the source of confusion over how NeoDesk 4 works. If you are auto-running NeoDesk 4 without placing a copy of Neoload in the AUTO folder -- in other words, if you merely install NEOLOAD.PRG file in the NEODESK4 folder as the GEM auto-boot application in TOS 1.04 or above -- Neoload may launch NEODESK.EXE too soon, before the computer's desk accessories finish loading. If this happens, NeoDesk 4 or some of the desk accessories can lock up or behave erratically.

To prevent this, you must place a separate copy of NEOLOAD.PRG in the AUTO folder of your boot disk. (It can be placed last or near the end of the list of files in the AUTO folder; the placement doesn't matter much. Just keep in mind that the computer's operating system runs programs in the AUTO folder not in the order they are normally listed in a file-list display, but in the physical order they are listed on the disk. NeoDesk can show you the actual order of files and folders if you choose the "No Sort" option in its file-display menu, and it will let your change the order in that same menu.) Special code in Neoload delays the running of NEODESK.EXE until after all desk accessories have been initialized. The process goes like this: First, the copy of NEOLOAD.PRG in the AUTO folder installs itself in memory; then when the operating system tries to auto-run the other copy of NEOLOAD.PRG (the one in the NEODESK folder), the Neoload that is in memory intercepts the second running of Neoload, and instead runs NEODESK.EXE itself after the accessories have been installed

NEOLOAD.PRG is actually run only once in each session (the time between boot-up and shutdown), no matter how many times you may quit NeoDesk and load it again. You can easily see this for yourself. Try running NeoDesk the regular way (from the AUTO folder using Neoload as described above, or by running NEOLOAD.PRG from the Atari desktop) and then copy the NEODESK.EXE file to a second file named NEODESK.PRG. If you quit NeoDesk, you can double-click on NEODESK.PRG from the GEM desktop and re-run NeoDesk. The copy of NEOLOAD that is still in memory provides a hidden launcher for the program, even when the name has been changed. 

Memory is made of this

NeoDesk 4 can run on small-memory STs if its memory use is constrained through a dialog that allows the user to specify how much RAM NeoDesk should take up. On systems that do not employ a multitasking environment, even more memory can be retained for running programs if NeoDesk is configured to unload its own desktop code each time a program is executed. (This is done from the "File preferences" menu.) On such a system with a fast hard drive, NeoDesk 4 will reload fairly quickly after each program ends, but users with older, slower hard drives and those who have only one or two floppy drives are likely to find this process distressingly slow. In such situations it may be better to leave NeoDesk set to remain in memory except when running large programs. NeoDesk 4's "Install Application" dialog and its NeoDesk Program Information (NPI) files both provide a way of specifying how NeoDesk 4 should behave for each application, and they should be suitably adjusted for programs that need all available memory.

However, configuring NeoDesk 4 to unload its code when executing programs is pointless in a multitasking environment. NeoDesk would unload its code and run the program and then immediately load its code again. (After all, "multitasking" means NeoDesk itself and other applications are running at the same time.) Users of Geneva can maximize available memory by cutting down on the number of desk accessories that are loaded on bootup. Accessories run in this normal fashion always take up memory, whether they are being accessed or not. Because Geneva (and NeoDesk, when running under Geneva) are able to treat desk accessories as freely loadable programs, you can free up considerable RAM by placing the icons for your desk accessories on the desktop or in a group window and running them only when they are needed. 


Let the desktop do the work for you
When Apple introduced the Macintosh 11 years ago, personal computing suddenly became easier. Much of this was a result of the Mac's windows and icons and the simple way that it could be made to copy and move files or even entire subdirectories -- or folders, in a lexicon that soon became popular on other platforms. But more than anything else, the Mac was easy to use because its operating system associated data files with applications. Generally, a Mac user never has to run a program directly; all that's necessary is to double-click on a data file, and the rest is handled by the Mac.

On the Mac, all applications -- computer jargon for programs of any kind -- work this way, and so there is no such thing as an "installed application." Apple works with software developers to assign data types and icons to all new software, so that applications install themselves, so to speak.

The ST, TT and Falcon work the same way, except that applications must be installed by the user. Here, in its basics, is how the process works:

Let's suppose that you are using LHARC.TTP as your standard software for extracting archived files that have the ".LZH" filename extension. One way to use this utility would be to double-click on its icon or filename from the desktop and then fill in the "parameters" box that appears when it runs. (As a "TOS-Takes-Parameters" program, it requires command-line instructions when it is invoked.) A typical set of parameters for LHARC.TTP might be "x FILENAME.LZH" to extract all the files from the archive named FILENAME.LZH.

But LHARC.TTP is specially written to accept just the filename itself as a parameter. You could, of course, run it from the desktop and type in the filename of the archive, but there's a much easier way -- by associating a filename extension when you install each program in the GEM desktop's "Options" menu. (You must save the desktop to make the change permanent, of course.) Then, all you need to do is to double-click on the archive's icon or filename; the archiving utility automatically runs and extracts the files.

Here's another example, which is perhaps just as common. Suppose your favorite word processor is Atari Works. This application generally saves its texts with an ".STW" filename extension. If you want to edit or read an Atari Works document, one way to do it is to open up the folder where Atari Works is located, double-click on the Atari Works icon or filename, and then select the document you want to edit or read from the file selector that appears.

But that's just plain dumb. (I'm not referring to your intelligence, of course, but to the mindless way the computer would be operating in that situation.) The sensible way is to install Atari Works in NeoDesk 4 with ".STW" as its associated filename extension. Then any time you click on a file that has ".STW" as its extension, Atari Works will automatically run and load the text.

(Those of you who use this feature of GEM on a regular basis will have to bear with me for a while, since I'm convinced that only a small fraction of Atari users know about installed applications. I hope I'm wrong!)

This method of associating data files with applications does not work with all programs, but it operates with most of the ones that are written properly. It's important to note that some applications may require specific filename extensions, but others, such as text editors, usually have no restrictions.

To link applications with their data types -- filename extensions, in other words -- within NeoDesk 4, click once on the icon or filename of the application and drop down the "Options" menu. (You'll find an "Options" menu in each desktop window and in the main NeoDesk GEM menu bar.) Choose "Install Application" and type in the filename extension you want to associate with the program. You'll notice that the dialog also lets you set other parameters, and it also allows you to scroll through the full list of currently installed applications if you want to change any of their settings.

NeoDesk 4 lets you specify two data types (filename extensions) for each application. You can add more extensions by editing the NeoDesk information file -- a simple procedure, but one that could cause a disaster if you fail to heed the next two warnings:

  1. Work on a backup copy of the information file, not an original copy.
  2. Edit the file with a text editor or word processor that has word-wrap turned off and that can save its output in standard ASCII form. (An ASCII file is just text, with no word-processing codes.) STeno, EditPlus, Everest, SpiritEd, Edith, and the editors built into Flash, Flash II and Storm all meet this ASCII criterion. If you use a full word processor for this kind of editing, you're asking for trouble unless you make sure word-wrap is off and the text is saved as ASCII. If you're not sure if your word processor can do that, don't even try. (Buy a copy of STeno or EditPlus instead.)

The information file is usually named NEODESKn.INF, with the "n" representing the resolution. A typical information file for ST high resolution would be named NEODESKH.INF. It is easy to decipher. You will see a section that begins with a line that looks like this:

;Applications: type,flags,2 extensions,name,path

If you have not yet installed any applications, the entire section will be blank. Otherwise you will see each application listed in one line. Here is one for Calligrapher:


Calligrapher should not need more than two file extensions associated with it (".CAL" for Calligrapher documents and ".CAT" for Calligrapher templates, which cannot be saved until you rename them). But a program that can make good use of multiple file associations is STeno. What I am about to show you may be unfamiliar, so look it over carefully.

First, note the name of the application -- STENO2.PRG instead of STENO.PRG. On both my systems, I have many variations of STeno -- two STeno desk accessories and three STeno programs. The ones with "2" in their names are set up strictly as programmers' editors, with word wrap turned off and the default window set quite wide. I use these versions of STeno whenever I need to edit a data file. I work at the desktop extensively, and that means I am nearly always dealing with files and folders -- not applications. Why should I have to run a text editor manually when I want to edit a text or ASCII data file? It's much easier to double-click on the file. Entering lines like these in your NeoDesk 4 information file makes that possible:


Look at the extensions for STENO2.PRG. You'll see ".TXT," of course, but you'll also see ".SYS" and others that are usually not considered as texts. But in many cases, they ARE texts -- with ASSIGN.SYS being the most prominent example. Note also that I also list these extensions ending in "X," is in ".SYX" and ".DAX." This allows me to double-click on a data file that is, in effect, turned off (hidden from its application through the renaming process) and still edit it via STeno.

Note that under a multitasking environment, the same copy of a properly written application can be running in multiple instances at the same time. This makes multiple associations even more powerful. 

INFinite wisdom 

Within the NeoDesk information file itself, or (preferably) within NeoDesk's "Set Preferences" menu (under the "Options" drop-down menu), you can add to the list of executable file types or change the ones that are already listed. Normally, the only executable file types are those that end in these extensions: .APP, .PRG, .TOS, .TTP and .GTP, in addition to the special NeoDesk-compliant applications, which have the extensions .NPG and .NTP, and NeoDesk 4's program information files, which end in .NPI.

The extensions have these meanings:

.APP - Application
.PRG - Program

(Applications and programs are usually the same thing. They are standard GEM programs, although they do not need to have GEM windows. Some programmers stick to the rules, and use .APP only to refer to programs that can also run as desk accessories if you change their extension to .ACC.)

.TOS - "The Operating System" program, which does not make use of the GEM desktop built into the operating system, and does not ordinarily provide access to desk accessories.

.TTP - "TOS-Takes-Parameters" program, a TOS program that normally requires command-line input from the keyboard, from another program or from any other source. A common .TTP program is ARC.TTP, and a common parameter for ARC.TTP is an archiving command followed by the path and name of the archive. (Example: ARC.TTP X MYFILE.ARC, which tells ARC.TTP to extract the files in the archive named MYFILE.ARC.)

.GTP - "GEM-Takes-Parameters" application, an .APP or .PRG that behaves like a .TTP file in some ways.

.NPG - "NeoDesk Program," a specially written .APP or .PRG that communicates with NeoDesk. There are only a few .NPG applications.

.NTP - "NeoDesk-Takes-Parameters," an .NPG program that accepts command-line input.

.NPI - "NeoDesk Program Information" file, a set of instructions that NeoDesk passes to a program that is being run. These are described separately in this guide.

If you are using Geneva, you should add other extensions to this list. They are .PRX and .ACX, which represent executable files that are "turned off" so that they cannot be run at bootup. If you are really fastidious, add ".APX" also.

A small digression is in order to help explain this X-rated business. All modern Atari computers ordinarily use two disk locations to determine which executable files are run when the computer boots up. The first is the boot drive's AUTO folder and the second is the boot drive's root (main) directory. All .PRG and .APP files found in the AUTO folder are run at bootup, and the first six .ACC files found in the root directory are initialized.

You may know already that Geneva eliminates the vexing limitation on the number of .ACC files that are loaded at bootup. (There is no practical limit.) And you may know that Geneva is able to run these desk accessories even if they are renamed with an .ACX extension. Likewise, if its configuration is set accordingly, Geneva is able to run programs that have a .PRX or .APX extension. NeoDesk 4 can do the same thing.

But Geneva and NeoDesk will not do this at bootup time. This means you can hide files from the autorun routines by renaming them with an "X" as the last character of the filename extension even if Geneva and NeoDesk 4 have those files listed as executable. They will still be executable, but only after the regular part of the bootup has finished. (.PRX and .ACX files can be run by Geneva from "run" or "runacc" statements in its GEM.CNF file after the regular part of the bootup has finished, but they will be ignored in the AUTO folder or in the desk accessory path otherwise.)

By listing .PRX, .APX and .ACX files as executable under NeoDesk (and Geneva), you provide a way of running these programs at any point after bootup -- even if the .PRX files are in the auto folder. (Yes, you can often run an AUTO-folder program after bootup without a problem.)

NeoDesk has another category of executable files. These are batch files, which technically are executable only in the sense that they are scripts for a batch-file interpreter. CLIs (command-line interpreters) usually include the ability to run batch files, as do such shell programs as Gulam and TomShell. Two types of batch file can be installed in NeoDesk 4: .BAT (a standard batch file) and .BTP ("Batch-Takes-Parameters"), a NeoDesk-specific batch file run by the NeoDesk CLI desk accessory. Installing the extensions .BAT and .BTP in the NeoDesk information file tells NeoDesk to run the CLI or shell of your choice, feeding the batch file to the CLI or shell for immediate execution any time you click on a filename or icon with either of those extensions.

You must first list the path and name of the CLI or shell in the "Paths" submenu under the "Settings" menu. If you do that, NeoDesk 4 offers a keyboard shortcut to run your CLI or shell. This is Control-B. This shortcut will not work if you have not installed the CLI or shell in the "Paths" entry line. 


How GEM ought to be 
The first graphical user interfaces were welcome changes from the character-based command-line systems that were common until the 1990s. But as intuitive as a window is as a bordered space for file and program activity, a window in itself is just a fancy box. Working within that box makes sense up to a point -- that point being the difficulty of accessing menus at another place on the screen just to manipulate the contents of a window.

That's the way Atari's GEM works, and how the Mac's desktop works, too. Under a single-tasking operating system, this limitation is perhaps too minor to worry about, but it becomes quite a liability under a multitasking system such as the Geneva-NeoDesk 4 combination. Each desktop window in such a system is potentially active even if it is not in the foreground, but working in separate windows becomes an exercise in eye-and-hand coordination if the only menus available are in a shared GEM menu bar at the top of the screen.

NeoDesk 4 removes that limitation in its enhanced GEM windows. Each one is a full GEM window, complete with menu bar and menus, instead of a box where file operations take place. You will notice that some menus in NeoDesk 4's windows are duplicated in the main menu bar, but many are not. This frees up the main menu for options and functions that pertain to NeoDesk's general operation. 


Why didn't Microsoft do it this well? 
NeoDesk 4 differs radically from the TOS desktop by incorporating Groups. These are files and folders that can be displayed in special Group windows on the NeoDesk desktop.

What's this all about? What's wrong with file and folder icons? Why use Groups?

In one way, NeoDesk's Groups resemble Program Manager groups in Microsoft Windows. Windows 3.1 and 3.11 (the current consumer versions of Windows as of the first half of 1995) split file-copying operations from program-launching functions through two main applications -- File Manager and Program Manager. Despite the size of Microsoft's software engineering staff and the hundreds of millions of dollars the company spent developing Windows, Microsoft's dual-function treatment of files and programs in Windows is confusing and ineffectual. (A large software industry specializing in replacements for those two Windows applications has made a lot of PC software writers wealthy.)

But what makes the Windows Program Manager attractive to untutored PC users is its grouping function. If you drag a program out of a File Manager window into a Program Manager window, the program file itself stays in its original location while Windows creates an alias for that program -- a launcher icon -- within the Program Manager window. If you have two word processors, you could create a Program Manager group called "Word Processors" and place an icon for each one in that group. This way, no matter where those applications are on disk, you can launch either of them from one location.

That's what NeoDesk 4's Groups allow you to do, too. But NeoDesk's Groups are much more powerful. NeoDesk's Groups contain active aliases, not just program launchers, and, also unlike the groups in Windows, they can contain folders in addition to files. And NeoDesk 4 Groups can be nested hierarchically; Groups can be placed within other Groups at any time. 

Getting rid of FOOBAR3.PRG and THSBGFIL.DOC 

NeoDesk 4 Groups also surmount one of the oldest problems of every DOS and DOS-like computer disk operating system -- the limitation on the length of filenames. PCs and Ataris both labor under that restriction (under MS-DOS for PCs and TOS for Ataris), which limits the main part of a filename to eight characters and the extension -- the part of the name that follows a period -- to three characters. This limitation is removed in all Group windows. Whether the items in the Group window are displayed by icons or by text, the names can be normal words. They can contain capital and lower-case letters, spaces, punctuation marks and even special characters such as trademark or copyright symbols. Furthermore, whenever Groups are listed in regular NeoDesk 4 desktop file-and-folder windows, their names are also displayed in normal language, not as such filenames as MYWORDP.GRP (as they are in Microsoft Windows). 

Try it - you'll like it

NeoDesk 4 Groups are easy to create. Every desktop file window has a "New Group" option in its File menu. Groups can also be created automatically by NeoDesk when it performs a search. Groups must be given a name before they can be saved.

Because the notion of groups is new to Atarians (at least to those who have not used Microsoft Windows on a PC), I'll explain the uses of NeoDesk Groups in some detail. If you have not yet created and used NeoDesk Groups, you may discover a new dimension to everyday computing.

The primary function of a group in NeoDesk 4 is obvious: It puts programs, data files and folders where they can be easily located. Here's the most basic example: If you create a Group for all your graphics applications, all you need to do to run one of them is to open the Graphics group and double-click on the icon or name of the one you want to run. This Group can be made up of programs stored in different locations on your hard drive, and it can also contain folders for various kinds of graphics files (Spectrum 512 pictures, GIF photos and so on) no matter where they are located.

Here's another example, taken from my own setup. All my primary utility programs and configuration files have been placed in a Group called Quick Utils. By opening that Group window, I have easy access to all the utilities and data files. (The data files include the ASSIGN.SYS file that GDOS uses, the GEM.CNF file needed by Geneva and the NEOD1024.INF file used for my standard-display mode in NeoDesk 4, among many other files.) These files are located in scattered folders on various drives, but they are all accessible from one Group window.

The icons (or names, in a text display) in a Group window are active. That is, they do not simply launch a program. They are capable of all the drag-and-drop operations that can be performed by the files to which they refer. The only limitation in the functionality of Group members is that renaming, deleting, copying or moving them does not perform those operations on the original files. (This is intentional, of course; you would not want to endanger the original files in this way.) They are also linked immediately to their original files if you press the Control key and double-click on a Group member. This operation opens a new window on the desktop to the location of the original file or folder, making file functions very simple when you need to rename, delete, copy or move those items. 

Groups that care for MIAs

Yet Groups are even more powerful than these examples show. While it is clear that Group members represent files and folders in another location, it may not be obvious that they can represent items that are NOT locally stored. In other words, you could create Groups for every floppy disk in your collection. You could then open those Group windows and use them either as a way of checking for files without needing to access the floppies or as a way of providing quick access to the contents of any disk you put in the floppy drive. In my setup, I have created Groups for every CD-ROM disk in my collection. When I put a particular disk in the CD-ROM drive, I merely open the Group window corresponding to that CD-ROM and get instant access to the entire contents -- without opening any file-and-folder windows on the CD-ROM itself.

I also use Group windows to catalog my secondary backup disks. (Secondary backups, in my system, are disks holding archived files created with a standard archiver instead of a backup program. These are held offline as insurance against problems with the primary backups, which are created with a backup program.) If one of my backups fails, I have to do nothing more than open a set of Group windows to determine which backup disk (a Floptical) contains the file I need.

Another Group I use was automatically created by NeoDesk 4's search function. I have a lot of GDOS, Degas (Warp 9), Speedo and TrueType fonts in dozens of locations on my main drives. Rather than trying to move them all to a single set of folders on one drive, I had NeoDesk 4 search for files matching the specifications for these fonts. I saved the search results as a Fonts Group. Now any font is just a click away, after opening just a single window.

And another Group holds entries for all my articles about Atari computers. Most are stored in Calligrapher's own file format, but some are ASCII texts and others are saved in the Atari Works format. Yet they are all in the same Group window, and all have descriptive names (not WHAT_DA.CAL or GENSECR.STW and that kind of thing). Because these Group members are aliases for files that NeoDesk already associates with their applications, all I have to do is double-click on any Group entry and it will appear in a second or two inside the application that created it originally.

This is an important function of Groups that many users may not understand. Groups do not have to be made up of programs; they can be put together from any items stored on disk. A common use I make of a Group I call New Docs is the temporary listing of documentation for new programs. Rather than digging out the doc file in a folder half-lost somewhere on one of my drives, I merely drag the document icon to the Group window and access it from there. It is always instantly available that way.

You may want to consider creating a Master Group that holds all your other groups. If you place the icon for the Master Group on the desktop, you will always be able to open any Group window quickly. 


Pass parameters and collect $200
When Atari created TOS, its software engineers designated two very different ways programs could run. They could be mouse-and-window applications -- PRoGrams, which had to have names ending in ".PRG" -- or they could be text-based applications that did not use the mouse and its associated paraphernalia. These are called TOS applications, and they look for all the world like programs that run under the standard PC operating system, MS-DOS. (They are, in fact, quite similar to DOS programs in some ways.)

But Atari did something unknown in the MS-DOS world when it settled on TOS programs as the non-mouse (or non-GEM) applications that would run on the ST. It made two categories -- one for TOS programs that needed parameters and one for the ones that didn't. If this is all gobbledegook to you, stick with me; TOS programs can be very important, and the way they run can be applied in a more general way, too, now that Atari programmers have learned how to unleash the full power of both GEM and non-GEM software.

I remember how disappointed I was the first week I spent with my new 520ST nine years ago when I discovered that least friendly version of all Atari programs, the .TTP monster. Double-clicking on a .TOS program made it run, but double-clicking on a .TTP program made a box appear on the screen asking me to type something. If I'd wanted to type something at a command line, I would have stuck with my Atari 130XE and its wonderfully adaptable operating system, SpartaDOS. Here was a computer with a graphical user interface that suddenly reverted to the old type-in-your-favorite-command system -- that is, if you were able to remember the command you were supposed to type in. If you ran the early version of ARC in those days, you were supposed to type in "-X" or "-E" or just "X" or "E" (I'm glad I've forgotten which it was!) followed by the path and filename to extract a file, like this: -X A:\ARCFILES\THISFILE.ARC.

I hated .TTP programs. Under later versions of TOS, I found that I could drag the icon of a file to the icon of the .TTP program and get at least part of the command line filled in by TOS. But I had to do the rest. Even NeoDesk 3, the first modern version of Gribnif's desktop, wouldn't free me from this horrible backwater world of command lines and parameters; it still acted like TOS did, forcing me to fill out the rest of the command line. (And NeoDesk 4 still acts the same way, unless you do something about it. The problem is not with the desktop but with the rules of TOS; a .TTP file needs parameters. That's what .TTP means, after all -- TOS Takes Parameters -- and so if you double-click on a .TTP file or drop another file onto it, even NeoDesk 4 will poke a dialog box in your face and tell you to fill it out.) In yer face, indeed! This is NOT my idea of a user-friendly system.

It doesn't have to be that way. I'll tell you how you can get around this inconvenience shortly. 

You use parameters every day

But first we need to look at parameters another way. They're not just instructions on a command line you type in. And they don't just go with .TTP programs. Any Atari program can be written to use parameters, and most major pieces of software are, in fact, written that way. We usually don't think of them as using parameters unless we encounter one of those rare .GTP programs -- a GEM program that Takes Parameters. But parameter-passing is common, and it's exactly what takes place any time you drop an icon for a data file onto the icon for a program. (My favorite example is dropping the icon for a ZIP archive onto the icon for STZIP.PRG. The operating system runs STZIP and passes it the parameter of the path and filename of the ZIP file. But another common example is dropping the icon for a text file onto the STeno icon or the icon of any other word processor.)

This is a simple kind of parameter passing. Some specialized programs such as LHARC.TOS (which is generally distributed as LHARC.TTP for no good reason) allow a dozen or more separate parameters to be passed to the program when it runs. Some programs almost beg for parameters in order to run properly. A good example is JonDOS, one of the better command-line interpreters for the Atari, which will misbehave under Geneva unless it is run with "-t" as the parameter. This tells it to act like a TOS program -- no mouse, with all operations occurring within a standard TOS 25-line display -- instead of a GEM program.

(A digression is again in order. LHARC takes parameters, so it is normally distributed as a .TTP program. But this can defeat one of the cleverest features of LHARC, its ability to automatically run and either extract an archive's contents or compress a file or folder without a need for any action by the user. LHARC does this by examining the parameters the operating system passes to it. If the parameters include a filename with the extension ".LZH," LHARC extracts the archive to a folder. If the parameters do not include ".LZH," LHARC creates an archive and compresses the file or folder listed in the parameters. This is all very elegant; drop a folder on the LHARC icon, and it does the rest, creating an archive. Or drop the icon for an LZH file onto the LHARC icon, and it extracts the contents to a folder. But this will NOT happen so elegantly if you insist on using LHARC with its original filename extension, .TTP, because the operating system will stick that dialog box in front of your face and tell you to fill it out, as it must do with .TTP programs.)

To a word processor, a text file can be a parameter. But the same kind of operation can take place with other software, too. You can run Flash, the original high-power telecommunications program for the Atari, by passing it a parameter that consists of the name of one of its DO files. (DO files are scripts that tell Flash what to do.) You can run STalker, a modern Atari telecomm program, with a parameter that consists of the name of a BackTALK script; STalker will run, load the script automatically, and execute the instructions in the script. There are countless other examples.

But how do you do that? Ordinarily, you look at the icon for STalker, and you see only one thing you can do with it to get it to run -- you double-click on it. But you could drag the icon for a BackTALK script onto the STalker icon (or onto its name in a text-only window display, of course) and it would run and execute the instructions in the script. You could do it that way, that is, if you have the script icons and the STalker icon handy; you can't drag something that's not available on the desktop or in a window. 

Give me an N! Give me a P! 

NeoDesk 4 offers an easier way. It's also a more powerful way. It's called the NeoDesk Program Information file. An NPI can do much more than what I have suggested here -- there is probably no limit to the inventiveness you could put an NPI to -- but at its most basic it can readily automate such tasks as passing parameters. When you set up an NPI, you'll see a dialog for entering the parameters. Keep in mind that some programs do not behave as you might expect when they receive parameters, so you'd be wise to experiment. (You can't hurt anything.) Start with something simple, such as passing a script name to a telecomm program, and then graduate to something more complicated. (With LHARC, you could create one NPI that ran LHARC in minimal-memory mode, another that ran it in maximum-memory mode, and so on. If you double-click on LHARC.TOS with no parameters, you'll see a list of possible commands that can be passed to LHARC on startup.)

NPIs can be named by normal-language conventions ("Mini-LHarc," for example) instead of by the 8-and-3 ("MINILHAR.NPI") requirement of normal filenames. Unfortunately, NeoDesk 4 has a bad habit of overriding the name you have chosen and using its own best-guess filename, which uses the old 8-and-3 convention. If this happens, change the name NeoDesk assigns back to a normal phrase. (Note that a file display under NeoDesk 4 shows the name you assigned, not the 8-and-3 filename, but a display using a utility such as MaxiFile or the Geneva item selector will show the TOS filename.)

Because NPIs are program-launching instructions and not executable files per se, they are very small, taking up only one sector, the minimum amount of individual space that can be allotted on a floppy disk or hard disk. This means you can store all your NPIs in one place without a problem. It also means you can place them in Groups easily. But try to resist the temptation of creating a Group just for NPIs. It makes no sense having one icon in a Group run LHARC and another run STalker; rather, place your NPIs into the Groups they naturally fit into, with archivers in one Group and telecomm software in another, or utility software in one Group and applications in another, and so on. 


RAM cram can be a thing of the past
A powerful desktop shell can be a hungry one, too. It could require a lot of memory, depending on how it is set up. In one installation I configured, NeoDesk 4 was running in 15-bit color mode (more than 32,000 colors visible at once) on a Falcon and displaying a large background picture; it had 400 to 450 icons, and booted up with six desktop windows open, each of them full of files and folders. I probably don't have to add that this NeoDesk 4 setup took a lot more memory than the setup I use on my ST, which has no extra icons, boots up with no desktop windows open and has only a simple desktop pattern.

But this is one of the strengths of NeoDesk 4. It can be large and impressive or lean and mean. NeoDesk 4 does this many ways.

First, NeoDesk 4 can be set up like my ST instead of my friend's Falcon. You can choose to leave out extra icons and desktop pictures, and you can keep extra desktop windows closed when you do not need them. (A desktop window that displays 100 or more files consumes extra memory. Add four or five of them at the same time and memory consumption rises quite a bit -- needlessly, in most cases.)

Second, NeoDesk 4 lets the user specify how much memory it should take, in two separate approaches. You can limit NeoDesk to a specific maximum amount of memory or you can tell it to take a minimum at all times. (You can also set no limits, which is the preferred way for those with four or more megabytes of RAM.) This may be confusing, so I'll try to explain.

The first approach, which limits the total amount of memory, keeps NeoDesk 4 from using memory that may be needed for applications that do not behave properly when run under a shell such as NeoDesk. Behavior such as this is also influenced by the version of TOS that NeoDesk 4 is running under. Applications that are well behaved in terms of memory usage normally won't have a problem with NeoDesk 4's preferred setting, which is to let it take all the memory it needs.

The second approach, which specifies a precise amount of memory that NeoDesk 4 should always occupy, may work better than the others if your Atari's RAM tends to become fragmented over a long period of time. (If you reboot often, fragmentation probably can be ignored. But if you regularly run your computer for weeks at a time without rebooting, you may want to begin checking on the amount of fragmentation.) Many of the operations NeoDesk 4 performs require extra memory from the operating system's pool of RAM, and this memory is always released back to the operating system later. But in a multitasking system (and within NeoDesk alone, which always is able to multitask its file and disk operations even without Geneva), the operating system may be supplying memory to more than one process at a time. Because there is no way to know whether these operations will return their blocks of RAM in the same order they obtained them, there is no way to control possible fragmentation of RAM in these situations. (There are ways to defragment RAM in some operating systems, but none that have been implemented on Ataris so far.)

This second approach, setting NeoDesk 4's memory consumption to a specific minimum figure, prevents NeoDesk 4 from asking for extra memory during desktop operations and keeps it from shrinking its memory consumption during idle time, and this is what can help reduce fragmentation. In a typical desktop file-copying operation, NeoDesk 4 will otherwise try to appropriate nearly all available memory, using RAM as a copying buffer.

There are no hard and fast rules for the memory settings. If you choose to limit NeoDesk's memory, try settings that are quite low and see if NeoDesk complains. (If NeoDesk runs out of memory for its own operations, it will alert you to that.) You may notice that file-copying and -moving operations are slower, especially when NeoDesk 4 is dealing with a lot of small files or a few very large files. This could be an acceptable tradeoff, especially in light of NeoDesk 4's ability to do file operations in the background. Since you are able to continue other tasks during these functions, you may not care if they run slowly. 


Getting NeoDesk 4 to work with both hands
Even when Geneva is not running, NeoDesk 4 has an amazing ability to perform background file operations. Files can be copied or moved while you do other operations at the desktop -- creating Groups, setting up NPI files, formatting floppy disks, and so on. If you are copying or moving files from one folder to another and begin another copying or moving operation, NeoDesk 4 will add that operation to its queue and perform it when the first operation is done. (NeoDesk 4 cannot perform more than one file operation at a time, even under Geneva.)

Floppy formatting is a special case. Not only can you do file operations in the background while formatting a floppy; you can format a floppy disk AND do file operations while doing anything else at the desktop. This facile manipulation of the generally uncooperative floppy-disk controller is one of Gribnif's minor triumphs in NeoDesk 4, and I know few Atarians or PC users who are not amazed when they see NeoDesk 4's background formatting in action. 

Geneva adds the muscle

But NeoDesk 4's ability to place such tasks in the background is most useful under Geneva. Background file operations are particularly handy during telecommunications sessions, when you can move downloaded files to separate folders, for example, and they are just as useful at many other times. NeoDesk 4 and its partner, Geneva, will let you create archives with STZIP or the superb LHarc-Shell while formatting floppy disks to place those archives on -- and while doing any other tasks as well. In my own systems, I regularly download files from GEnie using a background telecommunications program while performing file-copying operations and writing in Calligrapher or Atari Works. Because NeoDesk 4 provides a user-adjustable control over the amount of processor time given over to file operations, you can fine-tune the background response of NeoDesk for your own setup. The slowest (leftmost) setting of the background adjustment frees up the CPU for other tasks with minimal intrusion even on an 8MHz ST; on my 48MHz TT, it exacts no apparent toll, even when the TT is formatting a floppy at the same time. (I generally set the adjustment at the second button, which seems to be a good compromise between background speed and foreground operations on both my 16MHz ST and on my TT.) 


Finding a way to locate files singly or in groups
Hard-disk space is cheaper than ever, and that means more and more Atari users have big hard drives. And that, of course, means those disks are getting filled with all sorts of stuff. (The phenomenon of Fibber McGee's Closet -- the drive that is always full no matter how big it is -- is worth looking at another time.) All that space is great, but how do you find those odd files you stuck in a folder deep inside some other folder five months ago? How do you ferret out all those strange-looking "*.C" files and ".PRJ" files that you've accumulated with every download of one of those big German applications? And how do you check your entire file system, every drive, every folder, to make a list of all your GIF graphics?

NeoDesk 4 has the answer. In NeoDesk's Search function, you are offered the power to locate any file or combination of files on every drive in your system. And you can even automatically create a Group out of every file search just by choosing the Group option.

NeoDesk 4's Search function offers the old-fashioned set of wildcards that every other search method has -- using the question mark and the asterisk to represent single characters in filenames (the question mark) or any group of characters (the asterisk). The asterisk, as most users may already know, can even denote the absence of characters.

But NeoDesk 4 goes further. Using advanced wildcards common in Unix but largely unknown in TOS, NeoDesk 4 lets you specify a range of characters that should be included or excluded in the search, so that you could, for example, have NeoDesk 4 find all files that begin with "A" or "B" but not "C" or other letters and that have "DOC" or "TXT" as their filename extensions.

Setting up searches this complicated can take a lot of time and keystrokes, so NeoDesk 4 also lets you save the search criteria. The next time you need to do the same kind of search, you simply load the particular Search file.

The addition of the automatic Group creation makes NeoDesk 4's Search method an ideal way to create Group files quickly. After the Group has been set up, you can edit it to take out extraneous files and to add descriptions. Let's look at an example.

Suppose you have a lot of shareware programs, each in their own folders. Most of them come with short "README" files and longer documentation texts, but they never seem to be where you can find them when you need them. You could, of course, make copies of all of them and put the copies in a central folder, but that would be an immense waste of space. You could also print all of them out, but that would be an even bigger waste; after all, you may not need to have more than a few of them handy as printed documents. But you do need to be able to get at any of them.

A Group file is the perfect answer. Just set up a search for all "READ*.* files and all "DOC" and "TXT" files and save the results in a Group. Put that Group file in a convenient location, and all your documentation files will be available for browsing in seconds.

TIP: Make sure you save that Group with the full pathnames displayed so you can tell the difference between one "README" file and another. You may want to save the group with the text-display option rather than iconic display, because text mode will show the locations of the files instantly. 


Using GDOS bitmapped and Speedo scalable fonts in windows 
NeoDesk 4 offers many ways to dress up your desktop, but the one that can add a finishing touch is its employment of as many as four separate fonts for the displays within windows, in window information bars and on the desktop itself. You do not have to choose these fonts, of course; NeoDesk will use its defaults ordinarily, but you can achieve some stunning effects if you play around with GDOS bitmapped or Speedo scalable fonts for any or all of the four selections. 

What GDOS is and why it's not built into the computer 

Users who are new to GDOS fonts may need a brief explanation of what's needed to get them to work. (If you're an old hand at this, just skip to the next section.) GDOS (the Graphics Device Operating System) is a much-maligned add-on part of the Atari operating system that, in fact, is an amazingly powerful feature in all Ataris. Atari had planned to incorporate GDOS into the ROMs of all STs (hard-coded into the computer's operating system, in other words), but left GDOS out at what was practically the last minute. In place of a ROM-based GDOS, Atari supplied a GDOS program on disk. The first version slowed down the operation of the ST horribly, but an improved GDOS was quickly issued by Atari and by others. (AMCGDOS is one of the most popular improved GDOS programs and is free, but there are others that are better, as we'll see in a moment.)

GDOS is something like a translator for devices attached to the computer -- printers, the display screen, plotters, that sort of thing. It handles most of the work involved in getting, for example, characters of various sizes and types on the screen and on the printed page. (GDOS is MUCH more complicated than this, but I'm trying to keep things simple so we can concentrate on fonts.) Regular GDOS supports fonts that are stored as graphical dot-by-dot images. These generally come in in two basic versions, one for screen characters and one for printed characters, and they are not resizeable. (They actually can be made twice as big, to give an example of apparent resizing, but they are not resizeable in any manner that retains their appearance.) These dot-by-dot-image fonts are called bitmapped fonts because each part of every character is mapped to a grid of dots on the screen or on the page. Bitmapped fonts work very well but have a single, very significant drawback: Since each character is stored as a collection of dots for a single size on the screen or on paper, the only way to get characters of differing sizes is to store separate versions of each character for every size you may want to use. In other words, you'd need a separate font file for 12-point type, 14-point type, 18-point type, and so on. If you really want to have a lot of choices in font sizes, you'll need to store a lot of fonts.

Font technology improves year by year. The most dramatic improvement for all computer systems is the development of scalable fonts, which are stored not as dot-by-dot graphics but as mathematical codes. These codes can be very complicated, but that sort of thing is relatively easy for a computer to deal with.

The good part of scalable-font technology is that characters that are stored as expressions of curves and straight lines can be made any size without changing their basic appearance. (This is technically oversimplified, because the best scalable-font systems actually DO change the way characters are drawn at small sizes to keep them readable, in a process called "hinting." Speedo GDOS and the TrueType system both use hinting.) Because only the mathematical codes are stored and not the bitmaps themselves, a single scalable font file can replace the dozen or more bitmapped font files that would have been needed to make sure all typical sizes are available in that font. And, of greater importance to a desktop publisher, that single scalable font file can be used to make ANY size characters, whereas a bitmapped font file is limited to one size only, preventing the user from altering documents for a more pleasing fit and appearance if the ideal font size is not available.

The bad part of scalable-font technology is that scaling characters on the fly takes time. A 16MHz ST or Falcon and a 32MHz TT will generally work fast enough with scalable fonts, but 8MHz STs may bog down quite a bit. That does not mean scalable fonts can't be used with 8MHz STs; instead, it means users with slower STs should do everything possible to speed things up -- by eliminating desk accessories that are taking up processing time, for example, or by using the fastest available font-scaling systems. NVDI 3 is generally considered one of the most flexible GDOS systems, and is highly recommended, especially since it handles both Speedo and TrueType fonts.

Fonts of both types are drawn under the control of GDOS. In the past, most applications that took advantage of GDOS were word processors and desktop-publishing applications, but this has changed with continual improvements in both GDOS and font technology. Today it's not uncommon to find applications of nearly all kinds supporting a range of fonts. The popular LHarc-Shell is one example of a relatively simple application that allows full control, through GDOS, of the fonts used in its file-display lists.

NeoDesk 4 uses GDOS to provide a choice of fonts and font sizes for these distinct display areas:
  • Captions (descriptions) under the desktop icons.
  • Small-text listings in desktop file-and-folder windows.
  • Large-text listings in desktop file-and-folder windows.
  • Information lines near the top and at the bottom of desktop windows.

You should note that even without GDOS, NeoDesk 4 lets you change the size of the font used for any of these displays. The font will always be one the system fonts. (In some resolutions, you will not have all of the system fonts available.) But with GDOS, you can change both the appearance and the size of the fonts. 

It's all a matter of proportions 

The standard fonts built into all Atari computers have evenly spaced characters, each the same width and the same distance apart, within a single font. This is how a typewriter's font looks, but it is not the way most published documents in books, newspapers and magazines look. They use fonts that have variable-width characters, with the "m," for example, taking up a lot more space than the "i" and "t" characters. These proportional fonts add a finished, professional look to the screen display, and can be used in two of the display areas in NeoDesk 4 -- the caption line under desktop icons and the information line above and below desktop windows. These do not have to be Bitstream Speedo fonts; they can be proportional bitmapped GDOS fonts. You may have to experiment quite a bit to find a proportional font that looks good and is readable as the icon caption font, but you shouldn't have any difficulty assigning a proportional font in the range of 9 to 12 points for the information line.

Proportional fonts cannot be used for the small- and large-text listings in desktop windows. If you select non-system fonts for these displays, try to use fonts that have thick letterings to enhance readability. 

GUI or not, sometimes text is a better choice after all

NeoDesk 4 normally displays files and folders as icons within each desktop window. This is often the most informative type of display because icons can be uniquely shaped and colored for each item they represent. (After all, this is part of what a graphical user interface is all about -- graphics!) But there are times when an icon-based display is not the best method. A text display can show many more items, of course, but the main point is that in a window in which all items are of the same kind of file (a group of GIF pictures, for example), an iconic display will have no graphical advantage, since the icons will all look alike. In that kind of situation, a text display makes more sense.

NeoDesk 4 allows mix-and-match selection of icon and text displays within desktop windows. This can be especially handy for ST Medium Resolution screens, where icon displays take up a lot of room, and can be useful in ST High Resolution mode, too, when many windows are open. NeoDesk 4's Group windows take up only a small amount of space in text mode, permitting a desktop with dozens of applications and other items to be listed in group windows even in ST Medium Resolution. 

Note this, please

NeoDesk 4 also uses modern font technology to good effect in its Desktop Notes, a feature that has long been one of the trademarks of NeoDesk. (This is literally true; "Desktop Notes" is copyrighted by Gribnif.) Whereas previous versions of NeoDesk limited Desktop Notes to a few brief messages in a plain Atari system font, NeoDesk 4 allows lengthy notes in any Bitstream Speedo font, large or small, in addition to any of the system fonts. In order to use Speedo fonts with NeoDesk 4, you'll need Speedo GDOS or NVDI version 3 or newer. (Although the latest versions of Speedo GDOS and NVDI also support other scalable fonts, NeoDesk 4 cannot display Desktop Notes in TrueType or PostScript formats.)

Proportional Speedo fonts look especially good in Desktop Notes. Most Speedo fonts are proportional, so, if you already have a set of Speedo fonts, you no doubt have proportional ones. (Regrettably, the non-proportional font originally distributed with Speedo GDOS, Monospaced 821, is one of the worst examples of monospaced fonts I have ever seen. Bitstream's Courier is much better.)

When you choose a Speedo font for Desktop Notes, you may find that a sans-serif font looks better than a serif font. Serifs are tiny strokes that generally make each letter look more interesting, and usually make the text more readable. But if you use serif fonts at smaller sizes on a typical Atari display, the serifs are too small to be accurately rendered. On the other hand, a serif font such as Bitstream's Charter or Windsor can be very attractive on the screen at larger sizes.

Keep in mind that NeoDesk 4 places its Desktop Notes on an unseen grid based on the height of the font, so if you put a Desktop Note in small type on the bottom of the screen and then use the Desktop Notes dialog to make the type larger, NeoDesk may place it off the bottom of the display. If this happens, set the size back to what it was and erase the note, then change the size and write it where you want it to appear. (If you don't do it this way, you'll never be able to get at the Desktop Notes because they'll stay hidden off-screen!)

If you use Speedo GDOS, which generally takes up considerable memory, you may not want to have a Speedo-font Desktop Note displayed all the time. If your Desktop Notes are used more for display than for quick note-writing -- if, for example, you create Desktop Notes that show a permanent message -- you can use Imagecopy or any other good snapshot utility to create an image of the part of your screen containing the Desktop Notes; this can then be used as a desktop background when your computer is not running Speedo GDOS. 


What you see is what you got
The popularity of the large-screen displays for the ST, TT and Falcon has changed the demands on the desktop. Where once a resolution of 640 X 200 was normal and a resolution of 640 X 400 was considered "high," for many users the standard TT and Falcon resolution of 640 X 480 is now considered normal -- and a display with four times that resolution (1280 X 960, TT High Resolution) is not uncommon. The old standard of a four-color desktop for normal use (the maximum that is possible in ST Medium Resolution of 640 X 200) has been eclipsed by the 16- and 256-color displays of the TT and Falcon, and even so-called True Color displays (showing thousands or even millions of colors) are possible on some Ataris. Clearly, the desktop is a more detailed and more colorful place than ever before.

Yet while NeoDesk 4 is unique in taking advantage of these large-screen displays, it is still capable of running to full advantage on even the oldest display standard for the ST, the 320 X 200 ST Low Resolution screen. All the extended features of NeoDesk 4 -- background pictures in color, animated icons, dialog boxes in their own windows and more -- function in ST Low Resolution mode, too. And because ST Low Resolution supports NeoDesk 4's 16-color icons, owners of the oldest and simplest STs are able to enjoy the rich graphical interface of NeoDesk 4 just as owners of the most expensive Ataris are. 

If icon, you can, too

NeoDesk 4's handling of color-plane settings (color modes) is unusual. Whereas older versions of NeoDesk were not able to deal effectively with colored icons when the desktop was running in monochrome -- the icons usually turned out to be black on black -- NeoDesk 4 has three separate icon configurations. If the computer is running in monochrome (either black-and-white mode or the unusual "duochrome" mode of some Ataris), NeoDesk 4 displays two-color icons; if the computer is running in any color mode that has more than two colors but less than 16, NeoDesk 4 displays four-color icons, and if 16 or more colors are present, NeoDesk 4 uses 16-color icons. These are separate icons, not just icons that look different in different displays. A folder icon, for example, can look entirely different in monochrome than it does in four-color mode, and both of them can be different from the folder icon used in 16-color mode.

What if you have created icons in, say, 16 color mode but not monochrome, and then boot up in monochrome? The older versions of NeoDesk would have turned every color in an icon to black, but NeoDesk 4 dithers color icons to gray patterns if it cannot find corresponding monochrome icons. These are often not satisfactory for everyday use (you will want to create your own versions at some point), but they are much better than blacked-out icons.

NeoDesk 4 handles icons in another smart manner, too. Normally, the same icon may be used to represent any number of items (a Swiss army knife icon for a disk utility, for an undelete program and for a control panel applet, for example), and you may find you are assigning hundreds of icons but using only half that number in unique ones. NeoDesk 4 checks the images in its icon file for duplicates and stores pointers to icons that are the same, saving memory and disk space. 

We do Windows

Unique among Atari desktops, NeoDesk 4 is able to import icons in the Microsoft Windows format. Nothing special needs to be done. You merely run the NeoDesk 4 icon editor. It recognizes both separate Windows icons and multi-icon Windows icon files. You can drag a Windows icon into the NeoDesk 4 "NEOICONS.NIC" file and use it immediately, or you can edit it to add animation and support for monochrome and other color planes.

The NeoDesk 4 icon editor can also import all the Atari-specific icon formats developed by both Atari and third-party companies, can use Windows bitmap ("BMP") graphics for incorporation into icons, can read Atari resource ("RSC") files for use in icons, and, of course, lets you draw your own icons from scratch. Full cut-and-paste facilities within the icon editor make it easy to copy part of one icon to another.

An apparent limitation of NeoDesk 4 -- its inability to run the icon editor as a separate, coexisting task while other operations are taking place -- can easily be circumvented if you have enough RAM and are running NeoDesk 4 under Geneva. Simply run a second instance of NeoDesk 4 and use it to edit your icons. Switching from one running copy of NeoDesk 4 to the other will be less confusing if you set up the second one with a distinctive desktop pattern or you run the second NeoDesk 4 in a window. 


The desktop doesn't have to be the size of your screen
An unusual feature of NeoDesk 4 is its ability to run as a desk accessory. Yes, you heard that right; NeoDesk 4 can hide itself away in the Desk menu of your Atari, ready to pop open just like any other GEM desk accessory. A similarly unusual feature is NeoDesk 4's ability to contain itself in a resizeable GEM window whether run as an accessory or as a program.

When it is run as a desk accessory, NeoDesk 4 retains all the functionality of the standard NeoDesk 4 setup. It still acts as the shell (the central file-and-program controller) for all operations, and still provides desktop macro keys and other specialized features. What it gains when run this way -- as both a desk accessory and as a program in which the desktop-in-a-window feature is activated -- is a second identity. The "desktop" suddenly becomes something new, not simply the background space for all file and program activity but rather a redefinable area on top of the bedrock of the operating system, if you will pardon the metaphor. Resizing the NeoDesk 4 window so that it covers only a small portion of the screen quickly frees up the remaining space for anything else.

What could that "anything else" be? In a multitasking system or a system making effective use of desk accessories, it could be anything -- an image in its own GEM window (using Imagecopy or 1stView, to name just two programs that will do such a thing), the Gribnif World Clock, a scientific calculator, an address book, an archiver running in its own GEM window, a notepad, a telecommunications applet in a window ... or just an expanse of ordinary, featureless space. All of this can be done when NeoDesk 4 is running full-screen, of course, but without the panache; anyone used to the way the Windows and Mac desktops look cannot fail to be amused and amazed at a desktop that can collapse into its own window. There is even something Trekkie about it.

If you decide to run NeoDesk 4 in a window, whether as a desk accessory or a program, you will want to arrange its desktop icons and windows more carefully than you would normally. An ideal setup would display the most important icons and windows when the NeoDesk 4 window is normal size, with ancillary icons and windows coming out of hiding, so to speak, when the NeoDesk 4 window is made full-size. You can arrange the icons and windows for this effect without a lot of difficulty. Such a desktop looks like nothing else on any platform -- perfectly organized, adaptable and easy to use. 


Placing a pretty background on the desktop
The millions of Microsoft Windows users probably rank one feature of Windows near the top in the category of Neat Things Windows Can Do. (We'll skip the Unneat Things Windows Can Do!) It's the desktop background, which can be a pattern or a picture. Windows uses just one kind of graphic file for this background wallpaper, a "BMP" file. (The name stands for "bitmap," but of course lots of other graphics are bitmapped, too.)

If this is such a Neat Thing, how come Windows users can't do what NeoDesk 4 users can do? NeoDesk 4 can use any BMP file for a background picture, too, or any IMG file, or Degas graphic, or Tiny-format picture ... you get the point. Desktop pictures are a breeze for NeoDesk 4. It even dithers (creates patterns in) color graphics so they can be viewed passably in monochrome. If you have a Falcon or an ST or TT with a graphics card, you should be able to use any 16-color Windows BMP file easily, and may be able to use 256-color BMPs also.

If you have a favorite picture in a non-supported format such as GIF or JPEG, you can quickly convert GIF and JPG files (and many others) to a NeoDesk-usable format with either Imagecopy 3.5x or GEM-View 3.x. For display sizes larger than ST High Resolution (640X400), IMG files are better choices than BMPs when you are converting pictures because they are quite a bit smaller. 

Placing a picture of the desktop on the desktop 

One of the easiest screen tricks any NeoDesk user can pull is taking a snapshot of a typical desktop, using any of the many snapshot utilities available (Imagecopy is superb) and then selecting that snapshot as the background picture for NeoDesk. By altering THAT desktop, which of course includes the representation of the other desktop as the background, and then taking a snapshot of it, you can create another background that looks quite unusual. It could have, for example, 14 open windows showing (seven for each desktop) even when you have no windows open on the real desktop. As you can see, there is no limit to the number of times you can do this.

You could also take a snapshot of the original Atari desktop and use that as a NeoDesk background, if you find yourself longing for the bad old days. 


Take a drag 
Little needs to be said about the ability that NeoDesk 4 users have of placing icons on the desktop, since this is now a feature of the latest official Atari desktops also. You simply open up a drive or folder window and drag the icon from the window to the desktop. Close the window or move it out of the way, then arrange the desktop icon any way you want it.

But both NeoDesk users and those who use the new TOS/GEM desktops sometimes fail to realize that this facility extends to ANY icon -- not just to icons that represent applications. In other words, the desktop can display icons representing texts, batch files, telecommunications scripts, audio-sample files and hundreds of other file types. In NeoDesk, even desk accessories written to communicate with the NeoDesk kernel can be installed on the desktop. If you are an experienced user and know all about this already, you may wish to skip this section; the explanation I am about to give is quite basic, but I'm sure it will be useful to many NeoDesk users. 

Why not just hide those icons away where they belong? 

If you use the "Show as Icons" option under the "View" drop-down menu, every file in every root directory and folder on your floppy and hard disks will be shown as an icon. The reasoning behind the use of icons instead of file names is simple: Icons for different functions and for their various data files can be shaped or colored differently, so they can be readily identified. To use just one example, your word processor can be identified as an icon that shows a pen and a piece of paper, and the text files that it creates can be represented as icons that show pages placed in a neat stack.

The important point here is not that icons for applications such as word processors and telecomm programs should look pretty or be informative; that much is taken for granted. What I am pointing out is that data files should be clearly related to their applications by the careful assignment of icons -- using, to cite other examples, icons that show a musical staff for the data files for a sound-sampling application, icons representing a bookshelf full of books for the resource files for system applications, and so on.

That way, a quick glance will tell you what data files go with various applications. This is much more informative than a text listing of files, and it means you are less likely to waste time searching for the right files every time you use your computer.

But that's only the beginning. The next step takes advantage of the drag-and-drop capabilities of NeoDesk 4 (a facility shared by the latest TOS desktops, too). You can do this without the need for any prior setup in NeoDesk 4; in other words, you do not need to create any "installed applications" in the NeoDesk 4 information file to make use of drag-and-drop, since it is built into the operating system itself.

This means you can open a window onto a folder on a floppy or hard drive, click on a data file icon, drag it to an application icon and drop it there, and the application will run and load the data file. If you haven't tried this before, you can practice on any file that has been archived with ARC.TTP. (It will have an ".ARC" file extension.) Drag the icon for that file onto the icon for ARC.TTP and let it go; the ARC program will automatically run, load the archived file and extract its contents.

But why go to the trouble of opening a desktop window to do this? You can do the same thing from the desktop itself if you install these icons on the desktop. By dragging a data icon to an application icon and dropping it there, you accomplish three operations in one move. You run the application, load the data file into the application and instruct the application to perform a default function -- displaying a text file in the case of a word processor, perhaps, or extracting the contents of an archive in the example of ARC.TTP.

Stay with me, because even THIS is not the full story. You can take advantage of NeoDesk 4's installed-application function and its drag-and-drop operation to add flexibility to the way you use your computer, if you install both data and application icons on the desktop. I'll give you an example from my own NeoDesk 4 setup. In fact, it's the setup I'm using to write and edit this text file.

On my NeoDesk desktop, I have placed an icon for this text file and icons for three versions of STeno, the Gribnif text editor. Two of the STenos are desk accessories, and the other is a standard GEM program. The STeno icons are clustered near the text-file icon for NEOSECRT.TXT. Also nearby is an icon for READTEXT.TTP, a text analyzer written by Paul Lefebvre, and an icon for a spell-check program. Within NeoDesk's information file, I have installed 1STVIEW.PRG as the default text viewer. (I cannot praise 1stView enough, since it is able to show multiple texts in separate windows in one double-click, displays all the text attributes such as italic and boldface in 1stWord documents, plays audio samples and shows GEM image files as well. It doesn't make my coffee in the morning, but perhaps the CodeHeads or Damien Jones will come up with THAT utility.)

Double-clicking on the icon for NEOSECRT.TXT displays this article in a 1stView window. Dragging the same icon to one of the STeno icons loads the text into STeno and opens it up in a STeno window, ready to edit. Dragging the icon to the text-analyzer icon gives a quick accounting of the file's word count, sentence length and probable readability, and dragging the icon to the spell-checker icon loads it into the spelling program.

All this is done in a sort of intuitively sensible way. I could perform the same tasks, with the same range of choices, in many different ways -- through FlexMenu, the program linker and launcher from Trace Technologies, or by means of batch files written for a shell program, to give two examples. But the most logical way, once you are accustomed to the idea that icons represent not just files but actions, seems to be the route that NeoDesk 4 takes. 

You can't really click on a DA and get it to run, can you?

Desk accessories are special applications that are always running. They are loaded into the computer's memory when it boots up and remain there, ready to go to work. (Both Geneva and CodeHead's MultiDesk Deluxe provide ways to get around the need to have all desk accessories loaded at boot-up, and are highly recommended.) Desk accessories are accessed through the "Desk" menu at the upper left of the screen.

Desk accessories normally will not run (or drop down if they are already loaded) if you double-click on their icons. Without Geneva (which lets you load a desk accessory at any time), there are two ways to get around this. One is to install MultiDesk Deluxe in NeoDesk as an application that has the associated data type ".ACC"; if this is done, double-clicking on any desk accessory will cause MultiDesk to start up the the desk accessory just as if the DA were a standard program. This has immense advantages, but it has at least one major disadvantage: The DA takes all its bags and baggage with it when you exit the desk accessory, since it was not loaded at boot-up and therefore is not running in the background while you are doing something else. (This is in no way a criticism of MultiDesk Deluxe, which is behaving in an entirely proper fashion.)

It is just that sort of background operation that makes many desk accessories useful. Excellent examples are STeno, the Gribnif text editor, and STalker, its companion telecommunications software. Other examples are CodeHead's own Warp 9 Control Panel and its excellent file utility, MaxiFile. Because a desk accessory loaded at boot-up is always available at the desktop and in any properly written GEM program, it can hold data for you for quick recall -- a calculator DA is a good example -- or it can retain work-in-progress that you can return to at any time, as you can do with a text-editor DA such as STeno or the CodeHead Head_Ed editor. It can even perform an active operation such as a file transfer while you are running another application, in the example of STalker.

With this in mind, you can appreciate the usefulness of a desk accessory that can be treated like a standard application. If you place the icons for any NeoDesk-compliant desk accessories on the desktop, you can employ the drag-and-drop technique with them just as you would a regular program. In fact, you can do that with a significant advantage. Because a NeoDesk-compliant desk accessory is already loaded and running, dropping a data icon on its icon triggers a faster response in the drag-and-drop race. The difference in response time depends on a number of factors, such as whether you are working solely from floppy disks (in which case the NeoDesk DA would load the data file at least 10 times faster than an application running from a floppy) and whether you are using a fast hard disk with a large cache (in which case the speedup would be slight).

STeno and STalker are NeoDesk-compliant desk accessories, as are the DAs that Gribnif supplies with NeoDesk -- a control panel, a printer queue and a recoverable-trash DA. The NeoDesk command-line interpreter DA, sold separately, is also NeoDesk-compliant, and some desk accessories programmed by others, such as EditPlus, also meet this standard.

These special desk accessories have another advantage. They can be listed in NeoDesk's "Accessories" submenu within the "Set Preferences" menu, so that NeoDesk can assign special hotkeys that will call them. These hotkeys are Control-0 through Control-9 (Control-1 is actually first on the list, with Control-0 last). The DA hotkeys work only on the desktop, but they are quite handy.

And there is yet another distinction of these desk accessories. By placing icons for these DAs on the desktop, you are doing, in effect, what users of graphical interfaces for other computers are able to do -- you are iconizing a running program. In Windows, OS/2 and GeoWorks for the PC and such interfaces as Motif for Unix computers, a single click on a gadget of an open window will reduce the window to an icon. In NeoDesk, a single click on the close gadget (the oval button at the upper left) of a STeno, EdHak, BackTALK or STalker DA window (among others) will reduce it to an icon in the same way. If you work with NeoDesk-compliant desk accessories in this fashion, you are adding much of the power of the other graphical interfaces to your ST or TT, while avoiding all the overhead associated with these systems. 

Pick a name 

When you install icons on the desktop, the label below the icon is nothing more than the filename or the folder name attached to the icon by the operating system. It will always be in capital letters, and may not be as descriptive as you would like. You can change these labels to anything else. Click once on any icon and choose the "Install Desktop Icon" submenu under the "Options" drop-down menu; type in any descriptive label, using upper-and-lower-case letters, which look a lot classier than something written in capitals. You can even type in any of the symbols in the ST, TT and Falcon character set -- yes, even "Bob," the famous hidden face in the high-order alphabet! Do this for each icon, then save the desktop configuration. (The Control-X key combination will do this, if you'd like a shortcut.) 


Form and function
Both NeoDesk 4 and the official Atari desktops in TOS versions from 2.05 on up have programmable hotkeys. These keys operate only on the desktop. (In other words, while you can program them to run any application, you cannot program them to perform functions within an application. They are cleared out of memory whenever an application or desk accessory is active as the top window. Hotkeys you create on the desktop will not interfere with hotkeys or function keys that are built into any of your programs.

By "hotkeys" I am referring to both the set of separate keys at the top of the keyboard labeled "F1" through "F10" and the keys on the main keyboard. Both NeoDesk and the later TOS desktops allow you to assign any "Fkey" function key and any keyboard character key to certain actions, but in other ways the two desktops differ. NeoDesk 4's method uses an actual macro program, which records a series of desktop operations for later playback, while Atari's method merely links a single keystroke to a single operation. The NeoDesk method is much more powerful and far more flexible.

The TOS desktops have these limitations:
  1. They allow the assignment of only 20 Fkeys, from F1 to Shift-F10.
  2. They do not let you use Control- or Alt-key combinations with either the Fkey assignments or keyboard hotkeys.
  3. They do not recognize the Esc, Tab, Backspace, Delete, Help or Undo keys as assignable hotkeys.
  4. They will not perform any function associated with a file except to run an executable program.

NeoDesk 4 offers these advantages:
  1. You can choose from a total of 120 possible Fkey combinations alone. That is, any Fkey can use Control, Left Shift, Alternate, Right Shift, Control-Left Shift, Alternate-Left Shift, Left Shift-Right Shift (and so on) as modifier keys.
  2. Any keyboard keys can be used with any of the modifier keys, in any combination, for macros. Thus you could assign a particular action to Control-LShift-Alt-RShift-A, for example.
  3. Any key on the keyboard except the four modifier keys (Control, Alternate and the two shift keys) can be used as a macro hotkey. For example, the Undo key, which ordinarily has no function on the desktop, can be mapped as the "Close Window" key.
  4. Most importantly, a NeoDesk 4 macro can perform any function that can be done from the desktop. It can run an application, show a text, open a specific drive or folder window, move a window, load a NeoDesk information file, and do any of dozens of other functions. A NeoDesk macro can even load a different set of NeoDesk macros. Without question, NeoDesk's macro function is one of its salient strengths. 

How NeoDesk does it

NeoDesk does not record keystrokes and mouse movements when you create a macro. Instead, it keeps track of system activity. This is, at the same time, a much better way of recording macros than the typical method of mimicking keystrokes and mouse clicks, and a much worse way. It all depends on what you want a macro to do. If you want a macro to exactly reproduce every keystroke and every single- and double-click of your mouse, you should purchase the Geneva Macro utility from Gribnif or CodeKeys from CodeHead Software. However, if you only want your macros to reproduce the results of your keystrokes or mouse clicks, NeoDesk's macro function is ideal.

Perhaps an example will make this distinction clear. Suppose you have installed the icon for EDGE.PRG, the Diamond Edge hard-disk maintenance utility, on your desktop. You start the begin-macro function in NeoDesk, run Diamond Edge, and then exit. At that time you end the macro and assign a key combination to it.

Any time you want to run Diamond Edge, you can simply press that hotkey. Does that mean that NeoDesk is double-clicking on the EDGE.PRG icon for you? (This is what CodeKeys would do, if you were to create a macro to run Diamond Edge from the NeoDesk desktop with CodeKeys.) You can find out by removing the EDGE.PRG icon from your desktop and pressing the hotkey again; Diamond Edge runs as before. What NeoDesk recorded when it monitored your activity when creating the macro was that a file named EDGE.PRG in a specified folder and path was being opened and, therefore, run.

This difference between the way NeoDesk records and runs macros and the way an external program such as the Geneva Macro utility or CodeKeys runs them is crucial. Because NeoDesk monitors all its system activity, its macros can do anything that you can do at the keyboard or with the mouse. We'll have a few dramatic examples of this below. 

Make me a macro. (ZAP! You're a macro.)

NeoDesk macros are easy to create and even easier to use. You can drop the "Options" menu down and click on "Begin Macro," or press Control-Esc. From that point on, your desktop operations will be recorded until you end the macro with a menu click or a second Control-Esc. NeoDesk 4 then asks you to assign a "Keyboard Shortcut" -- a hotkey -- to the macro. You can click on the "Read Key" box and press any key on the keyboard, and then decide whether you want to add any of the modifier keys to the hotkey by clicking on one or more of the four modifier-key buttons. (Any combination is possible.)

Then click on one of the three radio buttons at the bottom (Install, Remove, Cancel). "Install" saves the macro in the NeoDesk 4 configuration stored in your computer's memory. The macro will run, but it will not be saved permanently unless you choose "Save Configuration" under the "Options" drop-down menu. "Remove" erases the macro from memory. "Cancel" does not operate the way you might expect: Rather than canceling the macro, it cancels your decision to end the macro. Think of it as the "Cancel-macro-end" button and you'll understand it better. If you are creating a macro and decide to cancel it, you must click on "Remove" and not "Cancel." 

Macros that do more than run programs 

NeoDesk macros are great for running your favorite applications with one keystroke. But if that is all you do with NeoDesk macros, you are missing out on a lot of NeoDesk's flexibility.

Macros can chain programs together; that is, a single NeoDesk macro can run a series of programs, with each succeeding application running when the previous one stops. (Just keep the macro recorder on while you do this yourself from the desktop.)

Macros can show text files. Big deal, right? It IS a big deal if one of your text files happens to be a list of macro-key assignments -- in other words, a Help file. After you have set up your macros, open up your word processor or text editor and write a neat, single-page list of macros and their functions. Entries could look something like this:

Diamond Edge............F2    Close all windows....RS-Undo 
ST Fax..................F3    Close window............Undo
ST Writer...............F4    Close folder..........A-Undo
Flash II................F5    Select all items......Insert
Good HD backup..........F6    Send formfeed............C-F
GEnieLamp............LS-F3    Reload configuration.....A-R
Spell check...........A-F4    Load macro set #2.......LS-2

In this list, "LS" stands for "Left Shift" and "RS" stands for "Right Shift." "A" means "Alternate" and "C" means "Control."

If you decide to create a macro that lists macro-key assignments, I suggest you follow the convention of using F1 to display the Help file. Then make use of the NeoDesk Desktop Notes function by writing a short desktop note that says the following:

Press F1 for Help

This keeps most of the Desktop Notes capacity free for other memos. 

Special macros, or how to make them call themselves 

One of the mysteries of NeoDesk, to many users, seems to be one of the menu items under the "Options" drop-down menu. It's always grayed out, and that means you can't do anything with it. So why is it there?

In truth, this menu item -- "Load Configuration" -- is not always grayed out, but there is something you need to do to before you can use it. It switches from gray (the universal indication in most user interfaces that a menu item is turned off) to normal as soon as you click on any NeoDesk configuration file. In other words, if a NeoDesk configuration file ending in the extensions ".INF," ".MAC" or ".NOT" is selected, the "Load Configuration" function is enabled. This allows you to load another configuration into NeoDesk -- another complete NeoDesk information file, another set of macros or another collection of desktop notes.

NeoDesk's pre-assigned hotkey for that function is Control-L. So, by clicking once on an alternate NeoDesk information file and pressing Control-L, NeoDesk will immediately take on a new configuration.

But that's too much trouble, especially since a macro can do it all. Do the same thing while recording a macro, and then save the macro under a key combination that makes intuitive sense -- Alt-I for the main alternative information file, for example, and Alt-Shift-I for a lesser-used one.

Do the same for macro keys. Somehow, there's a sense of minor triumph in getting a macro program to load and unload its own keys. First, of course, you'll need to create separate sets of keyboard macros, saving them under different names (but all with ".MAC" extensions). Then click on each of the macro-key sets one at a time, creating new macros among the primary macro keys that load each of the other macro-key files. But be careful to include one macro in each set of macros that reloads the main set.

If this is confusing, let me try a simple explanation. Here is a set of three macro keys, which in this small example could be the primary NeoDesk macros:

F1 Show Help file 
F2 Run Aladdin 
F3 Load macro set 2

Here is macro set 2:

F1 Run Calligrapher 
F2 Run spell checker 
F3 Load macro set 1

That's how easy it is. Keep your layout simple at first; if you're not careful, your macros-calling-macros operation can become too convoluted to follow. This, in itself, is a good reason to maintain a Help file that can be viewed with a single keystroke. (Ideally, of course, each set of macro keys should share many common macros -- keystrokes for closing windows, for selecting all files in a window, and so on, and especially for viewing the Help file. But I cannot emphasize enough the need for a macro in each set of macros that returns you to the master macro assignments. If you leave that out, you will have to manually load the original macros back in.) 


PATH=, and all that garbage 
NeoDesk 4 is unusual in offering complete control over the Atari system environment. By "environment" I am referring to an area of memory that the operating system uses as a sort of information pool that all applications can make use of. The concept of a system environment may be familiar to MS-DOS users, who often need to set the DOS environment through such statements in their bootup files as "PATH=;C:\;C:\DOS" and so on. The ability to set environmental variables was built into the Atari operating system from the start, although few users know about it.

The system environment can contain pointers to locations in your file storage where certain support files can be found, and it can tell an application where to create temporary files. It can do a lot of other things too, if the applications that are running support it.

That's the problem. Most applications do not make use of the environment in any creative way, and so the system environment is one of those aspects of NeoDesk that you could safely ignore most of the time. But if you take advantage of it, you may find it surprisingly useful when running some applications.

The most common use is to set a temporary-path variable, available to any application that checks the environment. Archivers that are properly written usually look for a TEMP statement to find the designated location of a temporary storage area to hold scratch files that are deleted after the archive is finished. To enter a variable for a temporary storage area, create a folder on a partition of your hard drive (or on a large-capacity floppy disk) that has 1 megabyte or more of free space. Name the folder TEMP. In the "Edit Environment" menu under the "Options" drop-down menu, type "TEMP=C:\TEMP\" (or whatever the pathname is) in one of the environmental-variable slots, and then save the configuration file. In my own setup, I have a second temporary-path variable named "TMP=C:\TEMP\" because some applications look for a "TMP" variable instead of one named "TEMP."

Another function of the system environment is setting a general PATH variable. This is used by all GEM applications to locate their resource files, and is entered as "PATH=C:\PATHNAME\". If you make use of this variable, you can place all the ".RSC" files of every GEM application in your collection into a single folder (or into a group of folders, if you have more than 100 or so), and of course you can then remove all the ".RSC" files from their scattered locations among dozens or even hundreds of folders. This GEM pipeline for resource files should work properly for all applications that follow standard programming guidelines; I have seen only a few programs that could not find their ".RSC" files this way. If an application complains through an alert box that it cannot find its ".RSC" file, you can move that particular file back into the same folder that the application runs from.

Desk accessories present a difficulty for this method, however. Because DAs run before NeoDesk takes control of the system environment, they will not find their resource files and therefore will refuse to load. STeno and STalker are two common desk accessories that must locate their resource files before NeoDesk loads. (This problem is not solved by installing NeoDesk as an auto-running application under the TOS desktop.)

You can get around this in three ways. The most effective is to purchase Geneva, which provides complete environmental control in addition to its multitasking abilities. The second is to place the resource files for desk accessories in the root directory of your boot drive (or in the folder the accessories are loaded from, if you use ACC.PRG or MultiDesk). The third is to avoid using NeoDesk's environment manager and use Ian Lepore's GEMENV.PRG instead. GEMENV.PRG runs from the AUTO folder, is easily configured, and has the advantage of working with the TOS desktop as well as the NeoDesk desktop. 


TOS out your old receptacle 
NeoDesk comes with a recoverable trash can, which can be used as a NeoDesk-compliant desk accessory or as a stand-alone application. In either method of operation, dragging an icon of a file or a filename to the special NeoDesk recoverable-trash-can icon removes the file from view and makes it appear to be deleted. At regular intervals, you click on the trash can and select the files you want NeoDesk to dump. At that time they are erased. Until you empty the trash, you are able to open the trash can and take out any files you have decided to keep.

This is an excellent idea, and is the way some other operating systems work. (The Apple Macintosh's trash can also saves files that are deleted, but it does not save them indefinitely the way NeoDesk will do if you fail to empty the trash; this is both good and bad, depending on how much disk space you have available and how much you value your files.)

However, there are a few cautions that you should be aware of.

First, the way NeoDesk 4's recoverable trash can stores its pending-delete files and folders is non-standard. (If there WERE a standard, it would be non-standard, if you know what I mean.) This means that any application that searches through root directories and folders for all available files and then reorganizes them to improve disk performance will scramble everything being saved in the recoverable trash can. To make this as clear as possible, if you use Diamond Edge, Cleanup ST or any other hard-disk defragmenter, you must first empty the NeoDesk trash can.

Second, the sole purpose of tossing anything away is to get rid of it. This may seem too obvious for a comment, but if you use a recoverable trash can as a regular way of putting files and folders into suspended animation, you probably are ignoring some basic housekeeping duties. (And you may have a few closets that the local fire-inspection brigade would like to look at, too!) Old files that are not needed just get in the way.

Third, you may wish to consider an even better recoverable trash can if you are worried about the danger of using a disk utility when files and folders marked for deletion are in the NeoDesk trash can. This better method is simple: Create a folder named TRASH on your hard disk and assign a trash-can icon to it (call it "Trash folder" when you place it on the desktop). If you have files that you want to delete but are unsure if you may need to refer to them in the next week or so, drag them onto this icon the same way you would drag them into the trash. Every now and then, open this folder and drag all the files you know you don't need into the real trash can.

This method has no drawbacks, except of course for the progressive loss of disk space if you forget to empty the trash folder. Hard-disk defraggers will cause no harm, since everything in the trash folder is still alive and well -- and, of course, visible to the rest of the operating system. A minor inconvenience of this method is that restoring files to their former folders is not automatic, as it is with the NeoDesk trash can; you have to remember where they came from and put them back manually. But it's a lot safer. 


A,B,D,C and so on 
NeoDesk can show the contents of a root directory or folder in five different orders, sorting by name, date, size, type, and, in effect, none of the above. It is this last sort option that matters most, because it shows you the actual physical order of each file and folder in the disk directory. This is important because the Atari operating system loads and runs programs in the AUTO folder in the order that they are found in the directory. It also loads desk accessories in the order they are found in the boot disk's root directory. It does not use alphabetical order, as many users assume.

Among the mysteries of the way directory entries are ordered is a genuine oddity. Normally, directory entries are written anew each time a file is created in the folder or moved into it, with the latest additions taking up a directory slot at the end of the list. But this does not hold true if a file is deleted and another file is copied into the folder; the operating system sometimes will place the latest file's directory entry into the slot just vacated, and sometimes will put the new entry at the end.

The only way to know for sure what order the files are in is to view the list with the "No Sort" option turned on, under the "Sort" drop-down menu. This would hold only academic interest except for the "Reorder Items" option in the "Sort" menu, which lets you arrange the contents of a folder or a root directory in any way you like. When you click on "Reorder Items" a second time, NeoDesk rewrites the directory listing to match the exact order of files in the top desktop window.

Reordering files in the AUTO folder is a common activity among Atari users, and NeoDesk makes it easy. But NeoDesk 4 can also be used to reorder the desk accessories in the root directory of the boot disk, too, because of a second quirk in the way the ST, TT and Falcon operate. Desk accessories are not necessarily loaded in the order in which they appear in the "Desk" menu, even though the order that they load can be very important. MultiDesk Deluxe, for example, should always be loaded last. To make sure it loads last, place it at the bottom of the list of desk accessories using the "Reorder items" facility.

Finally, reordering a root directory or folder in any location has a further benefit. When NeoDesk 4 rewrites the directory, all the slots still occupied by deleted files and folders are cleared out. This makes directory searches appreciably faster; the difference in a directory with hundreds of files in it (and perhaps just as many deleted file entries) can be measured as a speedup of five times or even more.

However, keep in mind that this kind of directory cleanup eliminates most chances of restoring files that have been deleted. The rough-and-ready method of file restoration used by many utilities depends on the presence of a valid directory entry for every file that has been deleted -- which NeoDesk 4's reorder function eliminates. 


What, no icons?
Among your alternative NeoDesk configurations can be one that presents a blank desktop or one that shows nothing but a desktop background picture. The only item visible on such a desktop is the main GEM menu bar. This is a neat little trick, one that you will not see on many computers under Windows, OS/2 or the Macintosh Finder -- nor, of course, on other Ataris.

Every experienced Atari user knows the apparent drawback of a desktop with absolutely no icons. Because no device icons are installed, there is no way to access any files.

Actually, this is not the case. The only thing you can't do is click on a drive icon. You CAN drop down the "Options" menu and load another configuration, however, and you can run any macro.

So the way to do this is to create an alternative desktop that has no icons on it. Delete all of them by selecting them in a group, pressing Control-D and then clicking on the "Remove" box, and then saving that desktop under a unique name. I suggest NEOBLNK3.INF for an ST high-resolution desktop, for example. (The "3" indicates ST hi-res, following official Atari practice for GDOS device names.) Then record a macro that loads that desktop information file. Make sure you have another macro that restores your standard desktop. 

Where's my trash can?

Another nifty trick is to take the trash can out of the desktop for those times when inexperienced users are going to work or play at your Atari. NeoDesk 4 still provides a way of deleting files without dragging them to the trash can (through a keyboard combination and by dragging files to the trash can icon within each window), but your data will be safer if your desktop trash can is stowed away. Again, make sure you have a macro that will reload the standard desktop. 

Just a couple of choices

Another trick is to create an alternative desktop that has only a few icons in it, perhaps just the icons for a basic word processor, a spelling checker and a telecommunications program. New users who become confused by too many choices will find such a desktop very friendly. 

It's up to you

Perhaps the best neat trick of all is to use your imagination to set up your NeoDesk 4 desktop in a way that suits you best. You're the judge of what you want; do it your way, and by all means make it fun.

(This document is part of the "Secrets of ..." series of guides to Atari computing. Others in the series are available from GEnie and some other online services.)