Dynamic Desktop Display

by Kostas Proitsakis

DDD is a module that provides some interesting new features for your desktop. It works equally well with RISC OS 2, RISC OS 3.1 and RISC OS 3.5.

The module is supplied with a front end application that enables you to set your chosen options from the desktop. The complete DDD application should first be transferred from the RISC User disc to your preferred location on the hard disc. The application can then be run by double-clicking on its icon in the directory viewer. This installs DDD's icon on the icon bar. Clicking Menu over this icon opens a menu with four entries: Info, Options, Help and Quit. The functions of Info, Help and Quit are self-explanatory. The Quit option also leads to a submenu with the single entry All. Choosing this option as opposed to just Quit from the main menu will quit the front end and kill all DDD modules.

Choosing Options (or simply clicking on the icon bar icon with Select or Adjust) opens the options window. This enables you to choose which of DDD's three main functions are to be switched on by default. These three functions will be described below, together with two further functions that are always switched on.

1. Fancy directories & files
If a sprite exists in the Wimp pool with its name prefixed by a hash character ("#"), this will be used instead of the standard icon for any object of that name. This enables you to design your own individual sprites for directories and files instead of the standard sprites (e.g. the blue folder). Thus you can have a different icon for each directory: one for Apps, one for Documents, etc. etc. For example, if you have a directory on your hard disc named Comms, you could place a sprite called #comms into the Wimp sprite pool, and this sprite would be displayed by the Filer instead of the blue folder whenever the directory appeared in a Filer window.

Similarly you might design a sprite called #options, which would be used whenever a file called Options appeared. This is not quite so useful since one of the main reasons for having standard sprites is to indicate the filetype, but you could perhaps use it for data files.

2. Two stage icons
You may have noticed that many applications nowadays have toolbox icons or other icons in their windows that change their appearance when the icon is selected. This option allows you to do the same with icons in Filer windows. By using this option you could add a little individuality to your desktop: for example, you could make an eye blink as you double-click on it, or a bomb could explode as you run a game.

To achieve this, you must place a sprite into the Wimp pool which has its name suffixed by "" (i.e. ASCII 178). This must exist in addition to the normal sprite. For example, an application MyApp would normally have an application sprite !myapp. If DDD finds a second sprite called !myapp then this second sprite will be displayed whenever the !MyApp application is selected in a Filer window (i.e. on a single click or momentarily during a double click). Similarly, you could create a sprite called file_fff and this would then be displayed whenever a text file is selected.

This feature may be combined with the fancy icon feature described above, so the first sprite would merely have the "#" prefix, while the second sprite would have both the prefix and a "" suffix.

3. Clear application names
This option allows you to display all applications in Filer windows without the exclamation mark which normally precedes them (i.e. what you see is the actual application name rather than the application directory's name - Ovation and not !Ovation).

The three options described so far can be selected or deselected from the Options window, as mentioned above. When you have chosen the required options, clicking on OK will set the options temporarily, while clicking on Save will save them as defaults which will then be set automatically each time you run DDD.

4. Big icons
DDD has two further features. The first of these enables you to use icons in Filer windows which are larger than normal and are plotted without any text below. This will happen if there is a sprite in the Wimp pool whose name is prefixed by ")". For example, if you have a directory called Games and there is a sprite called )games, this sprite will be used for the directory icon without the name of the directory underneath.

5. Opening applications
If an application directory does not have a !Run file, if you try to run that application by double-clicking on its icon you will get an error. If you have the DDD module loaded, all that will happen is that the application directory will be opened instead, which in many cases is what you would want to happen.

Putting sprites into the Wimp pool
Sprites are placed into the Wimp sprite pool by subjecting the sprite file to a *IconSprites command. The simplest way to achieve this is to place all your newly designed sprites into a file and include the following line in your boot sequence:
    IconSprites <spritefile>
where spritefile is the full pathname of this file. The sprites will then be put into the pool ready for use.

A sprite file containing a selection of directory icons is included with the application. The file is called Sprites and is inside the !DDD application directory.

Installing the DDD module
If you do not want to set the options, then you do not need to run the DDD front end application. All you need to do to access DDD's functions is to install the modules DDD and Claim. This is done automatically whenever the DDD application is seen by the Filer, so in order to load the modules as part of your boot sequence you need to include the following line in the boot file (RISC OS 3 only):
    Filer_Boot <pathname>
where pathname is the full pathname of the DDD application.

The program options can in fact be altered without running the front end. Simply set the system variable DDD$Options with a value from 0 to 7 as follows:
  
  Bit      meaning if set

   0       hide '!' from application names
   1       two stage icons
   2       fancy directories and icons

If  you alter the DDD$Options variable while DDD is running you 
can tell DDD to read the new options by using the command *DDD.
Better still, you can use:
    *DDD <options>
where options is a value from 0 to 7, and DDD will update its options accordingly.

The author can be contacted as follows:

Kostas Proitsakis
Eleftherias 37
553 37 Thessaloniki
GREECE

Phone: +3031,931.201 

e-mail:  gus@athos.med.auth.gr


Copyright  RISC User 1994
