VOICE Homepage: http://de.os2voice.org |
August 2002
[Inhaltsverzeichnis]
|
Von Peter Brown © August 2002, Übersetzung: Christian Hennecke |
Kürzlich entschied ich mich, ein vorhandenes Thema für die Arbeitsoberfläche zu modifizieren und hatte so viel Spaß dabei, daß ich dachte, andere würden es vielleicht auch gern einmal ausprobieren. Hier ist ein kurzer (?) Leitfaden für Interessierte.
Der Grund für diesen Artikel ist, daß ich nicht gerade die kreativste Person der Welt bin. Wenn ich ein Symbol brauche, modifiziere ich im allgemeinen etwas schon vorhandenes, statt eines vollkommen neu zu erstellen. Insofern wendet sich dieser Artikel an diejenigen, die lieber ein vorhandenes Thema anpassen möchten, als ein neues zu erstellen. Da dies auch das Hinzufügen neuer Themen zum Theme Manager umfaßt, könnte "Teil 2: Neue Themen hinzufügen" auch für diejenigen nützlich sein, die erwägen, ein eigenes Thema zu kreieren.
Für den Leitfaden benutze ich eine Konvertierung des eComStation-Themas Warplike Dark als Beispiel. Damit sollte das Aussehen dieses Themas von der ersten Abbildung zur zweiten geändert werden:
Hier ein paar Informationen zu meinem System, die im folgenden relevant sind:
Systemlaufwerk : = H:
Theme Manager Verzeichnis = H:\os2\Thememgr
Folgende Pakete werden benötigt:
eComStation-Anwender sollten diese im Verzeichnis <systemlaufwerk:>\TVoice\Wiseprog\resmgr finden. Lesen Sie auch die Datei rdc.INF, sie enthält eine ausführliche Beschreibung der Befehle und Parameter.
Für eComStation-Anwender liegen diese dem eComStation-Wartungsprogramm bei. Achten Sie darauf, daß die Pfade Teil des PATH in der CONFIG.SYS sind, damit Sie keine Pfade an der Befehlszeile eingeben müssen.
BITMAP 25 sysmen.bmp
BITMAP 26 min.bmp
BITMAP 27 max.bmp
BITMAP 28 rest.bmp
BITMAP 29 csysmen.bmpBITMAP 30 sysmend.bmp
BITMAP 31 mind.bmp
BITMAP 32 maxd.bmp
BITMAP 33 restd.bmp
BITMAP 34 csysmend.bmpBITMAP 48 buttons.bmp
BITMAP 50 hide.bmp
BITMAP 51 hided.bmp
BITMAP 52 close.bmp
BITMAP 53 closed.bmp
Kopieren Sie die Zeilen von BITMAP 25 bis einschließlich BITMAP 53 in ein neues Editorfenster. Achtung: Am Ende der Zeile, die mit BITMAP 53 beginnt, müssen Sie ein <RETURN> eingeben, so daß der Cursor an den Anfang einer neuen Zeile springt. Ich habe herausgefunden, daß der Resource Compiler mit der Fehlermeldung "Unexpected end of file..." abbricht, wenn dieser Zeilenumbruch fehlt. Speichern Sie diese Datei als "Schablone" mit dem Dateinamen THEMA.RC - ich habe sie im Verzeichnis des Theme Managers gespeichert, also als H:\os2\Thememgr\THEMA.RC.
Schritt 1 - Erstellen Sie die Verzeichnisse Arbeit und Themaname im Verzeichnis des Theme Managers oder wo immer Sie auch sonst möchten. Ich eCSW2pnk als Themaname verwendet, habe also die folgenden Verzeichnisse:
H:\os2\Thememgr\eCSW2pnk
H:\os2\Thememgr\Arbeit
Schritt 2 - Für dieses Beispiel habe ich entschieden, das Thema eComStation Warplike Dark zu modifizieren und ihm ein rosa Finish zu verleihen. Um herauszufinden, welche Dateien des Theme Manager beteiligt sind, ist es notwendig, die im Verzeichnis des Theme Managers befindliche Datei Thememgr.idx zu öffnen. Jede Zeile in dieser Datei enthält den Namen eines Themas sowie die Dateinamen der Themen-DLL und des Vorschaubildes. Wählen Sie die Zeile, die sich auf das Thema bezieht, das sie modifizieren möchten, und kopieren Sie sie in ein neues Editorfenster. Nehmen Sie die notwendigen Änderungen vor und speichern Sie die neue Datei im Verzeichnis Themenname, wobei Sie als Dateiname Themenname.idx benutzen. Für mein Beispiel öffnete ich H:\os2\Thememgr\Thememgr.idx und wählte folgende Zeile aus:
eComStation - warplike dark ecswarp2.dll ecswarp2.bmpDiese kopiere ich dann in ein neues Editorfenster und ändere sie in:
Warplike Pink ecsw2pnk.dll ecsw2pnk.bmpAnschließend sicherte ich sie als H:\os2\Thememgr\eCSW2pnk\ecsw2pnk.idx.
Schritt 3 - Kopieren Sie die in der Datei thememgr.idx aufgeführte BMP-Datei in das Verzeichnis Themenname und benennen Sie sie in Themenname.bmp um, für dieses Beispiel wird H:\os2\Thememgr\ecswarp2.bmp zu H:\os2\Thememgr\eCSW2pnk\ecsw2pnk.bmp.
Schritt 4 - Kopieren Sie die in der Datei themename.idx aufgeführte DLL in das Verzeichnis Arbeit. In unserem Beispiel wird H:\os2\Thememgr\ecswarp2.dll nach H:\os2\Thememgr\Arbeit\ecswarp2.dll kopiert.
Schritt 5 - Um die Bitmaps modifizieren zu können, aus denen das Thema besteht, müssen diese zuerst aus der DLL in eine RES-Datei extrahiert werden, worauf diese RES-Datei in einzelne Komponenten dekompiliert wird. Dazu öffnen Sie ein Befehlszeilenfenster im Verzeichnis Arbeit und geben folgenden Befehl ein, um die RES-Datei zu erzeugen:
resmgr -x DLLNAME.DLL *.* DLLNAME.RESDie Befehlszeile für unser Beispiel ist:
[H:\os2\Thememgr\Arbeit\]resmgr -x ecswarp2.DLL *.* ecswarp2.RES
Nun kann der Inhalt der Ressourcendatei in das aktuelle Verzeichnis unter Verwendung der folgenden Befehlszeile extrahiert werden:
rdc DLLNAME.RESDie Befehlszeile für unser Beispiel ist:
[H:\os2\Thememgr\Work\]rdc ecswarp2.RESDadurch werden alle Ressourcen extrahiert und eine Datei DLLNAME.RC2 wird angelegt - es sei denn, Sie geben einen anderen Dateinamen an -, die einen Index der Ressourcen enthält. Bei unserem Beispiel erhalten wir eine Datei ecswarp2.rc2 im Verzeichnis H:\os2\Thememgr\Arbeit.
Schritt 6 - Nun muß die Schablone Thema.RC mit der Datei DLLNAME.RC2 verglichen werden, damit die Bitmaps ordungsgemäß kopiert und umbenannt werden können. Öffnen Sie dazu beide Dateien mit einem Texteditor. Hier ist ein Ausschnitt aus Thema.RC und ecswarp2.rc2:
Thema.RC
BITMAP 25 sysmen.bmpecswarp2.RC2
BITMAP 26 min.bmp
BITMAP 27 max.bmp
BITMAP 28 rest.bmp
BITMAP 29 csysmen.bmp
BITMAP 25 res98562.bmpWie Sie sehen können, haben die Bitmaps in diesen Dateien unterschiedliche Dateinamen, aber wir verwenden die BITMAP-Nummer, um die benötigten Bitmaps zu finden.
BITMAP 26 res98563.bmp
BITMAP 27 res98564.bmp
BITMAP 28 res98565.bmp
BITMAP 29 res63087.bmp
Schritt 7 - Das Kopieren der Bitmaps geht folgendermaßen vonstatten: Verwenden Sie die obigen .RC-Dateien, um die benötigten Dateien im Verzeichnis Arbeit zu finden, kopieren Sie sie ins Verzeichnis Themenname und versehen Sie sie mit dem Namen, der in der Datei Thema.RC den entsprechenden BITMAP-Nummern zugeordnet ist. In unserem Beispiel kopiere ich eine benötigte Bitmap unter Verwendung der .RC-Dateien. Ich kopiere die Bitmaps nur, wenn Sie in der Datei Theme.RC aufgelistet ist, deswegen überprüfe ich die BITMAP-Nummer in Theme.RC im Vergleich zur selben Nummer in ecswarp2.RC2:
BITMAP 25 entspricht H:\os2\Thememgr\Arbeit\res98562.bmp, welche ich nach H:\os2\Thememgr\eCSW2pnk\sysmen.bmp kopiert habe. BITMAP 26 entspricht H:\os2\Thememgr\Arbeit\res98563.bmp, welche ich nach H:\os2\Thememgr\eCSW2pnk\min.bmp kopiert habe.
Nachdem ich alle benötigten Bitmaps kopiert hatte, löschte ich die Dateien im Verzeichnis "Arbeit", da sie nicht mehr gebraucht wurden.
Schritt 8 - Bevor Sie an den Bitmaps im Verzeichnis Themenname irgendwelche Änderungen vornehmen, sollten Sie Sicherungskopien davon anfertigen. Modifizieren Sie die Bitmaps im Verzeichnis Themename mit dem von Ihnen bevorzugten Editor - einschließlich der Vorschau-Bitmap, die Sie vorher kopiert hatten - entsprechend Ihren Wünschen und speichern Sie diese ab.
Ich habe PMView verwendet, um den Bitmaps in H:\os2\Thememgr\eCSW2pnk ein rosafarbenes Aussehen zu geben, indem ich mit den RGB-Werten herumgespielt habe, bis es meiner besseren Hälfte genehm war.
Um noch ein Grafiken zeigen zu können: Hier ist ein Thema, das ich angepaßt habe, damit es zu meinem blauen Arbeitsoberflächen-Layout paßt. Das originale Metallic - aluminum warp und mein Metallic Blue Aluminum Warp:
Hier ist ein "Do
it yourself"-Thema - Coloured Tiles - von Alex Taylor. Es kann hier heruntergeladen
werden: Coloured Tiles Thema
Schritt 9 - Nachdem alle erforderlichen Bitmaps angepaßt worden sind, müssen diese zu einer RES-Datei kompiliert werden, bevor wir den Befehl Addtheme verwenden können, um die DLL und einen Eintrag in der Datei Thememgr.idx zu erzeugen. Kopieren Sie die Datei THEMA.RC in das Verzeichnis Themenname und benennen Sie sie in Themename.RC um - die Beispiel-RC-Datei ist H:\os2\Thememgr\eCSW2pnk\ecsw2pnk.RC.
Nun befinden sich die Bitmaps und die RC-Datei im selben Verzeichnis, öffnen Sie also ein Befehlszeilenfenster im Verzeichnis Themenname und verwenden Sie folgenden Befehl, um die Datei Themenname.RES zu erzeugen:
rc -r Themename.RCDer Befehl für unser Beispiel ist:
[H:\os2\Thememgr\eCSW2pnk\]rc -r ecsw2pnk.rc
Step 10 - Die folgenden erforderlichen Dateien sollten nun vorhanden sein:
Themename.idxKopieren Sie diese Dateien in das Verzeichnis des Theme Managers. Damit der Befehl Addtheme funktioniert, muß sich eine Kopie der Datei pmmrgres.dll im Verzeichnis des Theme Managers befinden. In diesem Verzeichnis sollte sich eine Datei PMMRGRES.SAV befinden, die Sie nach PMMRGRES.DLL kopieren können. Überprüfen Sie auf jeden Fall, ob diese Datei vorhanden ist, bevor Sie fortfahren.
Themename.bmp
Themename.RES
Wechseln Sie auf einer Befehlszeile in das Verzeichnis des Theme Managers und geben Sie
Addtheme Themennameein. Der Befehl Addtheme kopiert die Datei PMMRGRES.DLL nach Themenname.dll und aktualisiert diese mit dem Inhalt der Datei Themenname.RES. Außerdem erstellt Addtheme einen Eintrag in der Datei Thememgr.idx unter Verwendung der Details aus der Datei Themenname.idx.
Nachdem Sie das neue Thema erzeugt haben, können die Dateien Themenname.idx und Themenname.RES nun aus dem Verzeichnis des Theme Managers entfernt werden.
Für unser Beispiel habe ich die Dateien
ecsw2pnk.idxvon H:\os2\Thememgr\eCSW2pnk nach H:\os2\Thememgr kopiert.
ecsw2pnk.bmp
ecsw2pnk.RES
Dann habe ich folgenden Befehl eingegeben:
[H:\os2\Thememgr\]Addtheme ecsw2pnk
Nachdem die Nachricht "Successful completion" ausgegeben wurde, habe ich die Befehlszeile geschlossen und das Verzeichnis des Theme Managers ( [H:\os2\Thememgr] ) in Symbolanzeige geöffnet. Dort befand sich nun eine neue DLL, ecsw2pnk.dll, welche das Thema Warplike Pink enthielt, das meine bessere Hälfte sich gewünscht hatte. Nach dem Start des Theme Managers führt dieser auch Warplike Pink auf, also zeigt sich nach Anwenden und einem Systemneustart...
Ja. :-) Ich hoffe, damit ist anderen Leuten geholfen, die den Drang verspüren, Themen für den Theme Manager zu entwerfen oder zu modifizieren.
Da alle bisherigen Grafiken Bildschirmphotos der Themenvorschau waren, wie sie vom Theme Manager angezeigt werden, sehen Sie nun ein paar tolle Bildschirmphotos von modifizierten Themen, wie sie auf zwei Arbeitsoberflächen aktiv sind.
Von ihrer Arbeitsoberfläche - Das Warplike Pink Thema in Aktion.
Hierbei handelt es sich um ein Bildschirmphoto eines PMView-Fensters, welches ein Bildschirmphoto ihres Lotus-Ordners zeigt.
Wie Sie sehen, passen die Druckknöpfe der Titelleiste zum pinken Layout meiner besseren Hälfte,
wie PMViews Druckknöpfe in der Menüleiste zeigen. Außerdem, auch wenn es hier nicht sichtbar ist, ähnelt die
Farbe der inaktiven Titelleiste derjenigen der Druckknöpfe in der Titelleiste.
Ein ähnlicher Schnappschuß von Metallic Blue Aluminium Warp in Aktion auf meiner Arbeitsoberfläche,
die ein blaues Layoutschema hat - dies haben Sie vielleicht an den Bildschirmphotos der
Vorschauen des Theme Managers bemerkt.
Daten und Quellen:
|
[Artikelverzeichnis]
editor@os2voice.org
[Vorherige Seite] [Inhaltsverzeichnis] [Nächste Seite]
VOICE Homepage: http://de.os2voice.org