THE DESKTOP.INF FILE by Richard Karsmakers
Everybody must have noticed a file called DESKTOP.INF on some of
his disks. Some of you will probably now what it does, but some
of you will just as probably not know what it does or even what
it is. In this article I will try to tell all I know about this
file, and about the special manipulations that are possible with
it. The file can be loaded into an editor or word processor that
does not use WP mode and then it can be edited and saved back. If
you custom desktop crashes your system, just reset it with
another (normal) disk in the drive and all will be OK.
The DESKTOP.INF file is created whenever you select "SAVE
DESKTOP" under the "OPTIONS" menu from the GEM desktop. We will
see what is stored in a while. The ST's DESKTOP.INF file is
actually very limited. The Apple Mac DESKTOP file contains a lot
more information so it seems, and it is also hidden in the
directory (obviously, people don't want you to mess around with
it).
Every time you start up your ST system, reset it, or switch
between the color resolutions, the DESKTOP.INF is loaded into
memory, and its parameters are used. More about that later.
Let's look at a standard DESKTOP.INF file. This was created by
resetting the system and immediately selecting "SAVE DESKTOP" (in
Germany, this is "ARBEIT SICHERN").
#a000000
#b000000
#c7770007000600070055200505552220770557075055507703111103
#d
#E 1B 03
#W 00 00 04 03 43 10 00 @
#W 00 00 0D 08 2A 0B 00 @
#W 00 00 0E 09 2A 0B 00 @
#W 00 00 0F 0A 2A 0B 00 @
#M 00 00 00 FF A FLOPPY DISK@ @
#M 00 01 00 FF B FLOPPY DISK@ @
#T 00 06 02 FF TRASH@ @
#F FF 04 @ *.*@
#D FF 01 @ *.*@
#G 03 FF *.APP@ @
#G 03 FF *.PRG@ @
#F 03 04 *.TOS@ @
#P 03 04 *.TTP@ @
Let's now have a look at the individual lines. All lines are
preceeded by a "#" and a identifier, followed by some parameters.
#a000000 RS232 Parameters
^^^^^^
||||||
|||||¯¯¯¯¯¯ Bit8 0 = On, 1 = Off
||||¯¯¯¯¯¯¯ Rts/Xo 0 = Off/Off, 1 = Off/On
|||| 2 = On/Off , 3 = On/On
|||¯¯¯¯¯¯¯¯ Bits 0 = 8, 1 = 7, 2 = 6, 3 = 5
||¯¯¯¯¯¯¯¯¯ Parity 0 = No Parity, 1 = Odd, 2 = Even
|¯¯¯¯¯¯¯¯¯¯ Baud 0 = 9600, 1 = 4800, 2 = 1200, 3 = 300
¯¯¯¯¯¯¯¯¯¯¯ Duplex 0 = Full, 1 = Half
This line is only in use when a desk accessory is loaded that is
supplied on the ST System Disks. This can be recognized under
"DESK" by the name "RS232 Configuration".
#b000000
^^^^^^ Printer Configuration Parameters
||||||
|||||¯¯¯¯¯¯ Paper 0 = Tractor Feed, 1 = Single Sheets
||||¯¯¯¯¯¯¯ Port 0 = Centronics, 1 = RS232
|||¯¯¯¯¯¯¯¯ Quality 0 = Draft, 1 = Maximal
||¯¯¯¯¯¯¯¯¯ Dots 0 = 1280, 1 = 960
|¯¯¯¯¯¯¯¯¯¯ Color 0 = B/W, 1 = Color
¯¯¯¯¯¯¯¯¯¯¯ Type 0 = Dot Matrix, 1 = Daisywheel
This line is only in use when a desk accessory is loaded that is
supplied on the ST System Disk. It can be recognized by the
option "Install Printer" under the "DESK" menu.
#c7770007000600070055200505552220770557075055507703111103
^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^ ^
| | | | | | | | | | | | | | | |
| | | | | | | | | | | | | | | ¯ Yellow
| | | | | | | | | | | | | | ¯¯¯¯ No system color
| | | | | | | | | | | | | ¯¯¯¯¯¯¯ No system color
| | | | | | | | | | | | ¯¯¯¯¯¯¯¯¯¯ Magenta
| | | | | | | | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯ No system color
| | | | | | | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Bluegreen
| | | | | | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ No system color
| | | | | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Light Grey
| | | | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ No system color
| | | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ No system color
| | | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ No system color
| | | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Blue
| | | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ No system color
| | ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Red
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Black
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ White
The last seven characters on this line have nothing to do with
colors. Their meaning is the following:
3111103
^^^^^^^
|||||||
|||||¯¯¯¯¯¯¯¯¯¯ Two hexadecimal digits of key repeat rate
|||¯¯¯¯¯¯¯¯¯¯¯¯ Two hexadecimal digits of key repeat time
||¯¯¯¯¯¯¯¯¯¯¯¯¯ Clock 0 = Off, 1 = On
|¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Key click 0 = Off, 1 = On
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Mouse speed 0-4 (4 is fastest)
This line is only activated when you use the desk accessory
called "Control Panel". By activating the control panel, these
colors and other settings are taken over by GEM.
#E 1B 03 Extras
^^ ^^
|| ||
|| ¯¯¯¯¯¯¯¯¯ Two digits of a hexadecimal number, of which the
|| individual bits have the following meaning:
|| 0-2 = No meaning
|| 3 = Confirm copy (0 = No, 1 = Yes)
|| 4 = Confirm delete (0= No, 1 = Yes)
|| 5-6 = Sort on.... (00 = Name, 01 = Date,
|| 10 = Size, 11 = Type)
|| 7 = Show as.... (0 = Icons, 1 = Text)
¯¯¯¯¯¯¯¯¯¯¯¯ Resolution: 01 = 320*200 or monochrome
02 = 640*200 or monochrome
03 = Monochrome or 320*200
This line is always activated, and the values contained in it can
be changed by using the "VIEW" and "OPTIONS" pull-down menus from
the GEM desktop. In the DESKTOP.INF file created on the disk of
ST NEWS, you'll notice that the resolution is set to '02': Medium
res is activated when color monitors are used, whereas monochrome
(of course) is installed on monochrome monitors.
#W 00 00 04 03 43 10 00 @ Windows
#W 00 00 0D 08 2A 0B 00 @
#W 00 00 0E 09 2A 0B 00 @
#W 00 00 0F 0A 2A 0B 00 @
^^ ^^ ^^ ^^ ^^ ^^ ^^ ^
|| || || || || || || |
|| || || || || || || ¯¯¯¯¯¯¯ Name of opened window
|| || || || || || ¯¯¯¯¯¯¯¯¯¯ Value of vertical scrollbar
|| || || || || ¯¯¯¯¯¯¯¯¯¯¯¯¯ Heighth of the window
|| || || || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Width of the window
|| || || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Y-Position
|| || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ X-Position
|| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Value of vertical slider bar
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Value of horizontal slider bar
This is one of the more interesting parts to manipulate. More
about that later. The values of 'X-Position' and 'Width of the
Window' have to be multiplied by 8 to get the actual pixels; 'Y-
Position' and 'Height of the window' have to be multiplied by
either 8 (color) or 16 (monochrome) for this. This easily
explains why it is impossible to position the window sizes by
pixels (like the MacIntosh). Up to four windows can be defined.
#M 00 00 00 FF A FLOPPY DISK@ @ Disk Drive Icons
#M 00 01 00 FF B FLOPPY DISK@ @
^^ ^^ ^^ ^^ ^ ^^^^^^^^^^^
|| || || || | |||||||||||
|| || || || | ¯¯¯¯¯¯¯¯¯¯¯¯¯ Name of the Icon
|| || || || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Drive Identifier
|| || || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|| || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Icon Type (hexadecimal)
|| || 00 = Disk Drive, 01 = Folder
|| || 02 = Trashcan , 03 = Program
|| || 04 = File
|| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Y-Position (multiply with 40 b/w
|| or 20 color to get real position
|| and add 20) (Hex)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ X-Position (multiply with 80 for
real position) (Hex)
#T 00 06 02 FF TRASH@ @ Trashcan
^^ ^^ ^^ ^^ ^^^^^
|| || || || |||||
|| || || || ¯¯¯¯¯¯¯¯¯¯¯¯¯ Name of the Trashcan
|| || || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
|| || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Icon Type (hexadecimal) (For types
|| || please look on the previous page)
|| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Y-Position (see previous page)
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ X-Position (see previous page)
#G 03 FF *.APP@ @ GEM Application
#G 03 FF *.PRG@ @
^^ ^^ ^^^
|| || |||
|| || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Extension of file that is GEM App.
|| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ See note on page 12
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Type of Icon for GEM App. (see
previous page)
#F 03 04 *.TOS@ @ TOS Application
^^ ^^ ^^^
|| || |||
|| || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Extension of file that is TOS App.
|| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ See note on page 12
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Type of Icon for TOS App. (see
two pages back)
#P 03 04 *.TTP@ @ TTP Application
^^ ^^ ^^^
|| || |||
|| || ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Extension of file that is TTP App.
|| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ See note on page 12
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Type of Icon for TTP App. (see
two pages back)
Note to a relatively unknown byte (mostly $FF) in the lines for
TTP-, GEM-and TOS applications:
According to Mr. Wilfred Kilwinger (see "Did you know that....")
in his article in SAG Magazine Volume 2 Issue 5, this byte
indicated that the program uses AES if $FF, and GEMDOS/TOS when
$04. Not surely known, though.
Now for some practical manipulations. I will not talk about all
the logical manipulations (changing the obvious first couple of
lines), but I will just look at two new manipulations that have
not yet been treated in any other magazines.
The first one is a way to make sure that only ONE file displayed
in the directory of a disk. Is doesn't matter which other files
are on the disk - they will simply not be displayed.
The trick: After each window line, you can see one '@' sign. This
is the place where the name of the current (sub-)directory is
placed when a window (or several windows) was opened when you
SAVEd the desktop. If you give this line a program name rather
than a (sub-)directory name (upper-or lowercase doesn't matter),
only the program with that name is displayed! Take care not to
throw away the '@', and leave a space between the name and that
character. Example:
#W 00 00 04 03 43 10 00 @
becomes
#W 00 00 04 04 43 10 00 A:\ST_NEWS.PRG @
The second technique I'd like to discuss is the one that takes
care that you see only a limited amount of file on the disk. For
example, you can have the following modes:
- Show Folders and Programs (no other files)
- Show Data files and Programs (no folders)
- Show Programs (no folders and other files)
The secret is hidden in the following two lines:
#F FF 04 @ *.*@
#D FF 01 @ *.*@
If you delete the first one, only folders and PRG icons will be
displayed. If you delete the second, only data files and PRG
icons will be displayed. And if you delete both, only PRG icons
are displayed.
I almost forgot one small third manipulation. For example, it is
possible to make programs executable that have different
extensions that just .TOS, .TTP, .APP or .PRG. For example, if
you want all files that end on .AAA to be treated as program
files as well, you should add the following line:
#G 03 FF *.AAA@ @
The 'G' stands for GEM application, and thus makes the file
exactly the same as any .APP or .PRG file. The 03 defines a PRG
icon (you can change that as well), and the FF probably means
that the program uses GEM (see note on page 12).
But do not expect that you can now just rename all files to .AAA
extensions! The files need to have proper executable program
formats to be used correctly.
That's all for now. If you think you have found a new kind of
DESKTOP.INF manipulation technique, please do not hesitate to
write to me (or maybe you can even write an article about it!).
Disclaimer
The text of the articles is identical to the originals like they appeared
in old ST NEWS issues. Please take into consideration that the author(s)
was (were) a lot younger and less responsible back then. So bad jokes,
bad English, youthful arrogance, insults, bravura, over-crediting and
tastelessness should be taken with at least a grain of salt. Any contact
and/or payment information, as well as deadlines/release dates of any
kind should be regarded as outdated. Due to the fact that these pages are
not actually contained in an Atari executable here, references to scroll
texts, featured demo screens and hidden articles may also be irrelevant.