Kulissenschieber: Die Geheimnisse der DESKTOP.INF-Datei

Sie sind ihr sehen dutzendmal begegnet: Die Datei DESKTOP.INS findet sich auf fast jeder ST-Diskette oder Platte. Aber wissen Sie auch, was dich hinter ihr verbirgt? TOS schaut hinter die Kulissen des GEM und zeigt Ihnen, wie Sie den Desktop modifizieren.

Im DESKTOP.INF speichert das GEM das Aussehen der Benutzeroberfläche - welche Laufwerke es gibt, welche Fenster sich wo befinden und ähnliches. Aktualisiert wird diese Datei jedesmal, wenn Sie im Menü »Extras« den Punkt »Arbeit sichern« anwählen. Zusätzlich behält GEM immer eine Kopie der Datei im Speicher. Sie ist bei TOS 1.0 und 1.2 maximal 1 KByte lang, ab TOS 1.4 darf sie 4192 Bytes umfassen. Findet der ST beim Booten kein DESKTOP.INF, holt er sich seine eigene Grundversion aus dem ROM - sie enthält lediglich zwei Laufwerkssymbole und einen Mülleimer. Diese Datei können Sie nicht nur über das GEM, sondern auch per Hand mit einem Texteditor ändern. Schnappen Sie sich Ihren bevorzugten Editor und laden DESKTOP.INF.

Jede Zeile beginnt mit einem Nummernzeichen (#), gefolgt von einem einzelnen Buchstaben, der GEM die Bedeutung der danach folgenden Parameter mitteilt. Beachten Sie dabei Groß- und Kleinschreibung. Am Schluß kommen dann die jeweiligen Daten.

# a 000000

enthält die Einstellung der seriellen Schnittstelle, die Sie normalerweise über das CONTROL.ACC vornehmen. Und in der Tat speichert das Accessory seine Daten genau hierhin. Um die enthaltenen Werte sinnvoll zu nutzen, benötigen Sie ein Programm, das die Datei ausliest und die Schnittstelle entsprechend konfiguriert - von allein macht das GEM nämlich gar nichts. Das erste Byte beschreibt den Duplex-Modus. Befindet sich hier eine 0, ist Vollduplex aktiv, bei einer 1 Halbduplex. Das zweite Byte gibt die Baudrate der Schnittstelle an. Einige Beispiele hierzu: 0 = 9600, 1 = 4800, 2 = 1200, 3 = 300, 6 = 2400 Baud.

Das dritte Byte steht für die Parität. 0 steht für »none« (keine), 1 für »even« (gerade) und 2 für »odd« (ungerade). Es folgt die Anzahl der Datenbits. 0 bedeutet 8 Datenbits, 1 steht für 7, 2 für 6 und 3 für 5 Datenbits. Das fünfte Byte gibt Auskunft über den Handshake-Modus. 0 steht für »kein Handshake«, 1 für xon/xoff, 2 für RTS/CTS und 3 für beide gleichzeitig. Im sechsten und letzten Byte erfahren wir, ob die Schnittstelle mit 8 Bits senden soll. Ist dieses Byte 0, heißt dies Ja, ansonsten Nein. Die Zeile #a 00000 bedeutet somit insgesamt: Vollduplex, 9600 Baud, keine Parität, 8 Datenbits, kein Handshake und achtes Bit verwenden.

# b

Diese Zeile definiert die parallele Schnittstelle. Die einzelnen Bytes nehmen dabei nur die Werte 0 oder 1 an.

Nun zur längsten Zeile der Datei, dem

# C

Die ersten 48 Bytes geben Auskunft über die Farbpalette, die normalerweise auch über das Kontrollfeld eingestellt wird. Je drei Bytes bestimmen einen der 16 Farbwerte, wobei die Reihenfolge Rot/Grün/Blau ist. Die Werte bewegen sich zwischen 0 (kein Farbanteil) und 7 (voller Farbanteil). Im 49. Byte (nicht verzählen!) steht die Geschwindigkeit des Doppelklicks; der Wert schwankt zwischen 0 (langsam) und 4 (schnell).

Es folgt die Information über den Tastaturklick. 0 bedeutet aus, 1 aus. Das nächste Byte schaltet die Glocke ein (1) bzw. aus (0), die ertönt, wenn Sie mit der Maus wüst in der Prärie herumklicken. Die Bytes Nr. 52 und 53 legen fest, wie schnell die Tastaturwiederholung reagiert, wobei Werte zwischen 1 und 46 zugelassen sind. Die letzen beiden Werte bestimmen schließlich die Wiederholfrequenz 1 bis 21.

# D

kommt zwar in jeder DESKTOP.INF vor, ist aber immer leer und hat keine Bedeutung.

Erst ab TOS 1.4 gibt es die Zeile

# Z

Sie informiert darüber, welche Programme der Desktop nach dem Booten automatisch starten soll. Dabei darf es sich (im Gegensatz zum Auto-Ordner) auch um GEM-Programme handeln. Der erste Wert gibt an, ob das GEM ein- (1) oder ausgeschaltet (0) ist. Darauf folgt der Dateiname mit komplettem Pfad. Abgeschlossen wird die Zeile mit einem Klammeraffen (@)!

So harmlos die Zeile

# 118 13

auch aussieht, sie hat es in sich. Die erste Hexzahl informiert Sie darüber, wie der Desktop Kopiervorgänge behandelt. Dazu müssen Sie den Wert in seine einzelnen Bits zerlegen. Der Hex-Wert 18 (Dezimal 24) in obigem Beispiel besagt demnach: GEM gibt Warnmeldungen bei Löschen und Kopieren und (ab IDS 1.4) auch Überschreibmeldungen. Die Dateien sind alphabetisch sortiert und werden durch Icons dargestellt. Die zweite Hexzahl gibt in ihrer ersten Ziffer an, ob der Blitter aktiviert ist (0) oder nicht (1). Haben sie keinen Blitter, ist der Wert immer 1. In der zweiten Ziffer steht die aktuelle Bildschirmauflösung: 1 ist die niedrige Auflösung, 2 die mittlere und 3 die hohe.

Die Zeile

# W

wie Window gibt Aussehen und Zustand der Fenster an. Die verwendeten sieben Hexadezimalzahlen bedeuten:

  1. Position des waagrechten Scrollbalkens
  2. Position des senkrechten Scrollbalkens
  3. Spaltenposition der oberen linken Ecke des Fensters (0 bis 7)
  4. Zeilenposition der oberen linken Ecke des Fensters (0 bis 7)
  5. Breite des Fensters
  6. Höhe des Fensters
  7. Laufwerkskennung (07=A:, 08=B:, 09=C:, 0A=D: etc.)

Wenn das Fenster geöffnet ist, folgt die Angabe des Zugriffspfads. Abgeschlossen wird die Zeile immer mit einem Klammeraffen.

# M

enthält Informationen über die dargestellten Laufwerks-Icons. Zuerst kommen wieder Spalten- und Zeilenposition. Danach folgt der Icon-Typ, den das Desktop darstellen soll (vgl. Kasten).

Wert Symbol
00 Diskstation
01 Ordner
02 Mülleimer
03 Programm
04 Datei

Wenn Sie also 02 angeben, erscheinen statt der bekannten Laufwerke nun Mülleimer auf Ihrem Desktop - die Funktion der Icons wird dadurch aber nicht beeinflußt.

Der letzte Wert ist immer FF, dann folgen die Laufwerkskennung und -titel. Die Zeile endet auf @ @. Mit

# T

geben Sie Informationen über den Mülleimer an. Die Parameter sind gleichbedeutend denen der Laufwerksicons, lediglich der Kennbuchstabe fehlt. Mehrere Mülleimer stellen Sie auf dem Bildschirm dar, wenn Sie die Zeile doppelt oder dreifach verwenden und dabei jedesmal die Koordinaten ändern.

Mit der Darstellung der Ordner befaßt sich Parameter

# D

Der erste Wert ist immer FF, die folgende Zahl gibt an, mit welchem Symbol die Ordner repräsentiert werden. Als letzten Parameter übergeben Sie einen von Klammeraffen eingerahmtem String. Dieser dient dem TOS als Maske dafür, welche Ordner in den Fenstern dargestellt werden sollen. A:. etwa zeigt nur Ordner an, die mit einem A beginnen - die anderen Plätze in der Anzeige bleiben leer. Etwas Vorsicht ist bei dieser Einstellung jedoch geboten, da ihre Verwendung des öfteren zu Abstürzen führt - mal ganz abgesehen davon, daß sich ihr praktischer Wert in Grenzen hält.

# G

legt fest, welche Programme unter GEM gestartet werden - gewöhnlich Dateien mit der Endung *.PRG oder *.APP. Der zweite Wert ist immer FF, der erste legt das Aussehen der Programmsymbole fest - analog zu # M. Wenn Sie im Desktop eine Anwendung anmelden, ändert sich jedoch die Syntax: Die zweite Zahl lautet dann 04, gefolgt von einigen Leerzeichen und dem Namen der Anwendung. Bei TOS 1.4 ist vor dem Namen noch der Pfad erlaubt. Durch Klammeraffen getrennt folgt dann die angemeldete Dateiart. Die Zeile # G M03 04 D: \GFABASIC.PRG@ *.GFA sorgt also dafür, das sich bei Doppelklick auf ein *.GFA-File zunächst der Basic-Interpreter lädt. Bei TOS 1.0 oder 1.2 fehlt das D:, sodaß GFABASIC immer im aktuellen Verzeichnis gesucht wird.

Gleiches gilt für die Zeilen

# F

und

# P

Allerdings handelt es sich hierbei um reine TOS-Anwendungen (*.TOS bzw. *.TTP). Welche Effekte Sie durch Herumspielen erreichen können, erfahren Sie am besten durch Ausprobieren! (tb)


Marc Kowalsky
Aus: TOS 12 / 1990, Seite 61

Links

Copyright-Bestimmungen: siehe Über diese Seite