home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: WPS_PM
/
WPS_PM.zip
/
xf085de.zip
/
xfldr049.inf
(
.txt
)
< prev
Wrap
OS/2 Help File
|
1999-03-15
|
357KB
|
6,799 lines
ΓòÉΓòÉΓòÉ 1. XFolder-Online-Referenz ΓòÉΓòÉΓòÉ
Hinweise
EinfБhrung -- hier beginnen
Installation
KontextmenБ-Funktionen
Ordner-Funktionen
Ordner-Statuszeilen
Erweiterter Systemabschluс
Die neuen "System"-Objekte
The Netscape DDE Interface
Neue XFolder-SystemklДnge
Neue Standardsymbole
WPS-Startlogos
Frequently Asked Questions (FAQ)
Weitere Dateien
Versionsinformationen
XFolders Interna
Appendices
ΓòÉΓòÉΓòÉ 2. Hinweise ΓòÉΓòÉΓòÉ
Lizenz und Haftungsausschluс
GNU General Public Licence
Kontakt -- Kommentare und VorschlДge
Danksagungen (englisch)
Credits (englisch)
Warenzeichen
═══ 2.1. Lizenz und Haftungsausschluс ═══
MДrz 1999
WДhrend frБhere Versionen von XFolder als "einfache" Freeware verФffentlicht
wurden, stehen alle XFolder-Versionen seit V0.80 unter der GNU General Public
Licence (GPL), Version 2.
Sie kФnnen den vollstДndigen englischen Text der GPL in der Textdatei COPYING
im Installationsverzeichnis finden. Auf der nДchsten Seite kФnnen Sie eine
formatierte, von mir Бbersetzte Version derselben lesen. Diese Ъbersetzung ist
jedoch nicht maсgebend.
Indem Sie XFolder auf Ihrem System installieren, erklДren Sie Ihre Zustimmung
zu den Bedingungen der GNU General Public Licence, Version 2, wie sie in der
Datei COPYING enthalten ist.
Die GPL bringt mehr Juristerei mit sich, aber auch mehr Rechte fБr Sie als
Benutzer und ggf. Programmierer. Die offensichtlichste VerДnderung ist, daс
XFolders Quellcode jetzt ebenfalls verФffentlicht wird.
Die folgenden kurzen ErlДuterungen dienen allein dazu, Sie mit den
Lizenzbedingungen der GPL Бberblicksweise vertraut zu machen. Diese
ErlДuterungen sind nicht Bestandteil des Lizenzvertrages, fБr den allein die
englische Fassung der Datei COPYING maсgebend ist.
Wenn Sie XFolder lediglich benutzen mФchten, hat sich nicht viel
geДndert. Sie kФnnen XFolder immer noch benutzen, ohne Zahlungen an
Ulrich MФller zu leisten. Die GPL beschrДnkt Sie diesbezБglich nicht,
weil sie nur Bedingungen fБr die Weitergabe und Оnderungen von XFolder
enthДlt. Es gibt aber nach wie vor keine irgendwie geartete Haftung oder
gar Garantie. Wenn XFolder Ihr System ruiniert und Ihre Arbeit der
letzten 30 Jahre verloren geht -- tut mir leid. (Dies ist aber nicht sehr
wahrscheinlich.) Details zum Haftungsausschluс finden Sie in der GPL am
Ende.
Wenn Sie XFolder vertreiben mФchten, ist auch dies immer noch mФglich.
Jedoch wird die GPL sie wahrscheinlich verpflichten, daс Sie dann
ebenfalls den Quellcode von XFolder vertreiben mБssen. Diesen finden Sie
in einem separaten Paket auf der WWW-Heimseite des Autors. Lesen Sie die
GPL fБr Details.
Wenn Sie Programmierer sind, kФnnen Sie sich nun den Quellcode anschauen
und dБrfen ihn auch verwenden. Wenn Sie jedoch Teile von XFolder fБr Ihre
eigenen Entwicklungen verwenden, wird die GPL Sie hФchstwahrscheinlich
verpflichten, Ihre Arbeit ebenfalls unter die GPL zu stellen. Im Ergebnis
bedeutet dies, daс Sie meinen Quelltext nicht verwenden dБrfen, wenn Sie
nicht Ihren gesamten Quelltext ebenfalls verФffentlichen.
Auch wenn ich den Quellcode verФffentliche, behalte ich mir mein
Copyright fБr meine eigenen Entwicklungen vor.
Zu allen diesen Fragen enthДlt die GPL ausfБhrliche Regelungen. Bevor Sie
Teile des XFolder-Quellcodes verwenden oder Дndern, lesen Sie bitte die
die ganze GPL grБndlich. Wenn Ihre Software ebenfalls unter der GPL
steht, kФnnen Sie ohne weiteres gerne meinen Quellcode benutzen. Wenn Sie
irgendwelche Fragen haben, kФnnen Sie mich gerne kontaktieren.
Diese Lizenzvereinbarung umfaсt nicht notwendigerweise auch zukБnftige
Versionen. Ulrich MФller behДlt sich das Recht vor, die Lizenzvereinbarung fБr
zukБnftige Versionen zu Дndern.
Und nun: viel Spaс mit XFolder!
(C) Copyright 1997-98 Ulrich MФller.
ΓòÉΓòÉΓòÉ 2.2. GNU Public Licence ΓòÉΓòÉΓòÉ
[Hinweis des Ъbersetzers (Ulrich MФller): Diese Ъbersetzung ist allein zur
VerstДndlichkeit beigefБgt. Sie ist rechtlich nicht verbindlich; in
ZweifelsfДllen entscheiden allein die englischen Bestimmungen, wie sie in der
Datei COPYING der XFolder-Installation enthalten sind.]
GNU GENERAL PUBLIC LICENSE
Version 2, Juni 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
675 Mass Ave, Cambridge, MA 02139, USA
Jedermann wird die Erlaubnis erteilt, unverДnderte Kopien dieses
Lizenzdokuments zu kopieren und zu vertreiben, aber Оnderungen dieses Dokuments
sind nicht erlaubt.
Vorwort
Die Lizenzvereinbarungen der meisten Softwarepakete sind entworfen worden, um
Ihre Freiheit einzuschrДnken und zu verДndern. Im Gegensatz dazu ist die GNU
General Public Licence dazu gedacht, Ihre Freiheit zu garantieren, freie
Software weiterzugeben und zu verДndern -- um sicherzustellen, daс freie
Software fБr alle ihre Benutzer frei ist. Diese General Public Licence findet
auf den grФсten Teil der Software der Free Software Foundation Anwendung sowie
auf jedes andere Programm, dessen Autoren sich dieser Lizenz verpflichtet
haben. (Einige andere Software der Free Software Foundation wird hingegen von
der GNU Library General Public License erfaсt.) Sie kФnnen sie auf Ihre eigenen
Programme ebenfalls anwenden.
Wenn wir von freier Software sprechen, beziehen wir uns auf Freiheit, aber
nicht den Preis. Unsere General Public Licenses sind entworfen worden, um Ihnen
zu garantieren, daс Sie Kopien von freier Software vertreiben kФnnen (und sich
dafБr bezahlen lassen, wenn Sie mФchten), daс Sie Quelltexte erhalten oder
jedenfalls erhalten kФnnen, daс Sie die Software verДndern kФnnen oder Teile
davon in neuen freien Programmen verwenden kФnnen, und daс Sie wissen, daс Sie
dies alles tun kФnnen.
Um Ihre Rechte zu schБtzen, mБssen wir BeschrДnkungen einfБhren, die es
unmФglich machen, daс irgendjemand Ihnen diese Rechte verweigert oder Sie
auffordert, diese Rechte aufzugeben. Diese BeschrДnkungen Дuсern sich in
bestimmten Pflichten Ihrerseits, wenn Sie Kopien der Software vertreiben oder
diese Дndern.
Wenn Sie zum Beispiel Kopien eines solchen Programmes vertreiben, egal ob
gratis oder gegen eine GebБhr, mБssen Sie allen EmpfДngern alle Rechte
weitergeben, die Sie selbst haben. Sie mБssen sicherstellen, daс die EmpfДnger
ebenfalls den Quellcode erhalten oder erhalten kФnnen. Und Sie mБssen ihnen
diese Vereinbarungen zur VerfБgung stellen, auf daс auch sie ihre Rechte kennen
kФnnen.
Wir schБtzen Ihre Rechte in zwei Schritten: (1) die Software steht unter einem
Copyright, und (2) stellen wir Ihnen diese Lizenz zur VerfБgung, die Ihnen die
rechtliche Erlaubnis erteilt, die Software zu kopieren, vertreiben, und/oder zu
verДndern.
Auсerdem, zum Schutz eines jeden Autors und unserer selbst, wollen wir
sicherstellen, daс jedermann versteht, daс es keine GewДhrleistung fБr solche
freie Software gibt. Wenn die Software von jemand anderem verДndert und
weitergegeben wird, wollen wir, daс die EmpfДnger wissen kФnnen, daс dasjenige,
was sie erhalten haben, nicht das Original ist, damit der Ruf des
Originalautors von Problemen unberБhrt bleibt, die andere zu verantworten
haben.
Abschlieсend: Jedes freie Programm ist permanent der Gefahr von
Software-Patenten ausgesetzt. Wir wollen die Gefahr verringern, daс
Weitervertreiber von freier Software individuell Patente erwerben und damit im
Ergebnis ein Programm proprietДr machen kФnnen. Um dies zu verhindern, haben
wir klargestellt, daс ein jedes Patent entweder fБr jedermann frei lizenzierbar
sein muс oder Бberhaupt nicht lizenziert werden darf.
Die detaillierten Vereinbarungen und Bedingungen fБr Kopie, Vertrieb und
VerДnderung folgen nach.
GNU GENERAL PUBLIC LICENSE
VEREINBARUNGEN UND BEDINGUNGEN FЪR KOPIE, VERTRIEB UND VERОNDERUNG
0. Diese Lizenz findet Anwendung auf jedes Programm oder eine andere Arbeit,
die den Hinweis des Copyright-Inhabers enthДlt, die Arbeit solle unter den
Vereinbarungen dieser General Public Licence vertrieben werden kФnnen. Im
folgenden steht der Begriff "Programm" fБr eine solche Arbeit, und eine "auf
dem Programm basierende Arbeit" steht entweder fБr das Programm selbst oder
eine abgeleitete Arbeit, die dem Copyright-Recht untersteht; damit ist jedwede
Arbeit gemeint, die das Programm ganz oder in Teilen enthДlt, gleichgБltig ob
unverДndert oder mit Оnderungen und/oder Ъbersetzungen in eine andere Sprache.
(Nachstehend wird die Ъbersetzung ohne weiteres im Begriff "VerДnderung"
erfaсt.) Jeder Lizenznehmer wird mit "Sie" angesprochen.
TДtigkeiten, die nicht die Kopie, den Vertrieb oder die Оnderung betreffen,
werden von dieser Lizenz nicht erfaсt: sie liegen auсerhalb des
Regelungsbereichs. Die TДtigkeit, ein Programm zu starten, wird nicht
beschrДnkt, und die Ausgabe eines Programms wird nur dann erfaсt, wenn diese
Ausgabe als eine "auf dem Programm basierende Arbeit" aufzufassen ist
(unabhДngig davon, ob sie darauf beruht, daс das Programm gestartet wurde). Ob
dies zutrifft, hДngt von der TДtigkeit des Programmes ab.
1. Sie dБrfen unverДnderte Kopien des Quelltextes des Programms auf jeglichem
Medium kopieren und vertreiben, so wie Sie sie erhalten haben, unter der
Bedingung, daс Sie mit jeder Kopie einen deutlich sichtbaren, angemessenen
Copyright-Hinweis sowie einen Hinweis auf den Haftungsausschluс verФffentlichen
sowie alle bestehenden Hinweise intakt halten, die auf diese Lizenz und auf die
fehlende GewДhrleistung hinweisen, und schlieсlich allen anderen EmpfДngern
eine Kopie dieser Lizenz mit dem Programm zukommen lassen.
Sie dБrfen fБr den physikalischen Vorgang der Ъbertragung der Kopie ein Entgelt
erheben, und Sie dБrfen nach Ihrer Wahl gegen ein Entgelt selbst GewДhrleistung
anbieten.
2. Sie dБrfen Ihre Kopie oder Kopien des Programms oder von Teilen desselben
Дndern, womit Sie eine "auf dem Programm basierende Arbeit" erstellen, und
solche Оnderungen unter den Bedingungen der Sektion 1 kopieren und vertreiben,
wenn Sie zusДtzlich alle folgenden Bedingungen erfБllen:
a) Sie mБssen den geДnderten Dateien deutliche Hinweise hinzufБgen, daс
Sie diese Dateien geДndert haben, zusammen mit dem Datum einer jeden
VerДnderung.
b) Sie mБssen sicherstellen, daс jegliche Arbeit, die Sie vertreiben oder
verФffentlichen und die als ganzes oder in Teilen das Programm enthДlt
oder darauf oder Teilen davon basiert, als ganze unentgeltlich allen
Dritten unter dieser Lizenzvereinbarung zur VerfБgung steht.
c) Wenn das verДnderte Program Бblicherweise interaktiv Kommandos
entgegennimmt, wДhrend es lДuft, mБssen Sie dafБr Sorge tragen, daс es,
wenn es fБr solchen interaktiven Betrieb in der Бblichen Weise gestartet
wird, eine Nachricht ausdruckt oder anzeigt, die einen angemessenen
Copyright-Hinweis enthДlt sowie einen Hinweis, daс es keine
GewДhrleistung gibt (oder daс Sie, wenn dies zutrifft, eine solche
GewДhrleistung anbieten) und daс Benutzer das Programm unter diesen
Bedingungen weitervertreiben kФnnen, und schlieсlich einen Hinweis, wie
diese Lizenz eingesehen werden kann. (Ausnahme: wenn das Programm selbst
zwar als interaktiv anzusehen ist, aber normalerweise solche Hinweise
nicht Бblich sind, ist Ihre auf dem Programm basierende Arbeit zu einem
solchen Hinweis nicht verpflichtet.)
Diese Bedingungen gelten fБr die verДnderte Arbeit als ganzes. Wenn
abgrenzbare Teile dieser Arbeit nicht vom Programm abgeleitet sind und
vernБnftigerweise als unabhДngige und getrennte Arbeit angesehen werden
kФnnen, dann betreffen diese Lizenz und ihre Bestimmungen diese Teile nicht,
wenn Sie sie als getrennte Arbeiten vertreiben. Wenn Sie jedoch diese Teile
als Teile eines Ganzen vertreiben, das als auf dem Programm basierende Arbeit
anzusehen ist, dann muс der Vertrieb des Ganzen nach den Bedingungen dieser
Lizenz erfolgen, deren Rechte zugunsten anderer Lizenznehmer dann in bezug auf
jeden einzelnen Teil des Ganzen gelten, unabhДngig davon, wer ihn geschrieben
hat.
Es ist folglich nicht die Absicht dieses Abschnittes, fБr Arbeiten, die
ausschlieсlich Sie geschaffen haben, neue Rechte geltend zu machen oder Ihre
Rechte zu beschneiden; statt dessen dient dieser Abschnitt dazu, den Vertrieb
abgeleiteter oder zusammengesetzter Arbeiten, die auf dem Programm basieren,
BeschrДnkungen zu unterwerfen.
Auсerdem fallen andere Arbeiten, die nicht auf dem Programm basieren, nicht
schon dadurch unter diese Lizenz, daс sie lediglich mit dem Programm (oder
einer Arbeit, die darauf basiert) auf einem Speichermedium oder
Vertriebsmedium zusammengestellt werden.
3. Sie dБrfen das Programm (oder eine Arbeit, die im Sinne von Abschnitt 2
darauf basiert) in Objektcode oder ausfБhrbarer Form unter den Bedingungen der
Abschnitte 1 und 2 kopieren und vertreiben, unter der Bedingungen, daс Sie
auсerdem eine der folgenden Bedingung erfБllen:
a) FБgen Sie den vollstДndigen, maschinenlesbaren Quelltext bei, der
unter den Bedingungen von Abschnitt 1 und 2 auf einem Medium, das
Бblicherweise fБr den Austausch von Software verwendet wird, vertrieben
werden muс; oder
b) FБgen Sie ein schriftliches, fБr mindestes drei Jahre gБltiges Angebot
bei, daс Sie jeglichen Dritten fБr eine GebБhr, die Ihre Kosten fБr den
physischen Vertrieb der Quelltexte nicht Бbersteigen darf, den
vollstДndigen, maschinenlesbaren Quelltext kopieren werden, was nach den
Bedingungen der Abschnitte 1 und 2 auf einem Medium, das Бblicherweise
fБr den Austausch von Software verwendet wird, erfolgen muс; oder
c) FБgen Sie den Verweis auf ein solches Angebot bei, Quelltexte zu
vertreiben, so wie Sie dieses selbst erhalten haben. (Diese Alternative
gilt nur fБr nicht-kommerzielle Distribution und nur, wenn Sie das
Programm in Objektcode oder ausfБhrbarer Form mit einem solchen Angebot
erhalten haben, wie in Unterabschnitt b dargestellt.)
Der Quelltext einer Arbeit ist als diejenige Form der Arbeit zu verstehen, die
es erlaubt, Оnderungen vorzunehmen. FБr ein ausfБhrbares Programm bedeutet der
vollstДndige Quelltext den gesamten Quelltext fБr alle Module, die das
Programm enthДlt, einschlieсlich aller Dateien fБr Schnittstellendefinitionen
sowie der Skripte, die die Kompilierung und Installation steuern. Als
spezielle Ausnahme muс der Quelltext nicht dasjenige enthalten, was (entweder
in Form des Quelltextes oder als ausfБhrbare Dateien) Бblicherweise mit den
wesentlichen Bestandteilen (Compiler, Kernel usw.) des Betriebssystems
vertrieben wird, auf dem das ausfБhrbare Programm lДuft, es sei denn, dieser
Bestandteil liegt selbst der ausfБhrbaren Datei bei.
Wenn der Vertrieb der ausfБhrbaren Dateien oder des Objektcodes dadurch
gewДhrleistet wird, daс das Kopieren per Zugriff auf einen bestimmten Ort
ermФglicht wird, dann gilt das Angebot vergleichbaren Zugriffs fБr das
Kopieren des Quelltextes vom selben Ort auch dann als Vertrieb des
Quelltextes, wenn Dritte nicht gezwungen sind, die Quelltexte mit dem
Objektcode zu kopieren.
4. Sie dБrfen das Programm nicht anders, als ausdrБcklich in dieser Lizenz
festgelegt ist, kopieren, Дndern, unterlizenzieren oder vertreiben. Jeder
Versuch, das Programm andersartig zu kopieren, zu Дndern, unterzulizenzieren
oder zu vertreiben, ist nichtig und fБhrt automatisch dazu, daс Sie Ihre
Rechte aus dieser Lizenz verlieren. Jedoch verlieren andere Dritte, die von
Ihnen Kopien oder Rechte unter dieser Lizenz erlangt haben, so lange ihre
Rechte nicht, wie sie sich selbst in Entsprechung dieser Lizenz verhalten.
5. Sie sind nicht verpflichtet, diese Lizenz anzunehmen, weil Sie sie nicht
unterschrieben haben. Jedoch gibt es nichts anderes, was Ihnen die Erlaubnis
gibt, das Programm oder darauf basierende Arbeiten zu verДndern oder zu
vertreiben. Diese TДtigkeiten sind gesetzlich verboten, wenn Sie diese Lizenz
nicht annehmen. Wenn Sie folglich das Programm (oder jegliche Arbeit, die
darauf basiert) verДndern oder vertreiben, erklДren Sie konkludent Ihre
Annahme dieser Lizenz und all ihrer Bestimmungen und Bedingungen fБr die
Kopie, den Vertrieb und die Оnderung des Programms oder der Arbeiten, die
darauf basieren.
6. Jedes Mal, wenn Sie das Programm weitervertreiben (oder eine Arbeit, die
darauf basiert), erhДlt der EmpfДnger automatisch eine Lizenz von dem
ursprБnglichen Lizenzgeber, das Programm unter diesen Bedingungen zu kopieren,
zu vertreiben oder zu Дndern. Sie dБrfen dem EmpfДnger keine zusДtzlichen
BeschrДnkungen der hierdurch gewДhrleisteten Rechte auferlegen. Sie sind fБr
die Einhaltung dieser Lizenz durch Dritte nicht verantwortlich.
7. Wenn Ihnen aus einer Gerichtsentscheidung oder der Anschuldigung einer
Patentverletzung oder aus irgendeinem anderen Grund (der nicht auf
Patentfragen beruhen muс) zusДtzliche Bedingungen auferlegt werden (entweder
durch Gerichtsentscheidung, Vertrag oder anderweitig), die den Bedingungen
dieser Lizenz widersprechen, befreit Sie dies nicht von den Bedingungen dieser
Lizenz. Wenn Sie den Vertrieb nicht so vornehmen kФnnen, daс er zugleich
sowohl den Bedingungen dieser Lizenz als auch den anderen Bedingungen
entspricht, dБrfen Sie als Konsequenz das Programm nicht vertreiben. Wenn es
Ihnen beispielsweise eine Patentlizenz nicht erlaubt, daс das Programm von
denjenigen Dritten, die es direkt oder indirekt von Ihnen erhalten haben,
kostenlos weitervertrieben wird, dann wДre die einzige MФglichkeit, daс Sie
beide Lizenzen erfБllen, daс Sie das Programm Бberhaupt nicht vertreiben.
Sollte sich irgendeine Teilbestimmung dieses Abschnittes aus irgendeinem
Grunde als ungБltig oder nicht durchsetzbar erweisen, so ist statt dessen der
Sinn der Gesamtheit dieses Abschnittes anzuwenden, und der Abschnitt ist als
ganzes unter den geДnderten UmstДnden anwendbar zu machen.
Es ist nicht das Ziel dieses Abschnittes, Sie zur Verletzung von
Patentbestimmungen oder anderer Rechte zu verleiten oder die GБltigkeit
solcher Rechte anzuzweifeln; dieser Abschnitt hat den alleinigen Zweck, die
IntegritДt des Vertriebssystems fБr freie Software aufrechtzuerhalten, die
durch Public Lincenses gewДhrleistet wird. Viele haben groсzБgige BetrДge zu
der durch dieses System gewДhrleisteten freien Software gemacht, und sie
hДngen von der einheitlichen Anwendung dieses Systems ab; es ist allein die
Aufgabe des Autors bzw. des Beitragenden zu entscheiden, ob er oder sie
Software in Verwendung eines anderen Systems vertreiben mФchte, und ein
Lizenznehmer kann diese Entscheidung nicht Бbernehmen.
Dieser Abschnitt soll ausreichend deutlich machen, was die Konsequenzen der
Бbrigen Teile dieser Lizenz sein sollen.
8. Sollte der Vertrieb und/oder die Benutzung des Programms in bestimmten
LДndern durch Patente oder geschБtzte Schnittstellen beschrДnkt sein, so darf
der ursprБngliche Copyright-Inhaber, der das Programm unter diese Lizenz
stellt, eine ausdrБckliche geographische BeschrДnkung hinzufБgen, die solche
LДnder ausschlieсt, so daс der Vertrieb nur in oder zwischen den LДndern
erlaubt ist, die nicht derart ausgeschlossen sind. In diesem Falle enthДlt die
Lizenzvereinbarung diese BeschrДnkung, als wДre sie in diesem Text der Lizenz
selbst enthalten.
9. Die Free Software Foundation kann von Zeit zu Zeit Бberarbeitete oder neue
Versionen der General Public Licence verФffentlichen. Solche neuen Versionen
werden in der Zielsetzung der aktuellen Version Дhnlich sein, kФnnen sich aber
im Detail unterscheiden, um neue Probleme zu behandeln.
Jeder Version wird eine eindeutige Versionsnummer gegeben. Wenn das Programm
eine Versionsnummer der Lizenz angibt, unter der es stehen soll, und daс
"jegliche zukБnftige Version" ("any later version") ebenfalls gelten soll,
haben Sie die Wahl, ob Sie den Bestimmungen der angegebenen oder denjenigen
irgendeiner spДteren Version folgen wollen. Wenn das Programm keine
Versionsnummer angibt, kФnnen Sie irgendeine Version wДhlen, die jemals von
der Free Software Foundation verФffentlicht wurde.
10. Wenn Sie Teile des Programms in ein anderes Programm einfБgen mФchten,
dessen Vertriebsbedingungen sich unterscheiden, schreiben Sie an den Autor, um
eine Einwilligung zu erhalten. FБr Software, die unter dem Copyright der Free
Software Foundation steht, schreiben Sie an die Free Software Foundation;
manchmal machen wir Ausnahmen in solchen FДllen. Unsere Entscheidung wird
dabei von zwei Zielen bestimmt: einerseits den "freien" Zustand aller von
unserer Software abgeleiteten Sofware zu erhalten und andererseits die
allgemeine Weitergabe und VerfБgbarkeit von Software zu fФrdern.
KEINE HAFTUNG
11. WEIL DAS PROGRAMM UNENTGELTLICH LIZENZIERT WIRD, GIBT ES KEINE HAFTUNG FЪR
DAS PROGRAMM, SOWEIT ES DAS JEWEILS ANWENDBARE RECHT ZULОсT. WENN NICHT ANDERS
SCHRIFTLICH ANGEGEBEN, STELLEN DIE COPYRIGHT-INHABER UND/ODER ANDERE PARTEIEN
DAS PROGRAMM "WIE BESEHEN" ("AS IS") ZUR VERFЪGUNG, OHNE GARANTIE IRGENDEINER
ART, WEDER EXPLIZIT ODER IMPLIZIT, EINSCHLIEсLICH, ABER NICHT BESCHRОNKT AUF,
DIE IMPLIZITE GARANTIE DER MARKTFОHIGKEIT UND BENUTZBARKEIT FЪR EINEN
BESTIMMTEN ZWECK. DIE GEFAHR DER BENUTZUNG IN BEZUG AUF DIE QUALITОT UND
LEISTUNG DES PROGRAMMS LIEGT ALLEIN BEI IHNEN. SOLLTE SICH DAS PROGRAMM ALS
FEHLERHAFT ERWEISEN, NEHMEN SIE SELBST DIE KOSTEN ALLER NOTWENDIGEN MAсNAHMEN
ZUR PFLEGE, REPARATUR ODER BESEITIGUNG AUF SICH.
12. IN KEINEM FALLE (ES SEI DENN, DAS DAS JEWEILS ANWENDBARE RECHT DIES
ERFORDERT ODER WENN SCHRIFTLICH ZUGESICHERT) IST JEGLICHER COPYRIGHT-INHABER
ODER IRGENDEINE ANDERE PERSON, DIE DAS PROGRAMM UNTER DEN OBIGEN BESTIMMUNGEN
VERОNDERT UND/ODER WEITERVERTREIBT, FЪR IHRE SCHОDEN HAFTBAR, EINSCHLIEсLICH
ALLGEMEINER, BESONDERER, ZUFОLLIGER ODER KAUSALER SCHОDEN, DIE SICH AUS DER
BENUTZUNG ODER DER NICHTBENUTZBARKEIT DES PROGRAMMS ERGEBEN (EINSCHLIEсLICH,
ABER NICHT BESCHRОNKT AUF, DATENVERLUST ODER UNBENUTZBARKEIT VON DATEN, DIE
VON IHNEN ODER DRITTEN UNTERHALTEN WERDEN, ODER DIE BENUTZBARKEIT DES
PROGRAMMS IN VERBINDUNG MIT ANDEREN PROGRAMMEN); DIES GILT AUCH DANN, WENN
WENN EIN SOLCHER INHABER ODER EINE DRITTE PERSON AUF DIE MЩGLICHKEIT SOLCHER
SCHОDEN HINGEWIESEN WURDE.
ENDE DER VEREINBARUNGEN UND BEDINGUNGEN
Appendix: Wie Sie diese Bedingungen auf Ihre neuen Programme anwenden kФnnen
Wenn Sie ein neues Programm entwickeln und mФchten, daс es der Щffentlichkeit
von grФсtem Nutzen ist, empfehlen wir, es zu "freier Software" zu machen, die
jedermann unter den obigen Bedingungen weitervertreiben und Дndern darf.
Dazu fБgen Sie dem Programm die nachstehenden Bemerkungen an. Es ist am
sichersten, diese Hinweise am Anfang jeder Quelltextdatei einzufБgen, um den
Haftungsausschluс offensichtlich zu machen; auсerdem sollte jede
Quelltextdatei wenigstens die "Copyright"-Zeile sowie einen Verweis auf den
vollen Hinweis enthalten.
<eine Zeile mit dem Programmnamen und einer kurzen Funktionsbeschreibung>
Copyright (C) 19yy <Name des Autors>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
FБgen Sie auсerdem Informationen hinzu, wie Sie per E-Mail und Sackpost zu
erreichen sind.
Wenn das Programm interaktiv ist, sorgen Sie fБr einen kleinen Hinweis wie den
folgenden, wenn es im interaktiven Modus gestartet wird:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
Die hypothetischen Kommandos "show w" und "show c" sollten die entsprechenden
Teilabschnitte der General Public Licence anzeigen. NatБrlich kФnnen diese
Kommandos auch anders heiсen, und sie kФnnen auch Mausklicks oder MenБpunkte
sein -- was immer zu Ihrem Programm paсt.
Wenn Sie als Programmierer arbeiten, sollten Sie Ihren Arbeitgeber oder Ihre
Bildungseinrichtung dazu bringen, einen "Copyright-Ausschluс" fБr das Programm
zu unterzeichnen, wenn nФtig. Hier ist ein Beispiel (Дndern Sie die Namen):
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
Diese General Public Licence erlaubt es nicht, Ihr Programm in proprietДre
Programme einzufБgen. Wenn Ihr Programm eine Unterprogramm-Bibliothek ist,
kann es sinnvoller sein, daс Sie es proprietДren Anwendungen erlauben, mit
Ihrer Bibliothek verbunden zu werden ("linking"). In diesem Falle sollten Sie
statt dieser Lizenz die GNU Library General Public Licence verwenden.
═══ 2.3. Kontakt -- Kommentare und VorschlДge ═══
Ulrich MФller
e-mail: ulrich.moeller@rz.hu-berlin.de
www: http://www2.rz.hu-berlin.de/~h0444vnd/os2_d.htm
Die oben bezeichnete WWW-Adresse trДgt auch immer die neueste Фffentliche
Version von XFolder (sowie deren Quellcode) und anderer Software, wie zB. des
"OS/2 CommandPak", welches Ihre Kommandozeile erheblich verbessert.
Bitte lesen Sie sich die Seite "Frequently Asked Questions" durch, bevor Sie
sich mit mir in Verbindung setzen; vielleicht finden Sie Ihre LФsung schon
dort.
Auсerdem pflege ich jetzt eine Фffentliche Bug-Liste auf der XFolder-Heimseite.
Wichtiger Hinweis: Ich werde ab jetzt nicht mehr auf Mails antworten, die
Probleme betreffen, die bereits an den oben genannten Stellen aufgefБhrt sind.
XFolder ist inzwischen einfach zu beliebt, und ich verbringe die HДlfte der
Zeit damit, Leuten zu antworten, die zu faul sind, die Dokumentation zu lesen.
Tut mir leid.
Fehler melden:
Wenn Sie mich trotzdem benachrichtigen wollen, entweder weil Sie glauben, einen
neuen Fehler gefunden zu haben oder vielleicht gar eine LФsung (was immer sehr
willkommen ist), bitte fБgen Sie die folgenden Informationen bei:
Beschreiben Sie bitte die Situation, in der der Fehler aufgetreten ist,
und ob er reproduzierbar ist.
Nennen Sie mir die OS/2-Version, mit der Sie arbeiten (Warp 3 oder 4, und
ggf. Fixpaks, die Sie installiert haben).
Nennen Sie mir alle weitere WPS-Software, die auf Ihrem System lДuft.
Sehen Sie bitte in das Hauptverzeichnis Ihres OS/2-Startlaufwerks, ob
sich dort eine Datei namens "XFLDTRAP.LOG" befindet; wenn ja, schicken
Sie sie bitte mit Ihrer Mail mit.
Wenn Sie Probleme mit dem Erweiterten Systemabschluс oder "WPS
neustarten" haben, schalten Sie bitte zunДchst die automatische
Protokolldatei auf der Seite "XDesktop" im Einstellungsnotizbuch der
ArbeitsoberflДche ein. Dies erzeugt eine Datei "XSHUTDWN.LOG" im selben
Verzeichnis, die Sie mir bitte ebenfalls mitschicken.
Wenn Sie Programmierer sind, werfen Sie einen Blick auf den Quellcode.
Vielleicht kФnnen Sie den Fehler selbst finden.
ΓòÉΓòÉΓòÉ 2.4. Thank You's ΓòÉΓòÉΓòÉ
Well, there are a lot of people to thank. XFolder is a fairly young piece of
software, but still so many people have sent in remarks and supported me. You
are too many to be mentioned here separately. If you don't find your name in
this list, please feel addressed with this global thank you! Without all this
support, XFolder wouldn't be where it is today.
XFolder is free software. Some people have paid me in naturals anyways:
Glauco Ippolitoni, Italy, for the Win95 keyboard
Mark Mellin, USA, for IBM VisualAge C++ 3.0
I thank the following people for actively contributing to XFolder by sending
in code or doing translations:
ARAKAWA Atsushi, Japan, for filling in the APM power-off code, Japanese
NLS, and finding bugs
Duane A. Chamblee for supplying the BOOTMGR.CMD code
Dominik Czechowski and Artur Flinta, Poland, for Polish NLS
Christopher Faulhammer, Germany, for translating the "XFolder Internals"
pages in the documentation to German
Tomas Hajny, Czech Republic, for Czech NLS and finding lots of little
mistakes in the sources
Henk Kelder, Netherlands, developer of a whole buch of valuable OS/2
utilities and uncrowned guru of OS/2 Extended Attributes, for code and
help on WPS INI entries and EAs; check his homepage for his software
Roger Lindmark and Simon GrФnlund, Sweden, for Swedish NLS, finding a lot
of mistakes in the documentation, and other useful hints
The following capable programmers have created software which helped me a lot:
Dennis Bareis, Australia, for his amazing PMPRINTF package. XFolder
wouldn't exist without it. Check out http://www.ozemail.com.au/~dbareis/,
where you'll also find tons of other developer's stuff.
Klaus Staedtler, Germany, for maintaining all the CONFIG.SYS information
Andrew Pavel Zabolotny for his very valuable HTML2IPF tool, with which I
created this online documentation. (I hate IPF.) He is also the developer
of lxLite. (No WWW address for this.)
The development team of GIMP for Linux the most impressive graphics
package available, and to those capable people who have made the OS/2
version. This is what I've created most graphics with.
The following people deserve a special thank you for reporting me problems and
incompatibilities and giving useful hints for future versions (in alphabetical
order):
Carsten Arnold, Germany, for finding bugs in the source code
Harvey Braun, Australia, for first detecting an embarassingly obvious
installation bug
John Buckley, UK, for the WPDrives suggestion and a better NEWOBJ.CMD
James "Lithium" Church for the templates idea, submitting Kris Kwilas'
OS/2 wishlist, and testing for the hotkey bugs
Yuri Dario, Italy, for sending me all that Win95 keys information
Bjorn Fahler, Sweden, writer at EDM/2, for lots of technical tips and his
very helpful programming columns
Christian Gaarden, Denmark (I believe), for useful suggestions
Diane Gardner, USA, for her very favorable reviews of XFolder in the Land
of Beyond, useful suggestions and detailed bug reports
Reinhard Giesen, Germany, for useful suggestions
Marcus de Geus, Netherlands, for useful suggestions for the Netscape DDE
Interface
Jens Glathe, Germany, for technical information and you-know-what
Torsten Balle Koefoed, Denmark, for detecting incompatibilities, bugs,
and making useful suggestions
Gerhard Hahn, Austria, for the Clipboard suggestion
Jim Hruska, USA (I believe), for detecting incompatibilities
Kris Kwilas for his very thoughtful OS/2 wishlist about what needs to be
improved with OS/2
Martin Lafaix, France, for finding errors and detailed tips and
suggestions about menus, notebooks, and other things
Hauke Laging, Germany, for detecting incompatibilities, making LOTS of
suggestions, his OS/2 initiatives and bragging about his computer
Christian Langanke, Germany: developer of "Animated Mouse Pointers for
OS/2", the famous WPS enhancer (check his homepage) for comprehensive
suggestions, technical tips, and continuing support
Andreas Ludwig, Germany, for supplying many WPS class descriptions
Macarlo, Brazil, benedictine monk and system analyst, for inspiring
correspondence
Eric Norman, Montana, USA, for finding bugs in the subfolder handling and
"Snap to grid"
Andrea Penna, Italy, for supplying the SmartSuite / NetscDDE trick.
Michael Reinsch, Germany, for lots of detailed bug reports
Larry Salomon, Jr., USA (I guess), writer at EDM/2, for lots of helpful
articles about PM programming
Andrea Scagni, Italy, for detailed bug reports
Ralph Scharpf, Germany, for the video driver hints
Bernd Schemmer, Germany, for detecting incompatibilies and for his
fabulous "Rexx Tips & Tricks" INF book
Trevor Smith, former editor-in-chief of OS/2 e-zine, for support and the
configurable reboot idea (they now also have a review of XFolder in
volume 3 issue 7)
Thomas Unverzagt, Germany, for the "full path in title" idea
Rich Walsh, USA, author of "Rwx" and "DragText", for help on some SOM
internals
Steve Wendt, USA, for advertising for XFolder on his valuable "OS/2
Wishlist" page and for useful suggestions
Chris Wright of OS/2 e-zine for pointing out potential problems with the
GPL and for considering my point of view
Stefan Zechmeister, Germany, for figuring out how to get Object Desktop
2.0 to work
ΓòÉΓòÉΓòÉ 2.5. Credits ΓòÉΓòÉΓòÉ
XFolder contains original or modified code developed by the following people
(in alphabetical order):
ARAKAWA Atsushi, Japan (arakaw@ibm.net): porting APM power-off code for
XFolder
John Buckley, UK: better NEWOBJ.CMD for XFolder
Monte Copeland, IBM: exception handling (1993)
Chris Hanson, MIT, USA: Extended Attributes handling (1995) (EALIB.ZIP at
Hobbes)
Henk Kelder, Netherlands: OS2.INI/OS2SYS.INI WPS entries and WPS EAs
handling (1998)
Gilles Kohl: C string handling routines (1992)
Ekkehard Kraemer, Germany: hard drive detection found at
http://zebra.asta.fh-weingarten.de/os2/Snippets/Howt6364.HTML
Dan Libby: PM container helper function found at
http://zebra.asta.fh-weingarten.de/os2/Snippets/Isdr8319.HTML (1996)
Kai Uwe Rommel, Germany: DosQProcStatus handling code (1992-94) (PROC.ZIP
at Hobbes)
Roman Stangl, Austria: rebooting OS/2, taken from EDM/2 vol. 5, issue 9;
his APM/2 code (from apm2v14.zip at Hobbes); exception handling code from
Program Commander/2
Mark Stern, Belgium: C string handling routines (1993)
Uri J. Stern, USA (?): killing the tasklist window
(http://zebra.asta.fh-weingarten.de/os2/Snippets/Howt8881.HTML)
plus parts of the code samples from IBM's OS/2 Warp 3 Developer's Toolkit. If
XFolder should contain any more bugs, they're probably from there. ;-)
If anybody thinks that I have forgotten him or her, this is not intentional.
Drop me a note and I'll add you to this page.
The information about the CONFIG.SYS settings is mostly based on the OS/2
command reference and on the descriptions in the CNFGINFO package available at
Hobbes.
Most of the information about the WPS classes is also taken from the OS/2 Warp
3 Developer's Toolkit, some of it I've found out myself.
ΓòÉΓòÉΓòÉ 2.6. Warenzeichen ΓòÉΓòÉΓòÉ
Die folgenden Begriffe sind in gewissen LДndern Warenzeichen der IBM
Corporation:
C-Set/2
IBM
Operating System/2
OS/2
OS/2 Warp
Presentation Manager
SOM
System Object Model
VisualAge
WarpCenter
Workplace Shell
Open Source ist nun ein "Registered Certification Mark" von "Software in the
Public Interest". Lesen Sie www.opensource.org fБr Details.
Netscape und Netscape Navigator sind Warenzeichen der Netscape Communications
Corporation.
Namen anderer Firmen, Produkte oder Dienste kФnnen Warenzeichen Dritter sein.
Sie sind nicht besonders bezeichnet.
Die ErwДhnung eines bestimmten Produktes bezeichnet keine Verbindung oder
Bevorzugung von seiten Ulrich MФllers.
═══ 3. EinfБhrung -- hier beginnen ═══
Willkommen!
Ъberblick
Warum OpenSource?
Request for help
ΓòÉΓòÉΓòÉ 3.1. Willkommen bei XFolder! ΓòÉΓòÉΓòÉ
Willkommen bei XFolder!
XFolder wurde geschrieben, um der ArbeitsoberflДche einige Funktionen zu
verleihen, die ich immer vermiсt habe.
Meiner Meinung nach ist die ArbeitsoberflДche (Workplace Shell, WPS) immer noch
das eine Merkmal, was OS/2 gegenБber anderen Betriebssystemen hervorstehen
lДсt. WДhrend andere Betriebssysteme (vor allem Linux) inzwischen eine ebenso
groсe, wenn nicht grФсere StabilitДt erreicht haben, gibt es doch nichts, was
in puncto ProduktivitДt, Konfigurierbarkeit und Бberlegener Konzeption der WPS
das Wasser reichen kФnnte.
Jedoch ist IBM -- auch seit dem letzten Update durch OS/2 Warp 4 -- bei einigen
Dingen nach wie vor auf halber Strecke stehengeblieben:
Das OS/2-Konzept der Schablonen ist zwar sehr leistungsfДhig, aber es ist
nicht sehr praktisch, immer neue Objekte aus dem Schablonenordner ziehen
zu mБssen (vor allem, da dieser ewig lange braucht, bis alle Objekte
angezeigt werden). Auch wenn Windows 95 ansonsten ein schlimmes
Betriebssystem ist, haben doch die Ordner dort eine Funktion, die sehr
praktisch ist: man kann VerknБpfungen in das Verzeichnis
"\Windows\ShellNew" stellen, und diese kФnnen dann von allen Ordnern aus
neu erstellt werden.
Das ansonsten hervorragend implementierte objektorientierte Konzept der
WPS wird gerade bei KontextmenБs nicht durchgehalten. Es gibt keine
Funktion, um global fБr alle Objekte MenБs zu Дndern.
Das gleiche gilt fБr das Sortieren von Ordnern.
OS/2 hat traditionell kein VerhДltnis zu Tastenkombinationen.
Der OS/2-Systemabschluс ist zwar sinnvoll, kann jedoch nicht abgebrochen
oder konfiguriert werden.
An vielerlei Stellen klemmt die WPS in Sachen ProduktivitДt, weil man
bestimmte Aktionen immer wieder nacheinander ausfБhren muс. Dazu gehФrt,
daс man jedesmal, wenn man ein neues Objekt erstellt hat, anschlieсend
den Titel Дndern muс, daс man sich, um einen Ordner immer zu sortieren,
durch achtzehn MenБseiten quДlen muс, und daс sich Strukturanzeigen von
Ordnern fast immer auсerhalb des sichtbaren Ordnerfensters ausklappen.
Na ja, und Ordner-Statuszeilen wДren auch eine praktische Sache, ohne daс
man Zusatzprogramme laden muс, die das System langsamer machen.
XFolder lФst diese Probleme, indem eine Reihe von WPS-Klassen ersetzt werden.
Unter anderem ersetzt XFolder die WPS-Ordner-Klasse ("WPFolder"), um die
vielen neuen Funktionen zur VerfБgung zu stellen, die in dieser
Online-Referenz beschrieben werden.
Die ersten Versionen von XFolder haben sich "nur" mit den KontextmenБs
beschДftigt; inzwischen hat sich XFolder zu einer Art erweiterter
Serienausstattung fБr die ArbeitsoberflДche entwickelt, um die genannten
Probleme zu beseitigen. Dazu war es erforderlich, inzwischen eine ganze Reihe
von WPS-Klassen zu ersetzen. Jedoch sollten diese Ersetzungen fБr Sie
vollkommen transparent sein: Sie sehen nur die neuen Funktionen und mБssen
sich nicht mit irgendwelchen WPS-Interna beschДftigen.
XFolder enthДlt genau die Funktionen, die mir beim tДglichen Arbeiten mit OS/2
gefehlt haben; ich hoffe, daс XFolder Ihnen genauso nБtzlich erscheint.
XFolders Ziel ist nicht primДr, andere beliebte WPS-Programme zu ersetzen. Er
wurde geschrieben, um LБcken zu fБllen, nicht um anderen Freeware-Programmen
Konkurrenz zu machen. Es kann allerdings sein, daс Sie in XFolder Funktionen
entdecken, die anderweitig nur in Shareware- oder kommerziellen Programmen zu
bekommen sind, weil ich der festen Meinung bin, daс OS/2 mehr
Freeware-Programme benФtigt. Dies macht schlieсlich auch die Linux-Szene so
lebendig.
═══ 3.2. Ъberblick ═══
XFolder erweitert Ihre ArbeitsoberflДche unter anderem durch die folgenden
neuen Funktionen:
1. Neue Standard-KontextmenБpunkte fБr Ordner und Datendateien, wie zB.
schnelle Ordnereinstellungen, "Nach Namen auswДhlen", "Auf Raster
setzen", "Dateienamen kopieren" etc.
2. Objekte erzeugen aus KontextmenБs.
3. Ordner-KontextmenБs sind frei konfigurierbar, indem man einfach Objekte
in einen bestimmten Konfigurationsordner stellt.
4. Anzeige des Ordnerinhalts in KontextmenБs, um schneller an Objekte
heranzukommen, ohne einen Ordner Фffnen zu mБssen.
5. Anzeige des vollen Ordnerpfades in der Titelzeile von Ordnern.
6. Die hБbschesten und flexibelsten Ordner-Statuszeilen in dieser Galaxis.
;-)
7. Erweiterte Ordnersortierfunktionen: zusДtzliche Sortierkriterien und
systemweite Sortiereinstellungen.
8. Funktion, um Strukturanzeigen automatisch zu rollen.
9. Schnelles Щffnen von Ordnern beim WPS-Start.
10. Ordner-TastenkБrzel fБr hДufig benutzte Ordner-/Dateioperationen.
11. Ersetzbare Systemsymbole fБr die hДufigsten Objekttypen.
12. "WPS neustarten"-Funktion, die nicht die WPS ruiniert.
13. Erweiterter Systemabschluс mit vielerlei nБtzlichen Erweiterungen:
automatischer Systemneustart mit BootManager-UnterstБtzung ("nach Linux
booten"), AbbruchmФglichkeit, hДngende Programme kФnnen Бbersprungen
werden.
14. Neue Systemstart-/Systemabschluс-Ordner.
15. Benutzerfreundliche WPS-Klassenliste fБr Klassenmanipulationen.
16. "OS/2 Kernel"-Objekt fБr CONFIG.SYS-Einstellungen.
Hinweis: Einige Funktionen sind standardmДсig deaktiviert, um
StabilitДtsprobleme schon nach der XFolder-Installation zu vermeiden. Diese
Funktionen sind:
der Erweiterte Systemabschluс; dieser kann auf einer neuen Seite im
Einstellungsnotizbuch der ArbeitsoberflДche angeschaltet werden;
Ordner-Statuszeilen; diese finden sich auf der Seite "Statuszeilen" im
neuen Objekt "Workplace Shell";
die erweiterten Sortierfunktionen; diese finden sich auf der Seite
"Sortieren" im Objekt "Workplace Shell";
die Anzeige von Symbolen in den "Ordnerinhalt"-MenБs; diese finden sich
auf der Seite "KontextmenБs" im Objekt "Workplace Shell".
ΓòÉΓòÉΓòÉ 3.3. Why OpenSource? ΓòÉΓòÉΓòÉ
Seit V0.80 steht XFolder unter der GNU General Public Licence (GPL).
Die GPL ist eine allgemeine Lizenzvereinbarung, die von der Free Software
Foundation entwickelt wurde, um die Rechte von Programmierern zu schБtzen, die
den Quelltext ihrer Software verФffentlichen mФchten. Die GPL wird hДufig bei
Software des GNU-Projektes benutzt und ist vor allem durch den zunehmenden
Erfolg von Linux bekannt geworden, dessen grФсerer Teil unter der GPL steht.
Wenn Sie sich fБr Details von OpenSource-Lizenzmodellen interessieren und mehr
darБber erfahren wollen, warum ich denke, daс alle OS/2-Freeware-Entwickler
ihre Quelltexte verФffentlichen sollten (am besten unter einer
OpenSource-Lizenz), empfehle ich Ihnen meinen Artikel in OS/2 e-Zine, vol. 4
no. 4 (http://www.os2ezine.com/v4n4/open.htm).
Weitere interessante Texte finden sich hier:
"The Cathedral and the Bazaar"
von Eric S. Raymond. Wahrscheinlich einer der einfluсreichsten
Internet-Artikel, die je geschrieben wurden. Dieser Artikel
Бberzeugte Netscape, die Quelltexte von Mozilla zu verФffentlichen.
"The Bazaar and the Other Bazaar" and "GNU's Not Linux"
von Chris Wright; beide finden sich in OS/2 e-Zine! vol. 4 no. 1
(www.os2ezine.com/v4n1/).
www.opensource.org,
das neue Web-Zentrum fБr Informationen und FФrderung von OpenSource.
Hier finden sich auch die "Halloween Documents", die von Eric S.
Raymond kommentiert wurden. Ich empfehle dringend, dies zu lesen.
"OS/2 Headquarters"
von Tom Nadeau. Hier gibt's die Serie "Learning from Linux", eine
weitere kommentierte Version der "Halloween Documents", die sich auf
OS/2 bezieht.
GNU's Not Unix!
Heimseite des GNU-Projekts und der Free Software Foundation mit
vielen Artikeln.
ΓòÉΓòÉΓòÉ 3.4. Request For Help ΓòÉΓòÉΓòÉ
If you like XFolder and would like to contribute to it, your support will be
very welcome. XFolder is slowly beginning to become too complex to be handled
by one person all alone.
You don't have to be a programmer to help. I'd appreciate any support in the
following areas:
Translations. XFolder is designed to be translateable in a fairly easy
way. All language-dependent parts have been separated from the actual
"intelligence" of the program into separate files, which can be
translated independently.
If you're interested in translating XFolder to your language, you can
simply download the XFolder sources from my homepage, which contain
everything neccessary for this. You don't have to be a programmer to do
this, but it would be of great help if you have a basic knowledge of
HTML, since both XFolder's Online Reference and the help file were
originally written in HTML and then simply converted to the IBM format,
which I dislike very much.
In this case, please contact me, so I can add you to my mailing list to
allow you to get news about changes in time.
If you're a programmer and have some experience in PM and/or WPS
programming, please contact me also. I have great plans for XFolder's
future and would like to turn it into more of an "XWorkplace" package to
overcome the most obvious WPS limitations which exist today. Since
there's little hope that IBM will do anything about this, I believe the
OS/2 community needs to do it themselves. The following major things are
on my to-do list (I am not listing the "little" features that I'll add
myself soon):
1. WPS file handling. This needs some serious reworking. I cannot
believe that the WPS hangs every other time one copies more than a
dozen files. File handling is the main task of an operating system's
shell, and the current implementation needs at least the following
enhancements: thread-safety, speed, proper progress bars when
copying, a "Cancel" button that's not always disabled, more
meaningful error messages etc.pp. This will require all of the WPS
file-handling methods to be reworked (wpCopy, wpMove etc.).
2. Populating folders. One of the reasons that the WPS has become so
much slower in Warp 4 is that the WPS now seems to create object
handles for every single file while populating a folder, which
wasn't the case with Warp 3. Object handles are a thoughtful
mechanism which is neccessary for program objects and shadows, but
they should only be created when neccessary. I suspect this
misbehavior is situated in wpPopulate, which therefore needs some
rework too.
3. Icon handling. Drag'n'drop in the WPS always causes icons to be
arranged in a fairly random way. This should be improved.
4. WPProgram. I have never understood why there's an object for global
DOS/Win-OS/2 settings if the program objects don't respect the
settings there. We need support for global settings and also global
and individual environment variables in program objects so that
CONFIG.SYS does not always have to be modified.
5. WarpCenter. That thing is instable, slow, and does not conform very
well with the rest of the WPS. This should be completely
reprogrammed. Since XFolder already has code for those "folder
content" menus, this shouldn't be too hard to to.
6. Multi-user support. The WPS is already designed to support multiple
users thru the use of multiple OS2.INI files and Desktop
hierarchies, so I cannot quite understand why IBM is not
implementing this. XFolder could do this; I am thinking of replacing
the PROTSHELL and/or RUNWORKPLACE statements in CONFIG.SYS with some
XFolder executable, which will then start PMSHELL.EXE with a bunch
of preset environment variables, most importantly OS2.INI settings
and a UNIX-like HOME environment variable to support multiple
configurations for applications in a "home" directory for each user.
XFolder should then offer a context menu item to "logoff" or
something.
7. OS/2 also needs to be able to restart Presentation Manager somehow
without having to reboot, for example to change display resolutions.
The current solution is a joke. If you have any ideas about this,
especially how to terminate and restart PM without blocking the
system, please contact me.
So if you're interested in adding any of these features to XFolder (or if
you have other suggestions), you'd be very welcome to join the project!
Any help is appreciated.
ΓòÉΓòÉΓòÉ 4. Installation ΓòÉΓòÉΓòÉ
Bitte wДhlen Sie eines der folgenden Themen:
1. Erfordernisse
2. KompatibilitДt mit anderer Software
3. Installation
4. Deinstallation -- wie man XFolder loswird
5. AufrБsten von einer frБheren XFolder-Version
6. SprachenunterstБtzung installieren
ΓòÉΓòÉΓòÉ 4.1. Erfordernisse ΓòÉΓòÉΓòÉ
XFolder benФtigt mindestens OS/2 Warp 3. Es funktioniert NICHT auf frБheren
Versionen, da bestimmte API-Funktionen benutzt werden, die auf OS/2 2.x und
frБher nicht vorhanden sind.
Ich habe XFolder selbst mit den folgenden System getestet (alles deutsche
Versionen):
OS/2 Warp 3, Fixpak 31
OS/2 Warp 4 ohne Fixpaks
OS/2 Warp 4, Fixpak 5
Hinweis: Mir wurde berichtet, daс die XFolder-Installation unter Warp 3,
Fixpak 32 fehlschlДgt. Sie sollten in diesem Falle also ein neueres Fixpak
aufspielen.
ΓòÉΓòÉΓòÉ 4.2. Installation ΓòÉΓòÉΓòÉ
Bevor Sie XFolder installieren, lesen Sie bitte die Seite "KompatibilitДt mit
anderer Software" im Anhang dieser Referenz.
1. Entpacken Sie das XFolder-Paket in einem Verzeichnis Ihrer Wahl, wo die
XFolder-Dateien verbleiben sollen.
Dieses Verzeichnis muс NICHT auf ihrem PATH oder LIBPATH liegen. Sie
haben die freie Wahl.
Hinweis: Benutzen Sie kein Verzeichnis, das Leerzeichen in seinem Pfad
enthДlt, wie zB. "D:\WPS enhancers\XFolder", oder die Installation wird
scheitern.
2. Entpacken Sie das deutsche NLS-Paket in das gleiche Verzeichnis. Dies
sollte automatisch die nФtigen Dateien in die entsprechenden
Unterverzeichnisse stellen, also zB. XFLDR049.DLL in das
/BIN-Unterverzeichnis.
3. Starten Sie INSTALL.CMD durch Doppelklick oder indem Sie "install" an der
Befehlszeile eingeben. Geben Sie anschlieсend "049" fБr die deutsche
Installation ein. Dieses Programm registriert NUR die XFolder-Klassen (in
XFLDR.DLL) bei der ArbeitsoberflДche und kopiert KEINE Dateien.
4. Das Installationsprogramm bietet Ihnen an, die WPS neuzustarten. Dies
erspart Ihnen einen Neustart des gesamten Systems, weil nur der
WPS-Prozeс neu gestartet wird. Sie kФnnen auch wДhlen, den Neustart
selbst auszufБhren. Nach einem dieser beiden wird die ArbeitsoberflДche
die XFolder-Klassen erkannt haben.
Beachten Sie, daс nach dem Neustart die Datei XFLDR.DLL von der
ArbeitsoberflДche blockiert ist. Sie kФnnen also das Xfolder-Verzeichnis
anschlieсend nicht mehr verschieben. Also sollten Sie, bevor Sie
INSTALL.CMD starten, ein passendes Verzeichnis erstellt haben (Schritt
1).
Das ist alles!
Nach einem Neustart erstellt XFolder automatisch einen
Standard-Konfigurationsordner. Wenn Sie die Standardkonfiguration
wiederherstellen mФchten, so kФnnen Sie einfach Ihren bestehenden
Konfigurationsordner lФschen. XFolder wird sich beschweren, sobald Sie die
rechte Maustaste drБcken, und eine neue Standardkonfiguration erstellen.
XFolder Дndert weder die CONFIG.SYS, noch werden irgendwelche Dateien in
OS/2-Systemverzeichnisse kopiert. Alles, was XFolder braucht, liegt in seinem
eigenen Verzeichnis. XFolder benФtigt allein einige SchlБssel in der OS2.INI,
die entfernt werden, wenn Sie XFolder deinstallieren.
ΓòÉΓòÉΓòÉ 4.3. Deinstallation ΓòÉΓòÉΓòÉ
Starten Sie einfach INSTALL.CMD erneut. Wenn Sie gefragt werden, was Sie tun
mФchten, wДhlen Sie "Deregistrieren".
Nach einem Neustart wird wieder alles wie vorher sein. Sie kФnnen dann das
XFolder-Verzeichnis lФschen, wenn Sie mФchten.
Wenn Sie XFolder entfernen mФchten, weil es fБr Sie nicht nБtzlich ist, so ist
dies in Ordnung. Wenn Sie jedoch das GefБhl haben, daс etwas nicht richtig
funktioniert, so benachrichtigen Sie mich bitte, so daс ich XFolder verbessern
kann.
═══ 4.4. AufrБsten von einer frБheren XFolder-Version ═══
Im Prinzip mБssen Sie einfach INSTALL.CMD benutzen, wie es unter "Installation"
beschrieben ist.
Es gibt jedoch einige zusДtzliche Dinge, die Sie beim AufrБsten beachten
sollten:
1. Weil die ArbeitsoberflДche die Datei XFLDR.DLL blockiert hДlt, packen Sie
die neue Version nicht in das Verzeichnis der alten Version aus, denn
diese Datei kann nicht Бberschrieben werden.
Erstellen Sie statt dessen ein NEUES Verzeichnis ihrer Wahl (zB.
"XFolderNeu"). Aus diesem Verzeichnis kФnnen Sie nun das neue INSTALL.CMD
starten, welches automatisch die alte XFolder-Version deregistriert.
Alternativ kФnnen Sie auch die alte XFolder-Version deinstallieren und
die WPS neustarten. Dies sollte die Blockierung der XFolder-Dateien
aufheben. Danach kopieren Sie die neuen Dateien in das alte
XFolder-Verzeichnis und installieren die neue Version.
2. Nach einem Neustart der WPS kФnnen Sie das alte XFolder-Verzeichnis
(nicht den Konfigurationsordner) lФschen.
Wichtige Hinweise: Weil sich einige Funktionen mit jeder XFolder-Version
Дndern, kФnnen sich beim AufrБsten einige Probleme ergeben.
1. Seien Sie nicht Бberrascht, daс seit V0.60 die Option
"Standard-Konfiguration wiederherstellen" aus dem Installationsprogramm
entfernt wurde. XFolder bearbeitet diese Funktion nun selbst; wenn Sie
die Standards wiederherstellen mФchten, lФschen Sie einfach Ihren
Konfigurationsordner, und XFolder wird Ihnen anbieten, ihn
wiederherzustellen.
2. Seit XFolder V0.50 befinden sich die Globalen Einstellungen im
OS/2-System-Objekt. Das frБher vorhandene Program "XFolder Global
Settings" (XFSETUP.EXE) hat keinerlei Auswirkungen auf die Einstellungen
dieser Version. Sie kФnnen es zwar starten, aber XFolder wird dadurch
nicht beeinfluсt.
3. Weil sich das Format der internen Einstellungen mehrfach geДndert hat,
gehen Ihre frБheren Einstellungen leider verloren, wenn Sie aufrБsten.
4. Mit XFolder V0.30 wurde die Behandlung von Programmobjekten geДndert,
indem der Name des Ordners als Parameter an das gestartete Programm
geschickt wird.
Falls Sie also von V0.21 aufrБsten und Ihre Programme plФtzlich
Fehlermeldungen liefern, stellen Sie ein zusДtzliches "%"-Zeichen in die
Parameterliste des Programmobjekts im Konfigurationsordner. Siehe auch
"Programmobjekte" fБr Details.
Falls Sie weitere unerwartete Dinge bemerken, schauen Sie auch in die
"Versionsgeschichte", wo Sie alle Оnderungen an XFolder aufgelistet finden.
═══ 4.5. SprachenunterstБtzung installieren ═══
Seit V0.52 kann XFolder andere Sprachen als nur Englisch unterstБtzen.
(Endlich.) Das Standardpaket enthДlt seit XFolder V0.82 nur noch die
SprachenunterstБtzung fБr Englisch.
FБr andere Sprachen als English benФtigen Sie jedoch ein "XFolder National
Language Support (NLS)"-Paket. Ein solches Paket enthДlt eine Reihe von
zusДtzlichen Dateien, ua. eine neue dynamische Linkbibliothek (DLL) fБr XFolder
selbst, eine neue Hilfedatei (.HLP) und eine neue Online-Referenz (.INF). Jede
dieser Dateien trДgt einen dreistelligen Landes-Code in ihrem Namen, wie sie in
der OS/2-Online-Referenz definiert sind (Englisch ist zB. 001, Deutsch 049).
Schauen Sie auf meine Heimseite, um die verfБgbaren NLS-Pakete zu bekommen.
Um ein NLS-Paket zu installieren, nachdem Sie das Hauptpaket bereits
installiert haben, fБhren Sie die folgenden Schritte aus:
Packen Sie das NLS-Paket aus und stellen Sie die Dateien in die
entsprechenden Unterverzeichnisse des
XFolder-Installationsverzeichnisses.
Щffnen Sie nun die Seite "XFolder-Interna" im Objekt "Workplace Shell":
diese Seite befindet sich hinter der ersten XFolder-Seite.
Im Feld "Sprache" sollte sich die neue Sprache befinden. WДhlen Sie die
neue Sprache aus, woraufhin das Objekt "Workplace Shell" geschlossen wird
und sich die Sprache Дndert.
Ich habe -- auсer dieser deutschen Version -- nicht viel Einfluс auf neue
NLS-Pakete. Wenn Sie Interesse haben, XFolder in Ihre Sprache zu Бbersetzen,
so benachrichtigen Sie mich bitte, und ich schicke Ihnen alles Notwendige, um
XFolder Бbersetzen zu kФnnen. Hierzu mБssen Sie kein Programmierer sein;
hilfreich wДre es allerdings, wenn Sie HTML schreiben kФnnten, weil die
meisten XFolder-Texte in diesem Format entstanden sind und dann schlicht ins
IBM-Format konvertiert wurden.
═══ 5. KontextmenБ-Funktionen ═══
Standarderweiterungen fБr KontextmenБs
Objekte erstellen mit XFolder
KontextmenБs konfigurieren
Zusatzfunktionen fБr Programmobjekte
Reihenfolge der MenБpunkte
Die "Ordnerinhalt"-Funktionen
"Nach Name auswДhlen"
"Auf Raster setzen"
"Dateinamen kopieren"
═══ 5.1. Standarderweiterungen fБr KontextmenБs ═══
XFolder ermФglicht es Ihnen, ganz frei neue MenБpunkte zu den KontextmenБs
aller Ordner auf einmal hinzuzufБgen.
Hier ist ein Abbild der Standard-XFolder-Konfiguration (welche von dem
Installationsprogramm erstellt wurde):
Sie sehen das gleiche KontextmenБ bei allen Ordnern auf Ihrem System. Wenn Sie
nun einen MenБpunkt auswДhlen, so wird XFolder die entsprechende Aktion just
fБr denjenigen Ordner ausfБhren, dessen KontextmenБ Sie ausgewДhlt haben.
Die Standard-Funktionen sind:
Das MenБ "Befehlszeilen" enthДlt MenБpunkte fБr OS/2- und
DOS-Befehlszeilen, jeweils im Fenster und im Vollbild. Wenn Sie einen
davon auswДhlen, so wird eine Befehlszeile gestartet, allerdings wird
sofort in das Verzeichnis des Ordners gewechselt, dessen KontextmenБ Sie
benutzt haben. Auf diese Weise mБssen Sie sich nicht mit "cd" durch die
ganzen Verzeichnisse hangeln, um fБr einen bestimmten Ordner Kommandos
auszufБhren.
Das MenБ "Neu erstellen" enthДlt Objekte, um schnell bestimmte Objekte in
dem Ordner erstellen zu kФnnen, dessen KontextmenБ Sie benutzt haben,
ohne daс Sie jedes Mal den Schablonenordner Фffnen mБssen.
Siehe hierzu "Objekte erstellen mit XFolder".
Das MenБ "Schnelleinstellungen" bietet einige praktische Einstellungen
fБr Ordner mit einem einzigen Mausklick, ohne jedesmal das
Einstellungsnotizbuch des Ordners Фffnen zu mБssen. Hier gibt es
Einstellungen fБr "Sortierfolge stets beibehalten", die SymbolgrФсe und
Дhnliches.
Das MenБ "XFolder" enthДlt MenБpunkte fБr diese Online-Referenz, den
XFolder-Konfigurationsordner und Дhnliches.
Der MenБpunkt "Netscape (DDE)" startet das Netscape DDE Interface und
lДсt Netscape gleich das Verzeichnis des Ordners anzeigen. (Dieser
MenБpunkt wurde nur installiert, wenn Netscape auf Ihrem System gefunden
wurde.) Das "Netscape DDE Interface" (NETSCDDE.EXE) ist im XFolder-Paket
enthalten und БberprБft, ob Netscape bereits lДuft; in diesem Fall wird
die aktive Instanz benutzt, um den Ordner anzuzeigen, anstatt immer eine
neue Kopie zu starten. (Siehe "ZusДtzliche Dateien" fБr mehr.)
Der MenБpunkt "Platzverbrauch" ist neu mit XFolder V0.81 und zeigt Ihnen
den Platzverbrauch des aktuellen Ordners und seiner Unterordner auf der
Festplatte. HierfБr benutzt XFolder das externe TREESIZE.EXE, daс jetzt
ebenfalls im XFolder-Paket enthalten ist. (Siehe "ZusДtzliche Dateien"
fБr mehr.)
XFolder erlaubt es Ihnen, diese MenБpunkte vФllig frei zu definieren. Siehe
"KontextmenБs konfigurieren" fБr Details.
ΓòÉΓòÉΓòÉ 5.2. Objekte erstellen mit XFolder ΓòÉΓòÉΓòÉ
In der Standardkonfiguration enthДlt das "Neu erstellen"-MenБ mehrere Punkte,
um WPS-Objekte zu erstellen. Wenn Sie einen dieser MenБpunkte auswДhlen,
erstellt XFolder ein entsprechendes neues Objekt in dem Ordner, dessen
KontextmenБ Sie benutzt haben.
StandardmДсig wird XFolder, wenn dieser Ordner bereits geФffnet ist, den Titel
des neuen Objektes editierbar machen, als hДtten Sie mit gedrБckter Alt-Taste
darauf geklickt:
Wenn Sie jedoch beim AuswДhlen des MenБpunktes die Umschalt-(Groсschreib-)Taste
gedrБckt gehalten haben, wird XFolder automatisch das Einstellungs-Notizbuch
des neuen Objektes Фffnen.
Sie kФnnen dieses Verhalten auf den "KontextmenБs"-Seiten im Objekt "Workplace
Shell" Дndern.
═══ 5.3. KontextmenБs konfigurieren ═══
Was XFolder von anderen Ordner-Tools unterscheidet ist die Tatsache, daс Sie
KontextmenБs FREI KONFIGURIEREN kФnnen, ohne den Rechner neu starten zu mБssen.
Dies geschieht mit der Hilfe eines separaten Konfigurationsordners, der
zunДchst ein normaler Ordner ist. Das Installationsskript hat ihn auf Ihre
ArbeitsoberflДche gestellt, aber Sie kФnnen Ihn irgendwohin verschieben, wo es
Ihnen paсt.
Alle Objekte, die Sie nun allerdings in diesen Konfigurationsordner stellen,
erscheinen sofort in den KontextmenБs aller Ordner auf Ihrem System.
Um dies ein wenig zu verdeutlichen, sei hier die Standard-Konfiguration
erlДutert:
Der Standard-Konfigurationsordner sieht folgendermaсen aus:
Offensichtlich korrespondieren die Ordner und Programmobjekte im
Konfigurationsordner genau mit den MenБeintrДgen im KontextmenБ.
Jedoch hДngt die Aktion, die XFolder ausfБhrt, wenn Sie einen MenБeintrag
auswДhlen, stark vom Typ des entsprechenden WPS-Objekts im Konfigurationsordner
ab. Sie mБssen hierfБr zwischen den folgenden Typen unterscheiden:
1. Programmobjekte werden gestartet, wenn der entsprechende MenБeintrag
ausgewДhlt wird. (TatsДchlich wird nicht das Programmobjekt gestartet,
sondern das Programm, daс im Einstellungsnotizbuch angegeben ist.)
So sind die vier "Befehlszeilen"-Objekte beinahe Kopien der Objekte, die
OS/2 selbst anbietet. Die Objekte im "Neu erstellen"-Ordner zeigen alle
auf ein kleines REXX-Skript im XFolder-Installationsverzeichnis, welches
Objekte erzeugen kann.
XFolder kann ein paar nБtzliche Tricks mit Programmobjekten anstellen.
Siehe hierzu "Zusatzfunktionen fБr Programmobjekte".
2. Ein anderer Ordner im Konfigurationsordner erzeugt ein UntermenБ im
KontextmenБ. In diesen "Unterordner" kФnnen Sie weitere Objekte und
Ordner stellen, so daс Sie eine ganze MenБ-Hierarchie erstellen kФnnen
(wie auch in der Standardkonfiguration zu sehen ist).
3. Eine Schablone oder eine Referenz auf eine Schablone bewirkt, daс bei der
Auswahl des entsprechenden MenБobjekts ein neues Objekt aus dieser
Schablone erzeugt wird, und zwar in dem Ordner, dessen KontextmenБ
benutzt wurde.
Beispiel: Wenn Sie auf Ihrem System eine Ordnerschablone erstellt haben,
die bestimmte Voreinstellungen fБr Schriftarten, Farben usw. enthДlt,
stellen Sie einfach eine Referenz hiervon in einen Konfigurationsordner,
und wenn Sie den entsprechenden MenБeintrag auswДhlen, wird ein neuer
Ordner mit diesen Einstellungen erzeugt -- als hДtten Sie das neue Objekt
von der Schablone in den Ordner gezogen.
Siehe auch "Objekte erstellen mit XFolder" fБr Details.
4. Alle anderen Objekte werden einfach geФffnet, wenn das entsprechende MenБ
ausgewДhlt wird. Dies schlieсt Referenzen von Programmobjekten,
Referenzen von Ordnern, "echte" Dateien, Referenzen von ihren usw. ein.
So kФnnen Sie zB. Referenzen Ihrer hДufig benutzten Daten-Dateien (zB.
eine " Erledigen-Liste") in die KontextmenБs stellen. Ein anderes
Beispiel ist die Referenz des OS/2-System-Notizbuchs im
"XFolder"-UntermenБ, mit dem Sie die globalen XFolder-Einstellungen
erreichen kФnnen.
5. Seit V0.50 kФnnen Sie MenБ-Trennstriche in ein MenБ einfБgen, indem Sie
ein Programmobjekt mit dem exakten Titel "---" (drei Striche) in einen
Konfigurationsordner stellen. Siehe hierzu "Zusatzfunktionen fБr
Programmobjekte".
Beachten Sie, daс ein "~"-Zeichen in einem Objekttitel bewirkt, daс der
folgende Buchstabe im MenБeintrag unterstrichen wird und als MenБ-TastenkБrzel
zur VerfБgung steht.
So simpel wie es aussieht, ist diese kombinierte Ordner-/Objekt-Methode extrem
leistungsfДhig. Sie kФnnen all Ihre Lieblingsprogramme, -schablonen und
-dateien in die KontextmenБs stellen, die sinnvollerweise von jedem
KontextmenБ aus erreichbar sein sollten.
Wenn Sie REXX programmieren kФnnen, geht's Ihnen noch besser: Sie kФnnen Ihre
eigenen Skripte schreiben, die die WPS manipulieren, von diesen dann
Programmobjekte erzeugen und diese in die Konfigurationsordner stellen. Siehe
hierzu die "Frequently Asked Questions"-Seite mit weiterfБhrenden
Informationen.
═══ 5.4. Zusatzfunktionen fБr Programmobjekte ═══
Auch wenn Sie alle Arten von Objekten in die Konfigurationsordner stellen
kФnnen, so wird doch die Benutzung von Programmobjekten empfohlen, um Programme
aus KontextmenБs zu starten. Ich meine hiermit "echte" Programmobjekte (im
Gegensatz zu Referenzen von Programmen oder anderen Programmobjekten).
Der Grund hierfБr ist der folgende: Immer wenn XFolder ein Programmobjekt aus
den Konfigurationsordnern startet (dh. wenn Sie den entsprechenden MenБpunkt in
einem KontextmenБ gewДhlt haben), kann es einige Tricks mit ihnen anstellen.
Diese Tricks werden im folgenden erlДutert:
1. Wenn das Arbeitsverzeichnis des Programmobjekts leer ist, so wird XFolder
vorБbergehend das Verzeichnis desjenigen Ordners hier einfБgen, dessen
KontextmenБ geФffnet wurde. Dies bedeutet, daс Sie das gleiche Programm
von allen KontextmenБs starten kФnnen, aber mit einem variablen
Arbeitsverzeichnis (nДmlich das des benutzen Ordners).
Nehmen wir erneut die Standard-Konfiguration: die vier Objekte fБr
Befehlszeilen haben leere Arbeitsverzeichnisse; genau deswegen kФnnen Sie
Befehlszeilen "in" dem Ordner starten, dessen KontextmenБ Sie benutzt
haben.
Wenn Sie dieses Verhalten nicht wБnschen, so geben Sie einfach in einem
Programmobjekt ein Arbeitsverzeichnis an (zB. "C:\"), und XFolder lДсt
das Objekt in Ruhe. Statt dessen wird dieses Arbeitsverzeichnis benutzt.
2. Wenn die Parameterliste des Programmobjektes nicht mit einem
Prozentzeichen ("%") endet, so wird das Verzeichnis des Ordners als
Parameter an die Parameterliste angehДngt.
Dies wird von dem "Netscape"-MenБpunkt der Standardkonfiguration benutzt:
auf diese Weise zeigt Netscape nach dem Start den Inhalt des Ordners an,
von dem es (er? sie?) gestartet wurde.
Sie kФnnen diese Funktion in den Globalen Einstellungen komplett
abschalten.
Wenn Sie dieses Verhalten nur fБr einen bestimmten MenБpunkt deaktivieren
mФchten (weil nicht alle Programme Verzeichnisse als Parameter
akzeptieren), so fБgen Sie einfach ein "%" an die Parameterliste des
entsprechenden Programmobjektes an. XFolder wird dann das Verzeichnis
nicht anhДngen. Dies ist zB. bei den vier Befehlszeilen-Objekten der
Standardkonfiguration der Fall.
Beispiele: Ein alleinstehendes "%" in der Parameterliste schickt
Бberhaupt keine Parameter an das Programm; ein "text.txt %" schickt nur
"text.txt" (ohne Verzeichnis) als Parameter.
Mir ist bewuсt, daс diese Konfiguration vielleicht nicht sehr intuitiv
erscheint, aber ich habe sie auf diese Weise implementiert, um
KompatibilitДt mit der WPS zu wahren, die genauso arbeitet, wenn Sie
MenБpunkte Бber die "MenБ"-Seite in einem Einstellungsnotizbuch
hinzufБgen. Und es funktioniert eben auch mit Netscape.
3. Sie kФnnen den Inhalt der Zwischenablage in die Parameterliste aufnehmen,
indem Sie den Platzhalter "%**C" in die Parameterliste stellen. Dies kann
an beliebiger Stelle in der Parameterliste stehen; Groс- und
Kleinschreibung wird hier unterschieden ("%**c" funktioniert NICHT).
Beispiel: Pfad und Dateiname = "e.exe"; Parameter = "%**C" startet den
Systemeditor und interpretiert den Inhalt der Zwischenablage als
Dateinamen.
Beachten Sie, daс der Inhalt der Zwischenablage auf 260 Zeichen
abgeschnitten wird, so daс nicht versehentlich 64 KB an das Programm
gesendet werden.
4. Falls der Programmtitel ein "~"-Zeichen enthДlt (was Sie wahrscheinlich
eingefБgt haben, um ein MenБ-TastenkБrzel zu ermФglichen -- siehe die
vorige Seite), so wird XFolder dieses Zeichen beim Programmstart
vorБbergehend entfernen. Dieses Verhalten kФnnen Sie ebenfalls in den
Globalen Einstellungen abschalten, wo Sie auch weiterfБhrende Hilfe
hierzu erhalten.
5. Sie kФnnen jetzt (V0.51) auch einen MenБ-Trennstrich in ein MenБ
einfБgen, indem Sie einfach ein Programmobjekt mit dem Titel "---" (drei
Trennstriche) erstellen. Ein MenБtrennstrich erscheint als horizontale
Linie im MenБ, um verschiedene MenБpunkt-Gruppen optisch zu trennen. Ein
solches Programmobjekt hat dann keinerlei andere Funktion (dh. das hier
angegebene Programm wird ignoriert).
Hinweis: Falls Sie die (hervorragenden) WPTOOLS von Henk Kelder benutzen,
sollten Sie auch bei den Trennstrich-Objekten irgendein gБltiges Programm
eintragen, damit diese Objekte von CHECKINI nicht als fehlerhaft erkannt
werden. XFolder wird auch bei einem gБltigen Programm nur einen
Trennstrich eintragen.
Die Funktionen 1. bis 4. werden von XFolder verwirklicht, indem die
Einstellungen des Programmobjekts tatsДchlich fБr eine Zehntelsekunde geДndert
werden: zunДchst werden die Einstellungen geДndert, dann das Programmobjekt
geФffnet, und schlieсlich die Einstellungen auf die Originalwerte
zurБckgesetzt.
Beachten Sie, daс XFolder dies nur mit "echten" Programmobjekten in den
Konfigurationsordnern macht, nicht mit Referenzen, die auf andere
Programmobjekte zeigen. Ich habe nicht vor, diese BeschrДnkung aufzuheben,
weil ich nicht Programmobjekte Дndern mФchte, die auсerhalb der
Konfigurationsordner-Hierarchie auf Ihrer ArbeitsoberflДche liegen.
Folglich sollten Sie KOPIEN Ihrer Programmobjekte in die Konfigurationsordner
stellen, keine Referenzen. Noch einmal: Referenzen werden zwar auch geФffnet,
aber ohne die oben beschriebenen Tricks.
Siehe auch die "Frequently Asked Questions" -Seite fБr einige Hinweise zu
Programmobjekten.
═══ 5.5. Reihenfolge der MenБpunkte ═══
Seit V0.60 kФnnen Sie endlich die Reihenfolge der MenБpunkte innerhalb eines
KontextmenБs bzw. UntermenБs einfach festlegen. (Dies war frБher nur sehr
umstДndlich mФglich.)
Щffnen Sie hierzu einfach den XFolder-Konfigurationsordner bzw. einen seiner
Unterordner
in der Detailanzeige
oder in der Symbolanzeige, wobei Sie allerdings im Einstellungsnotizbuch
dieses Konfigurationsordners auf der Seite "Anzeige" entweder
"Einspaltig" oder "Mehrspaltig" aktiviert haben mБssen (schneller geht's
mit dem XFolder-UntermenБ "Kleine Symbole in Symbol- und
Strukturanzeige").
Wenn Sie nun mit der Maus (durch Ziehen und Ъbergeben) die Reihenfolge der
Objekte Дndern und anschlieсend den Konfigurationsordner schlieсen, werden Sie
sehen, daс sich die Reihenfolge der MenБpunkte entsprechend geДndert hat.
ΓòÉΓòÉΓòÉ 5.6. Die "Ordnerinhalt"-Funktionen ΓòÉΓòÉΓòÉ
Seit V0.70 bietet XFolder Ihnen an, den Inhalt bestimmter Ordner Бber die
KontextmenБs ansehen zu kФnnen, ohne diese Ordner Фffnen zu mБssen. Dies kann
sehr praktisch sein, wenn Sie eine bestimmte Datei aus einem Ordner Фffnen
mБssen, ohne sich durch ein Dutzend Ordner klicken zu wollen.
Hier ist ein Beispiel (das XFolder-Entwicklungsverzeichnis von der Festplatte
des Autors):
Wie Sie sehen kФnnen, wird der Inhalt des "XFolder"-Ordners angezeigt; die
Unter-Ordner in diesem Ordner fБhren zu weiteren UntermenБs.
Diese "Ordnerinhalt"-MenБs verhalten sich genau wie diejenigen des WarpCenters:
wenn Sie auf ein Element klicken, wird seine Standardanzeige geФffnet. Wenn Sie
auf ein Ordner-Element klicken, Фffnet sich ein weiteres UntermenБ mit dessen
Inhalt; wenn Sie mit der Maustaste 2 auf ein Ordner-Element klicken, wird
hingegen das Ordnerfenster geФffnet.
Die "Ordnerinhalt"-Funktionen werden in zwei verschiedenen Situationen
verwendet:
Zum einen kФnnen Sie bestimmen, daс der Inhalt desjenigen Ordners, dessen
KontextmenБ Sie geФffnet haben, in eben diesem KontextmenБ angezeigt
wird. Der entsprechende MenБpunkt heiсt dann (wie Бberraschend)
"Ordnerinhalt", was in dem obigen Bild zu sehen ist.
Diese Funktion lДсt sich auf den "KontextmenБ"-Seiten im neuen Objekt
"Workplace Shell" ein- und ausschalten.
Zweitens kФnnen Sie bestimmte Ordner zu Ihren "Lieblingsordnern"
erklДren. Dies geschieht Бber die Seite "XFolder" in jedem
Ordner-Einstellungsnotizbuch. Alle diese Lieblingsordner werden in allen
KontextmenБs angezeigt; Sie kФnnen zum Beispiel diese Funktion fБr die
ArbeitsoberflДche anschalten und dann die ArbeitsoberflДche und alle
Objekte, die in derer Hierarchie darunter liegen, von allen Ordnern aus
erreichen. (Dies funktioniert Бbrigens auch mit dem "Laufwerke"-Ordner.)
In dem obigen Bild ist der Ordner "frequent" ein Ordner auf meiner
ArbeitsoberflДche, in den ich Objekte stelle, die ich hДufig gebrauche.
Ich habe diesen Ordner zu meinem einzigen "Lieblingsordner" erklДrt, so
daс sich dessen Objekte in allen KontextmenБs wiederfinden.
═══ 5.7. "Nach Name auswДhlen" ═══
XFolder bietet Ihnen jetzt (0.70) auch die MФglichkeit, in einem Ordner
bestimmte Objekte nach einer von Ihnen angegebenen Dateispezifikation
auszuwДhlen.
Dazu benutzen Sie den MenpБpunkt "Nach Name auswДhlen", der sich unter Warp 3
im MenБ "AuswДhlen", bei Warp 4 im MenБ "Anzeigen" befindet.
Dann erscheint ein neues Dialogfenster, wo Sie eine typische Dateispezifikation
angeben kФnnen (zB. "*.txt") und dementsprechend Objekte aus- bzw. abwДhlen
kФnnen.
StandardmДсig definiert XFolder Strg+S als Ordner-TastenkБrzel fБr diese
Funktion.
ΓòÉΓòÉΓòÉ 5.8. "Auf Raster setzen" ΓòÉΓòÉΓòÉ
XFolder kann einen MenБpunkt "Auf Raster setzen" zu allen Ordner-KontextmenБs
hinzufБgen. Wenn Sie ihn auswДhlen, so "springen" alle Objekte in dem Ordner
auf ein unsichtbares Raster.
Diese Funktion ist ein wenig schwierig zu erlДutern; stellen Sie sich einen
Ordner vor, dessen Objekte ziemlich durcheinandergeraten sind: wie oft haben
Sie schon versucht, diese Objekte neben- oder untereinander anzuordnen?
Das MenБ "Anordnen" hilft hier nicht viel, weil es den gesamten Ordnerinhalt
neu anordnet. Stellen Sie sich nun ein unsichtbares, gleichmДсiges Raster Бber
den gesamten Ordnerhintergrund vor, welches die Symbole "anzieht", wenn Sie
"Auf Raster setzen" auswДhlen:
Der MenБpunkt "Auf Raster setzen" ist im OrdnerkontextmenБ nur unter den
folgenden Voraussetzungen sichtbar:
1. der Ordner muс geФffnet sein;
2. es muс die Symbolanzeige geФffnet sein, und zwar mit der Einstellung "Wie
plaziert" (der Standard fБr die meisten Ordner); der MenБpunkt ist nicht
sichtbar fБr Struktur- oder Detailanzeigen oder wenn Sie "Einspaltig"
oder "Mehrspaltig" fБr die Symbolanzeige ausgewДhlt haben;
3. der Ordner darf nicht die Einstellung "Sortierfolge stets beibehalten"
haben.
Sie kФnnen den Ursprung und den Abstand der Rasterlinien auf der Seite
"Raster" im neuen Objekt "Workplace Shell" festlegen.
Hinweis: Mit V0.81 hat sich das Verhalten dieser Funktion ein wenig geДndert.
StandardmДсig bewegt XFolder jetzt nur die momentan ausgewДhlten Objekte. Wenn
Sie jedoch die Umschalt-Taste gedrБckt halten, wДhrend Sie den MenБpunkt "Auf
Raster setzen" auswДhlen, werden alle Objekte bewegt (so wie frБher).
ΓòÉΓòÉΓòÉ 5.9. "Dateinamen kopieren" ΓòÉΓòÉΓòÉ
Seit V0.60 kann XFolder den Dateinamen einer jeden Datei von der
ArbeitsoberflДche aus in die Zwischenablage kopieren, indem Sie aus dem
KontextmenБ einer Datei "Dateinamen kopieren" auswДhlen. Beachten Sie, daс dies
fБr alle "echte" Dateien im Dateisystem gilt, also auch fБr Ordner, allerdings
nicht fБr abstrakte WPS-Objekte (Referenzen, Programmobjekte etc.), weil diese
eben keinen Dateinamen haben.
Wenn Sie "Dateinamen kopieren" auswДhlen, ohne dabei die Umschalttaste
(Groсschreibtaste) gedrБckt zu halten, kopiert XFolder nur den reinen
Dateinamen. Wenn Sie die Umschalttaste gedrБckt halten, wДhrend Sie "Dateinamen
kopieren" auswДhlen, kopiert XFolder den voll qualifizierten Dateinamen, dh.
den Laufwerksbuchstaben, den Pfad und den Dateinamen selbst.
Angenommen, der Ordner im obigen Bild liegt auf der ArbeitsoberflДche, so wБrde
"Dateinamen kopieren" die Zeichenkette "C:\ArbeitsoberflДche\Ordner" in die
Zwischenablage stellen, wenn Sie die Umschalttaste gedrБckt halten, ansonsten
lediglich "Ordner".
Dies funktioniert jetzt (V0.80) auch dann, wenn Sie mehr als ein Objekt im
Ordner ausgewДhlt haben. In diesem Fall werden die Dateinamen aller
ausgewДhlten Objekte in die Zwischenablage kopiert, abgetrennt durch
Leerzeichen.
XFolder definiert jetzt auch Strg+EinfБgen als Standard-Ordner-TastenkБrzel, um
die momentan ausgewДhlten Objekte in die Zwischenablage zu kopieren.
Sie kФnnen diese Funktion in den Globalen Einstellungen abschalten sowie die
TastenkБrzel dafБr neu definieren.
ΓòÉΓòÉΓòÉ 6. Ordner-Funktionen ΓòÉΓòÉΓòÉ
Voller Pfad in Ordnertiteln
Erweiterte Sortierfunktionen
Strukturanzeigen automatisch rollen
"Schnelles Щffnen" von Ordnern
Ordner-TastenkБrzel
Individuelle Einstellungen der ArbeitsoberflДche und Ordner
ΓòÉΓòÉΓòÉ 6.1. Voller Pfad in Ordnertiteln ΓòÉΓòÉΓòÉ
XFolder kann seit V0.40 den vollen Pfad des Ordners im Titel des geФffneten
Ordnerfensters anzeigen:
Sie kФnnen XFolder auch sagen, daс eine bestimmte Anzahl von Zeichen nicht
Бberschritten werden soll. XFolder schneidet dann die Anzeige wie folgt ab:
Sie kФnnen diese Funktion in den Globalen XFolder-Einstellungen konfigurieren.
ΓòÉΓòÉΓòÉ 6.2. Erweiterte Sortierfunktionen ΓòÉΓòÉΓòÉ
Seit V0.70 erweitert XFolder auch die Sortierfunktionen der ArbeitsoberflДche.
Wichtiger Hinweis: Die Sortiererweiterungen sind standardmДсig deaktiviert, um
Verwirrung zu vermeiden. Sie kФnnen sie auf der neuen Seite "Sortieren" in den
Globalen Einstellungen einschalten. Achtung: Wenn Sie die neuen
Sortierfunktionen einschalten, gehen nach und nach fБr alle Ordner, die von der
WPS aktiviert werden, die Einstellungen in bezug auf die
Standard-Sortierfunktionen der WPS verloren. Dies lДсt sich leider nicht
vermeiden, da IBM so gut wie gar nicht dokumentiert hat, wie die
Sortierfunktionen in der WPS eigentlich funktionieren. Sie mБssen also fБr
bestimmte Ordner die Sortierkriterien neu festlegen (dazu sogleich mehr).
Die neuen XFolder-Sortierfunktionen sind:
Endlich gibt es globale Sortiereinstellungen, die die WPS vorher nicht
kannte. Zwar gab es auch bisher schon eine Reihe von globalen
Ordnereinstellungen, aber bis jetzt eben nicht fБr das Sortieren, was
doch sehr stФrte. XFolder fБgt deswegen eine neue Seite "Sortieren" zum
Objekt "System" hinzu, auf der Sie die globalen Sortiereinstellungen
festlegen kФnnen, die wiederum fБr jeden Ordner Бbersteuert werden
kФnnen.
XFolder entfernt auch einige dieser seltsamen Einstellungen, die niemand
je verstanden, geschweige denn benutzt hat, wie zB. die "Sortierklasse".
(Diese Einstellung war schon deswegen sinnlos, weil WPFolder die einzige
Klasse ist, die sinnvolle Sortierkriterien kannte.)
Es gibt nun einen MenБpunkt im "Sortieren"-Kontext-UntermenБ, um die
Einstellung "Sortierfolge stets beibehalten" schnell zu aktivieren.
Sie kФnnen das Standard-Sortierkriterium schnell Дndern, indem Sie im
"Sortieren"-MenБ die "Umschalt"-(Groсschreib-)Taste gedrБckt halten,
wДhrend Sie ein Sortierkriterium auswДhlen.
Und vor allem verfБgt XFolder Бber drei neue Sortierkriterien, nДmlich
"Objektklasse", "Erweiterung" und "Ordner zuerst":
1. Die Funktion "Sortieren nach Objektklasse" sortiert einen Ordner
nach den jeweiligen Klassen der Objekte, wie sie in der dritten
Spalte einer Ordner-Detailanzeige sichtbar sind.
2. Die Funktion "Sortieren nach Erweiterung" sortiert den Ordnerinhalt
nach Dateinamen-Erweiterungen, also denjenigen Buchstaben, die nach
dem letzten Punkt im Ordnertitel erscheinen. So wБrden zB. die
Erweiterungen ".BMP" vor ".HTM" und dann ".HTML" und ".ICO"
sortiert. Wenn zwei Dateien die gleiche Erweiterung haben, werden
sie innerhalb dieser Erweiterung alphabetisch sortiert. Auch wenn
Dateinamenerweiterungen hauptsДchlich fБr Dateisystem-Objekte
sinnvoll sind, werden abstrakte Objekte ebenso behandelt.
3. Die Option "Sortieren, Ordner zuerst" sortiert den Ordner
alphabetisch, aber stellt alle Ordnerobjekte an den Anfang.
Referenzen von Ordnern werden hierbei wie normale Ordner behandelt.
StandardmДсig definiert XFolder das Ordner-TastenkБrzel Strg+E fБr das
Sortieren nach Erweiterung. Sie kФnnen in den Globalen Einstellungen auch ein
TastenkБrzel fБr die Funktion "Ordner zuerst" festlegen.
ΓòÉΓòÉΓòÉ 6.3. Strukturanzeigen automatisch rollen ΓòÉΓòÉΓòÉ
Seit V0.60 kann XFolder geФffnete Strukturanzeigen von Ordnern Бberwachen und
automatisch nach unten rollen, wenn dies nФtig ist.
Sie haben die folgende Situation wahrscheinlich schon oft erlebt: Sie mФchten
den Baum einer Ordner-Strukturanzeige erweitern, welcher sich am unteren Ende
des Orderfensters befindet.
Normalerweise, wenn Sie jetzt auf das "Plus"-Zeichen neben dem
"dll"-Verzeichnis klicken, wird sich der Baum erweitern, aber Sie kФnnen die
neuen Elemente nicht sehen. Dieses Standardverhalten von OS/2 ist wirklich
ermБdend, weil man beinahe jedes zweite Mal, wenn eine Strukturanzeige
aufgeklappt wird, anschlieсend manuell den Fensterinhalt verschieben muс, um
etwas sehen zu kФnnen.
XFolder wird nun automatisch das Fenster nach unten rollen, wenn die neu
erscheinenden Elemente anfangen, auсerhalb des momentan sichtbaren
Fensterbereichs zu erscheinen:
XFolder tut dies, indem es intern im Hintergrund die Strukturanzeige Бberwacht,
nachdem Sie auf das "Plus"-Zeichen geklickt haben, und, sobald die WPS mit dem
AuffБllen der Elemente fertig ist, automatisch nach unten rollt. Diese
"Ъberwachung" belastet Ihr System nicht zusДtzlich, weil XFolder intern nur
eine einzelne Fensternachricht abfangen muс. (Deswegen ist es auch vФllig
unverstДndlich, daс IBM diese Funktion nicht schon selbst eingebaut hat.)
XFolder wird dann das unterste neu eingefБgte Element sichtbar machen, es sei
denn, daс der Baum, den Sie gerade erweitert haben, zu viele Elemente enthДlt,
als daс sie alle in das Fenster passen wБrden. In diesem Fall verschiebt
XFolder den Fensterinhalt dergestalt, daс das Element, welches Sie gerade
erweitert haben, ganz oben in dem Fenster sichtbar wird.
Am besten, Sie probieren diese Funktion einfach selber aus... das
OS/2-Verzeichnis ist hierfБr ein guter Kandidat. Auch wenn dieses neue
Verhalten zunДchst vielleicht etwas irritierend ist, werden Sie es
wahrscheinlich nach einer Weile nicht mehr missen wollen.
Sie kФnnen diese Funktion trotzdem in den Globalen Einstellungen abstellen.
═══ 6.4. "Schnelles Щffnen" von Ordnern ═══
Seit V0.80 kann XFolder das Щffnen bestimmter Ordner beschleunigen, indem deren
Inhalt sofort nach dem Hochfahren der WPS eingelesen wird. Wenn Sie dann einen
dieser Ordner Фffnen, wird dessen Inhalt ohne groсe VerzФgerung dargestellt.
Um diese Funktionen fБr einen bestimmten Ordner zu aktivieren, Фffnen Sie
dessen Einstellungsnotizbuch und setzen Sie auf der Seite "XFolder" die
Einstellung "Schnelles Щffnen".
Nach dem nДchsten WPS-Start liest XFolder den Inhalt dieses Ordners sofort ein
und lДdt alle Symbole in diesem Ordner. Beachten Sie, daс XFolder dies nur
direkt nach dem Hochfahren der WPS tut, infolge dessen das Оndern der
Einstellung "Schnelles Щffnen" fБr den Ordner keine sofortigen Auswirkungen
hat.
AbhДngig davon, wie viele Ordner diese Einstellung aktiviert haben, kann das
Hochfahren der WPS sehr viel lДnger dauern. Das Einlesen der Symbole selbst
wird nicht schneller, sondern es wird nur der Zeitpunkt des Einlesens
verДndert.
═══ 6.5. Ordner-TastenkБrzel ═══
Seit V0.50 erlaubt XFolder TastenkБrzel (oder Hotkeys, wenn Sie Anglizismen
bevorzugen) innerhalb von Ordnern. Beachten Sie, daс diese KБrzel nur
funktionieren, wenn ein Ordner den Fokus hat. Sie funktionieren nicht, wenn
gerade ein anderes Fenster aktiv ist.
Alle nachstehenden Tastenkombinationen sind lediglich AbkБrzungen fБr bestimmte
KontextmenБ-Funktionen.
Die Standardkonfiguration definiert die folgenden Ordner-TastenkБrzel:
F5 aktualisiert den Ordnerinhalt sofort.
Strg+A wДhlt alle Objekte im Ordner aus.
Strg+D wДhlt alle Objekte im Ordner ab.
Strg+S ruft die Funktion "Nach Name auswДhlen" auf.
Strg+N sortiert den Ordnerinhalt nach Name.
Strg+Z sortiert den Ordnerinhalt nach DateigrФсe.
Strg+W sortiert den Ordnerinhalt nach Datum letzten Schreibens.
Strg+Y sortiert den Ordnerinhalt nach Dateityp.
Strg+E sortiert den Ordnerinhalt nach Dateinamen-Erweiterung.
Strg+Umschalter+D Фffnet eine Detailanzeige desselben Ordners.
Strg+Umschalter+I Фffnet eine Symbolanzeige desselben Ordners.
RБckschritt (Backspace) Фffnet den Stammordner (dh. den Ordner, in dem
der gerade aktive Ordner selbst liegt).
Umschalter+RБckschritt (Backspace) Фffnet ebenfalls den Stammordner,
schlieсt aber gleichzeitig den gerade aktiven Ordner.
Strg+Umschalter+S Фffnet das Einstellungsnotizbuch des aktuellen Ordners.
Strg+EinfБgen kopiert die Dateinamen der momentan ausgewДhlten Objekte in
die Zwischenablage.
Die bezeichneten TastenkБrzel sind Teil der XFolder-Standardkonfiguration. Sie
kФnnen jedoch die TastenkБrzel sehr frei in den Globalen Einstellungen neu
definieren. Es gibt dort mehr als 30 konfigurierbare Elemente, auch mit vielen
Funktionen von OS/2 Warp 4. DrБcken Sie den "Hilfe"-Knopf auf dieser
Einstellungsseite fБr Details.
═══ 6.6. Individuelle Einstellungen der ArbeitsoberflДche und Ordner ═══
WДhrend die Globalen Einstellungen alle Ordner auf einmal betreffen (daher der
Name), kФnnen einige Einstellungen auch individuell fБr jeden Ordner geДndert
werden.
Um dies zu ermФglichen, fБgt XFolder eine neue Notizbuchseite zu jedem
Ordner-Einstellungsnotizbuch hinzu, auf der Sie einige globale Einstellungen
Бbersteuern kФnnen. Dies bedeutet, daс die entsprechenden globalen
Einstellungen fБr einen Ordner keine Bedeutung mehr haben, wenn Sie sie
individuell Дndern.
ZusДtzlich fБgt XFolder eine weitere Notizbuchseite zur ArbeitsoberflДche
selbst hinzu, auf der Sie die MenБeintrДge der ArbeitsoberflДche sowie die
Funktionen "WPS neustarten" und Erweiterter Systemabschluс konfigurieren
kФnnen. Indem Sie den Knopf "Aktionen..." auf dieser Seite drБcken, kФnnen Sie
Ihre eigenen Neustart-Aktionen definieren.
All diese Einstellungen sind auf separaten Hilfeseiten grБndlich dokumentiert,
die Sie erreichen kФnnen, indem Sie auf den "Hilfe"-Knopf einer Notizbuchseite
drБcken.
ΓòÉΓòÉΓòÉ 7. Ordner-Statuszeilen ΓòÉΓòÉΓòÉ
EinfБhrung
ZusДtzliche Funktionen
Statusleisten konfigurieren
Gemeinsame SchlБssel fБr alle Modi
Gemeinsame SchlБssel fБr "Ein-Objekt-Modus"
ZusДtzliche SchlБssel fБr Dateisystem-Objekte
ZusДtzliche SchlБssel fБr DatentrДger-Objekte
ZusДtzliche SchlБssel fБr Programmobjekte
ZusДtzliche SchlБssel fБr URL-Objekte
ΓòÉΓòÉΓòÉ 7.1. Ordner-Statuszeilen ΓòÉΓòÉΓòÉ
Seit V0.70 bietet XFolder Ihnen die hБbschesten und flexibelsten Statusleisten,
die ich kenne. Diese lassen sich sehr frei auf der Seite "Statuszeilen" im
Objekt "Workplace Shell" object konfigurieren und kФnnen auсerdem individuell
fБr jeden Ordner an- und ausgeschaltet werden.
Hinweis: Ordner-Statuszeilen sind standardmДсig ausgeschaltet, um Probleme zu
vermeiden, falls Sie bereits Software haben, die Ordner-Statuszeilen zu Ordnern
hinzufБgt. Gehen Sie in die Globalen Einstellungen, um die XFolder-Statuszeilen
anzuschalten; stellen Sie dabei allerdings sicher, daс Sie die entsprechende
Funktion in Ihrer sonstigen Software vorher ausschalten, oder es kann zu
unvorhersehbaren Problemen kommen.
Statuszeilen arbeiten in drei Modi, dh. abhДngig davon, wie viele Objekte
momentan im Ordner ausgewДhlt sind, werden unterschiedliche Informationen
angezeigt:
"Kein-Objekt-Modus", dh. es ist gar kein Objekt ausgewДhlt: dies zeigt
standardmДсig die Gesamtzahl der Objekte im Ordner an.
"Ein-Objekt-Modus", dh. es ist genau ein Objekt ausgewДhlt: dies zeigt
standardmДсig Titel, Dateityp und DateigrФсe des Objekts an.
"Viele-Objekte-Modus", dh. es ist mehr als ein Objekt ausgewДhlt: dies
zeigt standardmДсig die Anzahl der ausgewДhlten Objekte, die Gesamtzahl
der Objekte im Ordner und die addierten DateigrФсen der ausgewДhlten
Objekte an (wie im obigen Bildschirmfoto).
FБr jeden dieser drei Modi kФnnen Sie Дndern, was in den Statuszeilen
angezeigt wird. Dies ist auf der Seite "Statuszeilen konfigurieren"
ausfБhrlich erlДutert.
═══ 7.2. ZusДtzliche Funktionen ═══
Das allgemeine Aussehen von Statuszeilen kann auf der ersten Seite
"Statuszeilen" im Objekt in the "Workplace Shell" eingestellt werden. Hier
kФnnen Sie zwischen vier verschiedenen Anzeigestilen umschalten; probieren Sie
einfach aus, welchen Sie am liebsten mФgen. Wenn Sie hier Einstellungen Дndern,
werden alle momentan sichtbaren Statuszeilen auf Ihrem System automatisch
aktualisiert.
Sie kФnnen auсerdem Schriftarten und Farben aus den entsprechenden Paletten im
Ordner "Systemkonfiguration" auf die Statuszeilen fallen lassen. Dann werden
ebenfalls alle Statuszeilen aktualisiert. Diese Einstellungen werden gesichert.
Wie immer, wenn Sie Farben fallenlassen, Дndern Sie die
Vordergrund-(Text-)Farbe, wenn Sie dabei die "Strg"-Taste gedrБckt halten;
ansonsten wird die Hintergrundfarbe geДndert.
Auсerdem gibt es zwei praktische Mausfunktionen fБr Statuszeilen:
1. Wenn Sie auf eine Statuszeile doppelklicken, wird das
Einstellungsnotizbuch des Ordners geФffnet. (Neu mit V0.84.)
2. Wenn Sie mit Maustaste 2 auf eine Statuszeile klicken, wird das
KontextmenБ des Ordners geФffnet.
ΓòÉΓòÉΓòÉ 7.3. Statuszeilen konfigurieren ΓòÉΓòÉΓòÉ
Seite 2 von "Statuszeilen" im Objekt "Workplace Shell" lДсt Sie im Detail
einstellen, was in den Statuszeilen angezeigt wird.
Wie bereits in der EinfБhrung zu Statuszeilen erlДutert, zeigen Statuszeilen
unterschiedliche Informationen an, je nachdem ob kein Objekt, genau ein Objekt
oder mehrere Objekte im Ordner ausgewДhlt sind.
FБr jeden dieser drei Modi kФnnen Sie bestimmen, was angezeigt wird. XFolder
benutzt bestimmte (nicht besonders intuitive, aber flexible) SchlБssel fБr
bestimmte variable Informationen.
Щffnen Sie am besten die Einstellungsseite fБr Statuszeilen und halten Sie
gleichzeitig einen Ordner geФffnet, um die Auswirkungen Ihrer Einstellungen
sehen zu kФnnen, wДhrend Sie mit den Einstellungen experimentieren.
Alle numerischen Anzeigen werden gemДс Ihren Einstellungen im Objekt "Land" im
Systemkonfigurationsorder formatiert, dh. XFolder benutzt diese Einstellungen,
um das Tausender-Trennzeichen fБr Werte grФсer als 1000 und das Ausgabeformat
fБr Datum und Uhrzeit festzustellen.
Die SchlБssel, die von den Statuszeilen Бbersetzt werden, unterscheiden sich,
je nachdem, in welchem Modus die Statuszeile sich gerade befindet:
Gemeinsame SchlБssel fБr alle drei Modi stehen auf dieser Seite.
Im Modus "Ein einzelnes Objekt ausgewДhlt" kann XFolder jetzt (V0.80)
unterschiedliche Informationen anzeigen, je nachdem, zu welcher
Objektklasse ein Objekt gehФrt. Bestimmte Objektklassen wurden um die
FДhigkeit erweitert, Statuszeilen-Informationen zur VerfБgung zu stellen
und die nachstehenden SchlБssel zu Бbersetzen.
Auf der Statuszeilen-Einstellungsseite gibt es einen Knopf, mit dem Sie
die WPS-Klasse auswДhlen kФnnen, fБr die Sie Statuszeilen-Informationen
im "Ein-Objekt-Modus" festlegen mФchten.
Momentan unterstБtzen fБnf Klassen Statuszeilen-Informationen: WPObject,
WPFileSystem, WPDisk, WPProgram und (unter Warp 4) WPUrl.
Beachten Sie, daс die folgenden SchlБssen alle zusДtzlich zu den
SchlБsseln unterstБtzt werden, die fБr alle Modi gelten:
- Gemeinsame SchlБssel fБr alle Objekte im "Ein-Objekt-Modus" stehen
auf dieser Seite.
- ZusДtzliche SchlБssel fБr Dateisystem-Objekte im "Ein-Objekt-Modus"
stehen auf dieser Seite.
- ZusДtzliche SchlБssel fБr DatentrДger-Objekte im "Ein-Objekt-Modus"
stehen auf dieser Seite.
- ZusДtzliche SchlБssel fБr Programmobjekte im "Ein-Objekt-Modus"
stehen auf dieser Seite.
- ZusДtzliche SchlБssel fБr URL-Objekte im "Ein-Objekt-Modus" stehen
auf dieser Seite.
═══ 7.4. Gemeinsame SchlБssel fБr alle Modi ═══
Die folgenden SchlБssel funktionieren in allen drei Modi:
$c
Anzahl der momentan ausgewДhlten Objekte
$C
Gesamtzahl der Objekte im Ordner
$sb
GesamtgrФсe der ausgewДhlten Objekte in Bytes
$sk
GesamtgrФсe der ausgewДhlten Objekte in kBytes, dh. Bytes / 1000
$sK
GesamtgrФсe der ausgewДhlten Objekte in KBytes, dh. Bytes / 1024
$sm
GesamtgrФсe der ausgewДhlten Objekte in mBytes, dh. Bytes / 1000000
$sM
GesamtgrФсe der ausgewДhlten Objekte in MBytes, dh. Bytes / 1048576
$Sb
GesamtgrФсe des Ordnerinhaltes in Bytes
$Sk
GesamtgrФсe des Ordnerinhaltes in kBytes, dh. Bytes / 1000
$SK
GesamtgrФсe des Ordnerinhaltes in KBytes, dh. Bytes / 1024
$Sm
GesamtgrФсe des Ordnerinhaltes in mBytes, dh. Bytes / 1000000
$SM
GesamtgrФсe des Ordnerinhaltes in MBytes, dh. Bytes / 1048576
$fb
freier Speicherplatz auf Laufwerk in Bytes
$fk
freier Speicherplatz auf Laufwerk in kBytes, dh. Bytes / 1000
$fK
freier Speicherplatz auf Laufwerk in KBytes, dh. Bytes / 1024
$fm
freier Speicherplatz auf Laufwerk in mBytes, dh. Bytes / 1000000
$fM
freier Speicherplatz auf Laufwerk in MBytes, dh. Bytes / 1048576
$x(xxx)
LinksbБndiger Tabulator: drucke die nachstehende Information an der
X-Position "xxx" (relativ zum linken Rand der Statuszeile).
Beispiel: $x(300)$sK druckt die GrФсe der ausgewДhlten Objekte immer
an X-Position 300.
$x(-xxx)
wie zuvor, allerdings relativ zum rechten Rand der Statuszeile.
Beispiel: $x(-150)$sK druckt die GrФсe der ausgewДhlten Objekte an
der X-Position 100, wenn die Statuszeile gerade 250 Pixel breit ist.
$x(xx%)
wie zuvor, allerdings wird die X-Position als Prozentzahl relativ
zur Breite der Statuszeile berechnet. Beispiel: $x(50%)$sK druckt
die GrФсe der ausgewДhlten Objekte stets in der Mitte der
Statuszeile.
═══ 7.5. Gemeinsame SchlБssel fБr "Ein-Objekt-Modus" ═══
Alle Objekte unterstБtzen die folgenden SchlБssel im "Ein-Objekt-Modus"
(zusДtzlich zu den SchlБsseln fБr alle Modi):
$t
Objekt-Titel
$w
WPS-Standard-Klassentitel, dh. der Titel, der in der dritten Spalte
in Ordner-Detailanzeigen steht (zB. "Datendatei")
$W
WPS-interner Klassenname (zB. "XFldDataFile")
═══ 7.6. ZusДtzliche SchlБssel fБr Dateisystem-Objekte ═══
Dateisystem-Objekte (Klasse WPFileSystem, also Ordner und Datendateien)
unterstБtzen zusДtzlich die folgenden SchlБssel:
$r
"Echter Name" des Objekts
$y
Objekttyp (Erweitertes Attribut .TYPE)
$a 1)
Objekt-Dateisystem-Attribute; diese werden in Form von vier
Buchstaben eingefБgt ("ahrs"), jeweils fБr die Archiv-, Versteckt-,
Nur-Lesen- und System-Attribute, wobei die gesetzten Attribute groс
geschrieben werden (zB. "Ahrs")
$D 1)
Datum letzten Schreibens fБr das Objekt
$T 1)
Zeit letzten Schreibens fБr das Objekt
$Eb 1,2)
GrФсe der Erweiterten Attribute in Bytes
$Ek 1,2)
GrФсe der Erweiterten Attribute in kBytes, dh. Bytes / 1000
$EK 1,2)
GrФсe der Erweiterten Attribute in KBytes, dh. Bytes / 1024
Anmerkungen:
1) Diese SchlБssel zeigen nur die Daten an, die sich in den internen
WPS-Puffern befinden. Dies hat zur Folge, daс sich, wenn sich diese Daten
Дndern, weil zB. eine Datei von irgendeinem Programm geДndert wurde, die
Informationen in der Statuszeile nur dann Дndern, wenn die WPS-Puffer
aktualisiert werden, zB. weil Sie "Sofort aktualisieren" ausgewДhlt haben.
2) Die WPS hat seit jeher einen Programmierfehler, aufgrund dessen immer 32767
angegeben wird, wenn die GrФсe der Erweiterten Attribute 32767 Бberschreitet,
obwohl technisch 64 KB mФglich sind. Aufgrund dessen wird XFolder ebenfalls
diesen falschen Wert anzeigen.
═══ 7.7. ZusДtzliche SchlБssel fБr DatentrДger-Objekte ═══
DatentrДger-Objekte (Klasse XFldDisk, also die Objekte im Ordner "Laufwerke")
unterstБtzen zusДtzlich zu den fБr alle Objekte geltenden die folgenden
SchlБssel:
$fb
freier Speicherplatz auf Laufwerk in Bytes
$fk
freier Speicherplatz auf Laufwerk in kBytes, dh. Bytes / 1000
$fK
freier Speicherplatz auf Laufwerk in KBytes, dh. Bytes / 1024
$fm
freier Speicherplatz auf Laufwerk in mBytes, dh. Bytes / 1000000
$fM
freier Speicherplatz auf Laufwerk in MBytes, dh. Bytes / 1048576
$F
Dateisystemtyp (FAT, HPFS, CDFS, ...)
Hinweise: Wenn Sie diese SchlБssel benutzen, sollten Sie auf jeden Fall die
OS/2-Fehlermeldungen fБr Hardware-Fehler abschalten, weil ansonsten jedes Mal,
wenn Sie keine Diskette eingelegt haben, eine Fehlermeldung erscheint. Dies
kФnnen Sie einfach auf der Seite "Fehler" im neuen Objekt "OS/2 Kernel"
vornehmen.
Beachten Sie auсerdem, daс die $f-SchlБssel fБr DatentrДger-Objekte
umdefiniert werden: normalerweise zeigen sie den den freien Speicherplatz auf
dem Laufwerk des Ordners an, was natБrlich fБr DatentrДger-Objekte im
Laufwerkeordner immer den Wert des Laufwerks zurБckgeben wБrde, auf dem Ihre
ArbeitsoberflДche liegt. Deswegen wurde dieser SchlБssel fБr
DatentrДger-Objekte Бbersteuert.
═══ 7.8. ZusДtzliche SchlБssel fБr Programmobjekte ═══
Programm-Objekte (Klasse XFldProgram) unterstБtzen zusДtzlich zu den fБr alle
Objekte geltenden die folgenden SchlБssel:
$p
startbare Programmdatei (wie in den Einstellungen angegeben)
$P
Parameterliste (wie in den Einstellungen angegeben)
$d
Arbeitsverzeichnis (wie in den Einstellungen angegeben)
═══ 7.9. ZusДtzliche SchlБssel fБr URL-Objekte ═══
Seit V0.84 unterstБtzen auch URL-Objekte (Klasse WPUrl) die folgenden SchlБssel
(zusДtzlich zu denen fБr alle Objekte und denen fБr Dateisystem-Objekte):
$U
URL, die im URL-Objekt gespeichert ist
═══ 8. Erweiterter Systemabschluс ═══
WPS neustarten
Erweiterter Systemabschluс
XFolder-Systemstart- / Systemabschluс-Ordner
Systemabschluс von der Kommandozeile
ΓòÉΓòÉΓòÉ 8.1. WPS neustarten ΓòÉΓòÉΓòÉ
XFolder kann jetzt (V0.60) einen MenБpunkt "WPS neustarten" zum KontextmenБ der
ArbeitsoberflДche hinzufБgen.
Nachdem Sie "WPS neustarten" ausgewДhlt haben, erscheint ein
BestДtigungsfenster Дhnlich demjenigen des Erweiterten Systemabschlusses. Der
Unterschied besteht darin, daс, nachdem alle Fenster geschlossen wurden, nicht
der gesamte Computer neugestartet wird, sondern nur der Prozeс der
ArbeitsoberflДche (PMSHELL.EXE).
Um dies zu verstehen, ist es vielleicht hilfreich zu wissen, daс OS/2 seine
BenutzeroberflДche in drei "Schichten" organisiert hat, die sozusagen
aufeinander "sitzen":
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Workplace Shell (WPS) Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Presentation Manager (PM) Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé OS/2 Kernel Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Der OS/2 Kernel (englisch fБr "Kern") bietet die Basisfunktionen Ihres Systems
an, ohne die gar nichts funktionieren wБrde: nДmlich ua. den Zugriff auf Ihre
GerДte und Multitasking.
Der Presentation Manager (PM) ist fБr alles Grafische auf Ihrem System
verantwortlich, wie Fenster, Symbole, MenБs, Bilder, und auch einige
nicht-grafische Dinge, wie zB. INI-Dateien. OS/2 kann auch Anwendungen ohne PM
ausfБhren, sog. Textmodus-Anwendungen (wie zB. die OS/2-Kommandozeile,
CMD.EXE), aber alle anderen Anwendungen benФtigen den PM. Eine typische
PM-Anwendung ist Netscape.
Die Workplace Shell (WPS) ist nur eine weitere, wenn auch Дuсerst komplexe
PM-Anwendung. Sie ist fБr das Anzeigen von Ordnern, Starten von Programmen nach
einem Doppelklick, Zuordnen von Dateien und Programmen usw. verantwortlich,
kurz: alles was Sie nach dem Start von OS/2 so sehen. In diesem Kontext lДuft
auch XFolder.
Der MenБpunkt "WPS neustarten" beendet nun alleine die oberste der drei
genannten Schichten, die ArbeitsoberflДche. Dies benФtigt sehr viel weniger
Zeit als wenn Sie Ihren gesamten Rechner neustarten, weil der PM und der Kernel
nicht neu geladen und initialisiert werden mБssen.
Die WPS neuzustarten kann hilfreich sein, wenn Ihr System sehr langsam geworden
ist (aus irgendeinem Grund, jedenfalls nach meiner eigenen Erfahrung, friсt die
WPS immer mehr Speicher, wenn man viel mit Dateien arbeitet) oder wenn Sie
Software installiert haben, die WPS-Klassen geДndert hat.
Wichtige Hinweise:
Behalten Sie im Hinterkopf, daс diese Methode ursprБnglich von IBM wohl
nicht geplant war, als sie die Workplace Shell entwickelt hat. "WPS
neustarten" zwingt die ArbeitsoberflДche zu einem Neustart, indem sie
einfach beendet wird. Da XFolder ja ein Teil des WPS-Prozesses ist, kann
es diesen Prozeс ja schlicht beenden. OS/2 startet diesen Prozeс dann
komplett neu. Das Ergebnis ist ungefДhr das gleiche, als wДre die WPS
abgestБrzt und hДtte sich neugestartet, es werden allerdings die Daten
der WPS vorher gesichert.
Auf meinem System geraten nach einem WPS-Neustart die Symbole von
ausfБhrbaren Dateien durcheinander. Dies betrifft alle Programmobjekte
und ausfБhrbare Dateien, denen kein individuelles Symbol Бber die
"Einstellungen" zugewiesen wurde. Entweder gehen die Symbole komplett
verloren, oder es werden ganz falsche Symbole angezeigt. Dies ist ein
Fehler im Presentation Manager, auf den ich keinen Einfluс habe. Nach
einem Rechner-Neustart sind die Symbole jedenfalls wieder in Ordnung.
Weder Einstellungen des Presentation Manager noch der CONFIG.SYS werden
beim WPS-Neustart gelesen. Wenn sich diese Einstellungen geДndert haben,
werden sie nach einem WPS-Neustart nicht erkannt. Starten Sie in diesem
Fall Ihren Rechner neu.
Als Faustregel mag gelten, daс Sie um so wahrscheinlicher auf Probleme
stoсen werden, je mehr WPS-Klassen Sie installiert haben. Dies kann
vielerlei GrБnde haben, die ich grФсtenteils nicht nachvollziehen kann,
aber zum ersten gibt es WPS-Klassen, die ihre Ressourcen nicht ordentlich
freigeben, wenn die WPS neugestartet wird, zum zweiten verliert der
SOM-Kernel manchmal den Ъberblick mit WPS-Klassenersetzungen. Die WPS
stБrzt dann gelegentlich etwa 20 Sekunden nach dem Aufbau der
ArbeitsoberflДche ab. Diese Probleme zeigen sich als AbstБrze in
irgendwelchen DLLs, die aber nur Symptome dafБr sind, daс intern etwas
durcheinander gekommen ist. Wenn dies vorkommt, mБssen Sie den Rechner
neustarten. Kandidaten fБr solche DLL-AbstБrze waren bei mir INSTALL.DLL
(enthДlt WPInstall), WPPRINT.DLL (enthДlt die Klassen fБr Druckerobjekte
und den Spooler) sowie die WorkFrame-Klassen der verschiedenen
IBM-Compilerpakete. (Lustigerweise sind alle diese Klassen von IBM
programmiert.)
AbhДngig von Ihrem System wird die Anzahl der WPS-Neustarts, die Sie
erfolgreich ausfБhren kФnnen, begrenzt sein. Einige Benutzer haben
berichtet, daс dies nur ein einziges Mal funktioniert, aber auf meinem
System habe ich die WPS auch schon 30 Mal erfolgreich neugestartet, bevor
der Rechner ganz abgestБrzt ist. (Das klingt nach sehr viel, aber bei der
Entwicklung von XFolder ist das leider nФtig.)
Sie kФnnen diese Funktion auf einer neuen Seite im Einstellungsnotizbuch der
ArbeitsoberflДche abschalten.
═══ 8.2. Erweiterter Systemabschluс ═══
Seit V0.60 kann XFolder auch Ihren Systemabschluс verbessern.
Wichtiger Hinweis: Der Erweiterte Systemabschluс ist standardmДсig deaktiviert,
um Verwirrung zu vermeiden. Sie mБssen ihn zunДchst auf der entsprechenden
neuen Seite im Einstellungsnotizbuch der ArbeitsoberflДche aktivieren.
Nachdem Sie den Erweiterten Systemabschluс aktiviert haben, kФnnen Sie Бber den
MenБpunkt "Systemabschluс" der ArbeitsoberflДche den Erweiterten Systemabschluс
initiieren.
Nachdem Sie "Systemabschluс" ausgewДhlt haben, wird eine Dialogbox Дhnlich der
folgenden erscheinen:
Die wichtigsten neuen Funktionen des Erweiterten Systemabschlusses sind:
Sie kФnnen den Rechner automatisch neustarten, nachdem der Systemabschluс
abgeschlossen ist.
Sie kФnnen sogar eigene Neustart-Aktionen festlegen, zB. direkt auf eine
bestimmte Boot-Manager-Partition durchstarten. Dies wird im Detail
erklДrt, wenn Sie den Knopf "Aktionen" auf der Seite 1 der
"XDesktop"-Seiten im Einstellungsnotizbuch der ArbeitsoberflДche
auswДhlen.
Der Systemabschluс kann abgebrochen werden.
Der Fortschritt des Erweiterten Systemabschlusses wird angezeigt, und
wenn eine Anwendung "hДngt", dh. nicht geschlossen werden kann, kФnnen
Sie auswДhlen, diese Anwendung zu Бberspringen und den Systemabschluс
fortzusetzen, ohne diese Anwendung zu schlieсen:
Der automatische Rechnerneustart erfordert, daс DOS.SYS Бber die CONFIG.SYS
installiert ist. Unter Warp 4 ist dies standardmДсig der Fall; unter Warp 3
kann es sein, daс Sie manuell die folgende Zeile in Ihre CONFIG.SYS einfБgen
mБssen:
DEVICE=X:\OS2\BOOT\DOS.SYS
mit X: als ihrem Startlaufwerk.
Sie kФnnen den Erweiterten Systemabschluс auf einer neuen Seite im
Einstellungsnotizbuch der ArbeitsoberflДche konfigurieren (und abschalten).
ΓòÉΓòÉΓòÉ 8.3. XFolder-Systemstart- / XShutdown-Ordner ΓòÉΓòÉΓòÉ
XFolder kann jetzt (V0.70) getrennte Systemstart- / Systemabschluс-Ordner
bearbeiten.
Hinweis: Diese beiden Ordner werden vom Installationsprogram nicht automatisch
erzeugt, um Verwirrung zu vermeiden. Bitte gehen Sie zu Seite 2 der
"XDesktop"-Seiten in den Einstellungen der ArbeitsoberflДche, um diese beiden
Ordner erstellt zu bekommen.
Wenn XFolder den XFolder-Systemstart-Ordner beim Hochfahren der WPS findet,
arbeitet er sich durch dessen Inhalt auf Дhnliche Weise, wie es die WPS mit
ihrem eigenen Systemstart-Ordner tut. Die wichtigsten Unterschiede sind jedoch:
Sie kФnnen eine bestimmte Zeit einstellen, die XFolder wartet, bevor das
nДchste Objekt geФffnet wird. Der normale Systemstart-Ordner fБhrt
manchmal zu Problemen, weil er alle Objekte gleichzeitig startet, was
manchmal die WPS schon beim Hochfahren kollabieren lДсt. Diese
VerzФgerungszeit kann ebenfalls auf der "XDesktop"-Seite 2 eingestellt
werden.
Sie kФnnen den Fortschritt des Systemstarts in einem getrennten Fenster
beobachten (was ebenfalls auf der "XDesktop"-Seite 2 abgestellt werden
kann).
Der Systemstart kann abgebrochen werden.
Der Systemstart-Ordner kann komplett Бbergangen werden, indem Sie die
"Umschalter"-(Shift-)Taste gedrБckt halten, bis die ArbeitsoberflДche
komplett aufgebaut ist.
Der XFolder-Systemstart-Ordner wird auch nach einem WPS-Neustart
abgearbeitet, was fБr den normalen Systemstart-Ordner nicht zutrifft.
Dies gilt allerdings nur fБr den Fall, daс Sie in der
BestДtigungs-Dialogbox fБr "WPS neustarten" die entsprechende Einstellung
aktiviert hatten.
Der XFolder-Systemstart-Ordner hat jetzt (V0.80) auch einen MenБpunkt
"Ordnerinhalt starten" in seinem KontextmenБ, der es Ihnen ermФglicht,
seinen Inhalt abarbeiten zu lassen, obwohl die WPS bereits gestartet ist.
Auf der anderen Seite wird der XShutdown-Ordner abgearbeitet, bevor der
Erweiterte Systemabschluс (nicht der normale Systemabschluс) beginnt. Im
Unterschied zum Systemstart-Ordner kФnnen Sie hier keine VerzФgerung
einstellen, weil das nДchste Objekt im XShutdown-Ordner erst geФffnet wird,
wenn Sie das vorherige geschlossen haben. Erst wenn alle Objekte aus dem
XShutdown-Ordner wieder geschlossen sind, beginnt tatsДchlich der Erweiterte
Systemabschluс.
Der XShutdown-Ordner kann hilfreich sein, wenn Sie bestimmte Programme
ausfБhren wollen, bevor Sie Ihr System ausschalten. (Ich habe hierfБr selbst
bisher keine Verwendung, aber offensichtlich geht es vielen Leuten anders.)
Sie kФnnen zB. ein kleines REXX-Skript erstellen, das vor dem Systemabschluс
einige AufrДumarbeiten vornimmt, wie zB. das Abmelden am Netzwerk, das LФschen
von temporДren Dateien, oder was immer Ihnen einfДllt.
Sowohl fБr den XFolder-Systemstart- als auch fБr den XShutdown-Ordner kФnnen
Sie die Reihenfolge, in der die Objekte gestartet werden, Дhnlich festlegen,
wie es auf der entsprechenden Seite fБr die XFolder-Konfigurationsordner
beschrieben ist.
═══ 8.4. Systemabschluс von der Kommandozeile ═══
Seit V0.80 enthДlt XFolder ein kleines Programm im Unterverzeichnis BIN des
Installationsverzeichnisses, mit dem Sie den erweiterten Systemabschluс von der
Kommandozeile aus starten kФnnen. Diese Programm heiсt XSHUTDWN.EXE.
Beachten Sie, daс dieses Programm alleine Ihr System nicht herunterfahren kann.
Es ist allein fДhig, XFolder mitzuteilen, daс und wie der Systemabschluс
ausgefБhrt werden soll. Folglich funktioniert es nur, wenn:
XFolder V0.80 oder hФher installiert ist,
die WPS geladen ist
und keine anderen Fehler auftreten. ;-)
Auf der anderen Seite kФnnen Sie XSHUTDWN.EXE in ein Verzeichnis Ihrer Wahl
stellen, zB. irgendwo auf ihrem PATH, um XShutdown von jeder Kommandozeile aus
erreichen zu kФnnen. XSHUTDWN.EXE benФtigt weder die XFolder-DLLs noch
irgendeine andere XFolder-Ressource, weil es XFolder im Wege der
Interprozeс-Kommunikation anspricht.
XSHUTDWN.EXE Бbersteuert die meisten der Einstellungen, die Sie fБr den
erweiterten Systemabschluс festgesetzt haben. Wenn Sie XSHUTDWN.EXE ohne
Parameter aufrufen, werden Standardwerte benutzt, egal was Sie sonst
eingestellt haben.
Sie kФnnen jedoch als Kommandozeilenparameter etwas anderes festlegen (diese
Schalter beeinflussen nicht die WPS-Einstellungen fБr XShutdown, sondern nur
eine einzelne AusfБhrung des Systemabschlusses):
-r
lДсt XShutdown den Rechner neustarten, wobei die eingebaute
Neustartfunktion benutzt wird. Standard ist kein Neustart.
-R <cmd>
lДсt XShutdown den Rechner neustarten, wobei die von Ihnen
definierte Neustart-Aktion <cmd> benutzt wird.
-v
schlieсt alle Nicht-PM-Fenster automatisch. Standard ist, diese
Fenster nicht zu schlieсen.
-a
zeigt eine Animation, wenn XShutdown fertig ist. Standard ist keine
Animation.
-f
zeigt kein BestДtigungsfenster. Standard ist, daс XShutdown
bestДtigt werden muс.
-l (neu mit V0.83)
erzeugt XSHUTDWN.LOG beim Systemabschluс.
-w (new with V0.84)
macht einen WPS-Neustart statt des "echten" Systemabschlusses. Das
kann mit -f zusammen benutzt werden.
-W (new with V0.84)
macht einen WPS-Neustart statt des "echten" Systemabschlusses,
schlieсt aber dabei alle offenen Fenster und benutzt den
XFolder-Systemstart-Ordner nach dem Neustart. Das kann mit -f und -v
zusammen benutzt werden.
ΓòÉΓòÉΓòÉ 9. Die neuen "System"-Objekte ΓòÉΓòÉΓòÉ
EinfБhrung
Globale Einstellungen im Objekt "Workplace Shell"
Die WPS-Klassenliste
Der OS/2-Scheduler
Die OS/2-Speicherverwaltun
Dateisystem-Caches
═══ 9.1. EinfБhrung ═══
Seit V0.80 zerteilt XFolder das Standard-OS/2-Objekt "System" im Ordner
"Systemkonfiguration" in zwei Objekte:
Das neue Objekt "Workplace Shell" enthДlt diejenigen Seiten aus dem alten
"System"-Objekt, die sich allein mit der Workplace Shell (WPS,
ArbeitsoberflДche) beschДftigen und mE. ein eigenes Einstellungsobjekt
verdient haben.
Auсerdem fБgt XFolder hier eine Reihe von neuen Seiten hinzu, damit Sie
die Globalen Einstellungen von XFolder beeinflussen kФnnen. Mehr dazu
finden Sie im Kapitel "Konfiguration" dieser Referenz auf einer separaten
Seite.
Schlieсlich aber finden Sie in diesem Objekt die Seite "WPS-Klassen", mit
der Sie die WPS-Klassenliste manipulieren kФnnen. Eine ErlДuterung,
welche Aufgabe WPS-Klassen haben, finden Sie auf einer separaten Seite.
Das neue Objekt "OS/2 Kernel" enthДlt diejenigen Seiten des alten
"System"-Objekts, die sich allein mit den Interna von OS/2 befassen, wie
zB. die Seite "Bildschirm".
In diesem Objekt befinden sich mehrere neue Einstellungsseiten, um einige
Einstellungen der Datei CONFIG.SYS im Hauptverzeichnis Ihres
Startlaufwerks zu beeinflussen. Weil diese Einstellungen ein wenig
schwierig im Kopf zu behalten sind und weil fehlerhafte Einstellungen
unter UmstДnden bewirken kФnnen, daс Ihr OS/2 gar nicht mehr startet,
hilft Ihnen XFolder insoweit, als daс es auf eine korrekte Syntax und
gБltige Parameter fБr bestimmte Einstellungen achtet.
Auf jeder dieser neuen Einstellungsseiten, die nachfolgend nДher
beschrieben werden, finden Sie -- statt der Бblichen KnФpfe "Widerrufen"
und "Standard" -- einen Knopf "CONFIG.SYS aktualisieren", bei dessen
BetДtigung XFolder die CONFIG.SYS nach den Einstellungen aktualisiert,
die Sie vorgenommen haben.
Die einzelnen Einstellungen werden ausfБhrlich erlДutert, wenn Sie auf
einer der CONFIG.SYS-Seiten den "Hilfe"-Knopf drБcken. Lesen Sie die
nachfolgenden Seiten, um eine EinfБhrung zu erhalten, welche Auswirkungen
diese Einstellungen auf OS/2 haben:
- Der OS/2-Scheduler
- Die OS/2-Speicherverwaltung
- Dateisystem-Caches
Das alte "System"-Objekt besteht allerdings weiter fБr den Fall, daс andere
WPS-Erweiterungen hier etwas einfБgen mФchten. Solche Erweiterungen erscheinen
dann auch in dem "OS/2 Kernel"-Objekt, das diese Eigenschaften erbt.
Hinweis: Sie sollten nicht zugleich das alte "System"-Objekt und eines der
neuen Objekte geФffnet halten, um Einstellungen zu Дndern. Die
Einstellungsseiten sind hierauf nicht vorbereitet, und dies kann ihre
WPS-Einstellungen durcheinanderbringen.
ΓòÉΓòÉΓòÉ 9.2. XFolders globale Einstellungen ΓòÉΓòÉΓòÉ
In den "Globalen Einstellungen" von XFolder kФnnen Sie XFolder zu einem
bestimmten Verhalten bewegen. Hier finden Sie Einstellungen, die XFolder als
ganzes betreffen, wie zB. die Spracheneinstellungen, sowie Einstellungen, die
Ihren Rechner als ganzes betreffen. Deswegen heiсen die Einstellungen auch
"Globale Einstellungen", im Gegensatz zu den individuellen
Ordner-Einstellungen, die auf einer separaten Seite beschrieben sind.
Seit XFolder V0.50 befanden sich die Einstellungen im OS/2-System-Objekt,
welches normalerweise im Ordner "Systemkonfiguration" liegt. Ich hielt dies fБr
einen guten Ort, um XFolder einzustellen, weil sich die meisten globalen
Ordnereinstellungen von OS/2 ebenfalls in diesem Objekt befinden.
Systemobjekt unter Warp 3
Systemobjekt unter Warp 4
Weil sich inzwischen so viele Einstellungsseiten angesammelt haben, habe ich
mit XFolder V0.80 entschieden, das "System"-Objekt in zwei Objekte
aufzuspalten. Details hierzu finden Sie auf der entsprechenden Seite im Kapitel
"EinfБhrung".
XFolder fБgt die neuen Einstellungsseiten fБr seine Globalen Einstellungen zum
objekt "Workplace Shell" hinzu, das Sie in Ihrem Ordner "Systemkonfiguration"
finden.
Neues Objekt "Workplace Shell"
Die verschiedenen Einstellungen sind hier nicht im Detail erlДutert. Sie finden
ausfБhrliche Hilfe dazu, wenn Sie auf einer Einstellungsseite F1 oder den
"Hilfe"-Knopf drБcken.
ΓòÉΓòÉΓòÉ 9.3. Die WPS-Klassenliste ΓòÉΓòÉΓòÉ
Im Objekt "Workplace Shell" erstellt XFolder eine Seite namens "WPS-Klassen",
mit der Sie die WPS-Klassenliste beeinflussen kФnnen.
FБr das VerstДndnis der Funktionen dieser Seite ist es allerdings hilfreich,
bestimmte Grundlagen Бber WPS-Klassen zu wissen. Dabei sollen Ihnen die
nachfolgenden Informationen helfen.
Wahrscheinlich haben Sie schon oft gehФrt, daс die ArbeitsoberflДche von OS/2
"objektorientiert" ist. Dieser Begriff besagt, daс -- im Gegensatz zu frБheren
OberflДchen, wie zB. Windows 3.x -- grundsДtzlich alles, womit sich die
ArbeitsoberflДche beschДftigt, nДmlich Dateien, Ordner, Drucker, Laufwerke
usw., erst einmal als "Objekte" betrachtet werden. Alle diese Objekte haben
bestimmte gemeinsame Eigenschaften, unterscheiden sich aber in bezug auf
andere: so haben zB. alle Objekte ein KontextmenБ und ein
Einstellungsnotizbuch, was da aber im einzelnen drinsteht, ist unterschiedlich.
Um diese Gemeinsamkeiten und Unterschiede faсbar zu machen, benutzt die WPS
"Klassen". Dieser Begriff stammt aus der objektorientierten Programmierung.
Eine Klasse ist sozusagen ein abstraktes Konzept fБr ein Objekt: eine Klasse
ist nicht sichtbar auf der ArbeitsoberflДche, "existiert" also nicht im
gleichen Sinne wie Objekte, enthДlt aber alle Informationen Бber Eigenschaften
und FДhigkeiten von Objekten.
Jedes Objekt auf der ArbeitsoberflДche ist nun eine sog. "Instanz" einer
Klasse. Die Namen der WPS-Klassen beginnen dabei idR. mit "WP": ein Drucker ist
zB. eine Instanz der Klasse "WPPrinter", ein Ordner der Klasse "WPFolder", eine
Datendatei der Klasse "WPDataFile" usw.
Das Konzept der Klassen ist deswegen so leistungsfДhig, weil die verschiedenen
Klassen voneinander abstammen. Eine Klasse, die von einer anderen Klasse
abstammt, erbt alle deren Eigenschaften und FДhigkeiten, kann sich aber, soweit
erforderlich, auch von der "Eltern"-Klasse unterscheiden. So kann man
Eigenschaften und FДhigkeiten von Objekten abstrahieren und Бberschaubar
machen, getreu dem alten Konzept: Gegen KomplexitДt hilft nur Abstraktion.
Man kann dieses Konzept auch auf Dinge der "wirklichen" Welt anwenden, um das
Prinzip zu verdeutlichen: man denke sich verschiedene Klassen namens "Tier",
"SДugetier", "Hund" und "Vogel". Dabei wБrden die Klassen "SДugetier" und
"Vogel" von "Tier" abstammen, und "Hund" wiederum von "SДugetier". Ihr Hofhund
wДre nun sozusagen eine Instanz der Klasse "Hund": seine Eigenschaften und
FДhigkeiten werden durch die Klassen "Tier", "SДugetier" und "Hund"
beschrieben.
Die WPS enthДlt nun viele Klassen, die eine ausgeklБgelte Vererbungshierarchie
bilden. Ein Ausschnitt aus der Standard-WPS-Klassenliste sei hier zur
Verdeutlichung dargestellt (wobei die Linien fБr Vererbung stehen):
WPObject
Γö£ΓöÇΓöÇ WPAbstract
Γöé Γö£ΓöÇΓöÇ WPPrinter
Γöé Γö£ΓöÇΓöÇ WPProgram
Γöé ΓööΓöÇΓöÇ WPShadow
Γö£ΓöÇΓöÇ WPFileSystem
Γöé Γö£ΓöÇΓöÇ WPDataFile
Γöé Γöé Γö£ΓöÇΓöÇ WPIcon
Γöé Γöé ΓööΓöÇΓöÇ WPProgramFile
Γöé ΓööΓöÇΓöÇ WPFolder
Γöé Γö£ΓöÇΓöÇ WPDesktop
Γöé ΓööΓöÇΓöÇ WPStartup
ΓööΓöÇΓöÇ WPTransient
Sie sehen, daс alle Klassen von WPObject abstammen. Dies ist die sog.
"Wurzelklasse" der WPS-Klassen, die alle die Eigenschaften und FДhigkeiten
enthДlt, die allen WPS-Objekten gemeinsam sind: wie gesagt, zB. KontextmenБs
und EinstellungsnotizbБcher. Allerdings ist die Klasse WPObject derart
abstrakt, daс es keine direkten Instanzen dieser Klasse gibt: diese Klasse
dient allein dazu, daс andere Klassen von ihr abstammen. Objekte dieser Klasse
sind allein nicht funktionsfДhig.
Von WPObject stammen lediglich drei weitere Klassen ab. Alle diese Klassen sind
-- wie WPObject selbst -- ebenfalls nur als abstrakte Elternklassen gedacht,
von denen keinen Objekte existieren sollen.
WPAbstract ist dabei die gemeinsame Oberklasse fБr sog. "abstrakte"
Objekte. Dies sind diejenigen Objekte, die nicht physikalisch auf dem
DatentrДger existieren, sondern ihre Daten in OS2.INI bzw. OS2SYS.INI
abspeichern (so die drei hier angefБhrten Klassen WPPrinter fБr
Druckerobjekte, WPProgram fБr Programmobjekte und WPShadow fБr
Referenzen). Diese Objekte erscheinen zwar in Ordnern, nicht aber zB.
wenn Sie DIR an der Kommandozeile eingeben.
WPFileSystem ist demgegenБber die gemeinsame Oberklasse fБr Objekte, die
physikalisch im Dateisystem eines DatentrДgers existieren. Hiervon gibt
es zwei Untertypen: Ordner (WPFolder) und Datendateien (WPDataFile). Von
Datendateien gibt es wiederum einige Untertypen fБr spezielle
Datendateien, wie zB. Symboldateien (WPIcon, mit der .ICO-Erweiterung)
und Programmdateien (WPProgramFile, ausfБhrbare Dateien zB. mit der
Erweiterung .EXE). Alle Datendateien, die nicht zu einer spezielleren
Klasse gehФren, sind Instanzen der Klasse WPDataFile.
WPTransient wird schlieсlich von der WPS fБr Objekte genutzt, die ihre
Daten Бberhaupt nicht speichern mБssen, sondern nur temporДr irgendwas
reprДsentieren und anzeigen sollen. Beispiele hierfБr sind zB. die
Druckerjobs in einem Druckerobjekt und die ganzen GerДte im
Hardware-Manager von OS/2 Warp 4.
Die WPS bietet auсerdem eine ganz auсergewФhnliche Funktion: das Ersetzen von
Klassen. Diese MФglichkeit benutzt XFolder, um seine ganzen Funktionen in die
WPS einzuklinken, indem es eine ganze Reihe von WPS-Klassen ersetzt. So
ersetzt zB. die Klasse XFolder die Klasse WPFolder, um die zusДtzlichen
Ordnerfunktionen zur VerfБgung zu stellen. Eine solche Ersatzklasse muс stets
von der Klasse, die sie ersetzen soll, abstammen: das "Ersetzen" bedeutet nun,
daс die WPS immer, wenn eigentlich die Ursprungsklasse benutzt werden soll,
statt dessen die neue Ersatzklasse zur Anwendung kommt. So sind nach der
Installation von XFolder alle Ordner auf Ihrem System keine Instanzen von
WPFolder mehr, sondern von XFolder. Da XFolder aber von WPFolder abstammt,
Дndern sich die Ordner nur insoweit, als daс XFolder ein bestimmtes
Charakteristikum Дndert.
Auf diese Weise ist es Programmieren mФglich, eine bestehende Klasse zu
erweitern, ohne im Detail wissen zu mБssen, wie diese Klasse im Inneren
funktioniert -- wie gesagt, ein ganz auсergewФhnliches und leistungsfДhiges
Konzept, das nach wie vor allein OS/2 bietet.
Alle WPS-Klassen befinden sich in dynamischen Linkbibliotheken (Dateiendung
.DLL). So finden sich die meisten der Standard-WPS-Klassen in der Datei
PMWP.DLL im Verzeichnis \OS2\DLL. Alle XFolder-Klassen befinden sich in der
Datei XFLDR.DLL im XFolder-Installationsverzeichnis.
Wenn Sie versuchen, bestimmte OS/2-Systemklassen zu entfernen (was Sie
eigentlich sowieso nicht tun sollten), beachten Sie bitte, daс dies
wahrscheinlich keine Wirkung hat, wenn die DLL, die diese Klasse enthДlt,
andere WPS-Klassen enthДlt, die noch registriert sind. Dies trifft im
besonderen auf die OS/2-Warp 4-Multimedia-Klassen zu: all diese Klassen
befinden sich in MMPARTS.DLL, und solange auch nur eine dieser Klassen
registriert sind, werden alle anderen ebenfalls geladen, auch wenn sie nicht
mehr in der WPS-Klassenliste erscheinen.
Wie gesagt, dies ist nur ein kurzer Ъberblick Бber die WPS-Klasssenliste. Wenn
Sie im Objekt "Workplace Shell" die Seite "WPS-Klassen" Фffnen, werden alle
auf Ihrem System installierten Klassen angezeigt -- dies sind idR. weit Бber
100 Klassen. Diese werden in einer Baumstruktur angezeigt. Mit Hilfe von
KontextmenБs kФnnen Sie hier Klassen registrieren und ersetzen bzw.
deregistrieren und Ersetzungen rБckgДngig machen.
Allerdings sollten Sie hierbei grФсte Vorsicht walten lassen: mit Hilfe dieser
Seite kФnnen Sie die WPS ohne weiteres unbrauchbar machen!
DrБcken Sie auf dieser Seite den "Hilfe"-Knopf, um weiterfБhrende
Informationen zu erhalten.
ΓòÉΓòÉΓòÉ 9.4. Der OS/2-Scheduler ΓòÉΓòÉΓòÉ
Der Scheduler -- auf deutsch vielleicht: "Fahrplaner" ;-) -- ist ein Teil des
OS/2-Kernel, arbeitet also auf der untersten Ebene des Systems (vgl. hierzu
auch die ErlДuterungen zum WPS-Neustart).
Der Scheduler ist verantwortlich fБr das Multitasking und Multithreading in
OS/2. Weil Sie idR. nur einen Prozessor haben, aber mehrere Programme
wenigstens scheinbar gleichzeitig laufen sollen, schaltet der Scheduler viele
Dutzend Mal in der Sekunde zwischen den verschiedenen Programmen um, so daс es
so aussieht, als liefen die Programme gleichzeitig.
FБr das VerstДndnis der einzelnen Einstellungen auf der Seite "Scheduler" im
Objekt "OS/2 Kernel" ist ein grundsДtzliches VerstДndnis der Art und Weise
hilfreich, wie OS/2 Prozesse und Threads verwaltet. AusfБhrliche Hilfe zu den
einzelnen Einstellungen erhalten Sie, wenn Sie den "Hilfe"-Knopf auf dieser
Seite drБcken.
Ein Thread ist die kleinste Verwaltungseinheit fБr die Umschaltung, die OS/2
zur VerfБgung stellt. Ein Programm kann mehrere Threads, muс aber mindestens
einen Thread enthalten. Die Bezeichnung "Thread" (auf deutsch etwa "Faden")
wurde gewДhlt, weil innerhalb eines Threads Programminstruktionen sequentiell
ausgefБhrt werden. Zwischen den Threads hingegen ist eine sequentielle
AusfБhrung nicht gesichert, weil zu keinem Zeitpunkt bestimmt ist, welche
Instruktion des einen Threads vor einer Instruktion eines anderen Threads
ausgefБhrt wird.
Gut programmierte OS/2-Software benutzt mehrere Threads, um dem Benutzer eine
schnellere Antwort auf seine Eingaben und Mausaktionen zu sichern. Wenn Sie zB.
einen Befehl ausfБhren, der idR. lДnger dauern wird, so wird ein hochwertiges
OS/2-Programm fБr diese Aufgabe einen neuen Thread starten, der diese Aufgabe
ausfБhrt. WДhrend dieser AusfБhrung ist der Haupt-Thread des Programmes, der
die Benutzereingaben entgegennimmt, bereits wieder zur Eingabe neuer Befehle
bereit.
Schlecht programmierte OS/2-Software benutzt nur einen Thread, so daс wДhrend
der Bearbeitung einer Aufgabe keine weiteren Benutzereingaben mФglich sind. Ein
Beispiel fБr solch schlechte Programmierung stammt ausgerechnet von IBM selbst:
wenn Sie in VIEW.EXE "In allen Bibliotheken" nach einem bestimmten Begriff
suchen, ist der Rechner komplett blockiert, bis alle Bibliotheken durchsucht
sind. Hier wДre Multithreading sehr angebracht gewesen.
Threads kФnnen nun verschiedene PrioritДten besitzen. Allgemein gilt, daс ein
Thread mit hФherer PrioritДt mehr Prozessorzeit erhДlt als ein Thread mit
geringerer PriotitДt. Dies gilt jedenfalls dann, wenn mehrere Threads zugleich
etwas zu tun haben; wenn Threads gerade "leerlaufen", dh. auf weitere Aufgaben
warten, verbrauchen sie keine Prozessorzeit, und die PrioritДten spielen keine
Rolle.
OS/2 ermФglicht eine sehr differenzierte PrioritДtszuweisung. Es unterscheidet
zwischen vier PrioritДtsklassen:
1. "Idle time priority" ist die geringste PrioritДtsklasse. Solch ein Thread
bekommt nur dann Prozessorzeit zugewiesen, wenn keine Threads mit hФheren
PrioritДtsklassen Prozessorzeit benФtigen, dh. nur dann, wenn diese
"leerlaufen". Ein Beispiel hierfБr ist der XFolder-"Worker"-Thread, der
zB. Buch fБhrt Бber die aktiven WPS-Objekte. Dies ist ziemlich
zeitintensiv, aber nicht zeitkritisch: also wird es ausgefБhrt, wenn der
Computer nichts anderes zu tun hat.
2. "Regular priority" ist die normale PrioritДtsklasse. Die meisten Threads
laufen mit dieser Klasse. OS/2 vergibt diese Klasse fБr neue Threads als
Standard, wenn nichts anderes eingestellt wird. Zwischen Threads dieser
Klasse Дndert OS/2 dynamisch die PrioritДtsebenen (dazu sogleich), um
keinen dieser Threads auf Dauer "verhungern" zu lassen.
3. "Fixed-high priority" ist die zweithФchste PrioritДtsklasse fБr Threads,
die Daten fБr "regulДre" Threads vorbereiten mБssen. Diese sollen
vorrangig zur AusfБhrung kommen und nicht durch die dynamischen
PrioritДtsДnderungen fБr "regulДre" Threads beeinfluсt werden, was zB.
hДufig fБr Nachrichtenverteiler angewandt wird.
4. "Time-critical priority" ist die hФchste PrioritДtsklasse fБr Threads,
die unmittelbar zur AusfБhrung kommen mБssen, wenn sie etwas zu tun
haben. Ein solcher Thread erhДlt sofort Prozessorzeit, wenn nФtig, und
wird nicht unterbrochen, bis er mit seiner Aufgabe fertig ist. Solche
Threads sind idR. mit der Beantwortung von zeitkritischen Nachrichten
beschДftigt, wie zB. Netzwerk- und andere Kommunikationssoftware.
Innerhalb jeder PrioritДtsklasse kann schlieсlich noch die PrioritДtsebene
festgelegt werden. Dies ist ein Wert von -31 bis +31, der den Vorrang eines
Threads innerhalb einer PrioritДtsklasse festlegt.
Einige Beispiele:
Ein "regular thread" mit PrioritДt +31 verdrДngt einen "regular thread"
mit PrioriДt 0.
Innerhalb der Klasse "Regular priority" sorgt OS/2 allerdings dafБr, daс
kein Thread "verhungert", also niemals zur AusfБhrung gelangt, indem nach
einer bestimmten Zeit die PrioritДt eines niedrigeren Threads automatisch
erhФht wird. Diese Zeit wird mit der CONFIG.SYS-Einstellung MAXWAIT
festgelegt. OS/2 erhФht auсerdem die PrioritДt eines Threads, wenn
Tastatureingaben vorliegen, der Prozeс des Threads im Vordergrund lДuft
oder auf GerДte zugegriffen wird.
Diese dynamischen Оnderungen werden jedenfalls dann vorgenommen, wenn in
der CONFIG.SYS nicht der Befehl PRIORITY=ABSOLUTE steht, was nicht
empfehlenswert ist. (Deswegen finden Sie diese Einstellung auch nicht auf
der Einstellungsseite im Objekt "OS/2 Kernel").
Ein "time-critical thread" mit der PrioritДt -31 verdrДngt immer noch
einen "regular thread" mit der PrioritДt +31, weil er einer hФheren
Klasse angehФrt. Hierauf haben die beschriebenen dynamischen Anpassungen
keine Auswirkungen, weil diese nur die "regulДre" PrioritДtsklasse
betreffen.
Gleiches gilt zB. fБr einen "regular thread" mit der PrioritДt 0
gegenБber einem "idle-time thread" mit der PrioritДt 0.
Zwei Threads mit gleicher PrioritДt hingegen laufen gleichmДсig
"gegeneinander", dh. sie wechseln sich mit der Benutzung der
Prozessorzeit ab.
Ein Prozeс ist demgegenБber eine OS/2-Anwendung, die in den Speicher geladen
wurde. Jeder Prozeс muс mindestens aus einem Thread bestehen. Jeder Prozeс
enthДlt gemeinsame Daten sowie Zugriff auf Systemressourcen. Prozesse werden
gegeneinander vor ungБltigen Speicherzugriffen geschБtzt, indem OS/2 ihnen den
Zugriff auf Speicherbereiche verweigert, die ihnen nicht gehФren
("Speicherschutz"). Mehrere Threads innerhalb eines Prozesses kФnnen jedoch
auf den Speicher des Prozesses zugreifen, weil der Speicher pro Prozeс
verwaltet wird. Gleiches gilt fБr andere Systemressourcen wie zB. geФffnete
Dateien.
ΓòÉΓòÉΓòÉ 9.5. Die OS/2-Speicherverwaltung ΓòÉΓòÉΓòÉ
Auch die OS/2-Speicherverwaltung wird vom OS/2-Kernel vorgenommen. Er sorgt
dafБr, daс Prozesse Speicher zugewiesen bekommen, schБtzt die einzelnen
Prozesse vor ungБltigen Speicherzugriffen, und verwaltet vor allem den
"virtuellen Speicher".
Unter "virtuellem Speicher" versteht man denjenigen Hauptspeicher, den es
physikalisch auf dem System nicht gibt, der jedoch trotzdem unter Benutzung
einer Auslagerungsdatei auf einer Festplatte Anwendungsprogrammen zur VerfБgung
steht.
Wenn ein OS/2-Programm Speicher anfordert und es ist nicht genБgend
Hauptspeicher verfБgbar, so lagert OS/2 einen Bereich des Hauptspeichers, der
gerade nicht benutzt wird, in die Auslagerungsdatei auf die Festplatte aus und
stellt den entsprechenden Hauptspeicher dem anfordernden Programm zur
VerfБgung.
Wenn umgekehrt das Programm, dem der jetzt ausgelagerte Speicher gehФrt, wieder
auf diesen Speicher zugreifen mФchte, so fДngt OS/2 diesen Zugriff ab (weil der
"Speicher" ja inzwischen auf der Festplatte liegt) und lДdt den ausgelagerten
Speicherbereich wieder in den Hauptspeicher zurБck, bevor das Programm
tatsДchlich darauf zugreift. (Notfalls muс zuvor erst wieder ein anderer
Speicherbereich ausgelagert werden, um Platz fБr den Speicherbereich zu
schaffen, der wieder eingelagert werden soll.)
Nun ist eine Festplatte natБrlich sehr viel langsamer als der Hauptspeicher:
eine durchschnittliche Festplatte hat heutzutage einen Datendurchsatz von 2-7
MB pro Sekunde, der Hauptspeicher aber von 20 bis zu mehreren 100 MB/s, was von
Ihrer Prozessorgeschwindigkeit und davon abhДngt, ob dieser Speicherabschnitt
bereits in die Prozessor-Speicher-Caches geladen wurde.
Deswegen ist ausreichend Hauptspeicher die wichtigste Voraussetzung fБr eine
annehmbar schnelle OS/2-Installation. Zwar kann OS/2 mit 8 MB Hauptspeicher
installiert werden (OS/2 Warp 3 sogar mit 4), aber dabei hФrt man nur noch die
Festplatte rattern, weil permanent aus- und eingelagert wird.
Auch wenn man relativ viel Speicher zur VerfБgung hat (bei mir zB. 32 MB), so
wird doch noch relativ viel ausgelagert, je nachdem, wie speicherintensiv die
Programme sind, die man startet. Ein Compilerlauf fБr XFolder mit VisualAge C++
zB. lДсt meine Auslagerungsdatei durchaus auf 40 MB anschwellen: dh. der
tatsДchliche Speicherbedarf des Systems betrДgt 32+40 = 72 MB.
Sie kФnnen die OS/2-Speicherverwaltung, insbesondere die Verwaltung der
Auslagerungsdatei, Бber einige CONFIG.SYS-Befehle beeinflussen. Auch wenn es
eine ganze Reihe von Befehlen hierzu gibt, sollten Sie trotzdem nur den Befehl
SWAPPATH Дndern, wofБr Ihnen die Seite "Speicher" im Objekt "OS/2-Kernel" eine
Schnittstelle bietet.
DrБcken Sie den "Hilfe"-Knopf auf dieser Seite, um eine ausfБhrliche
ErlДuterung der einzelnen Einstellungen zu bekommen.
ΓòÉΓòÉΓòÉ 9.6. Dateisystem-Caches ΓòÉΓòÉΓòÉ
Dateisystem-Caches sind ein Mechanismus, der von den meisten heutigen
Betriebssystemen genutzt wird, um БberflБssige Laufwerkszugriffe zu vermeiden.
Um dies zu erreichen, wird ein Teil des Hauptspeichers (RAM) in Ihrem Rechner
als ein Puffer fБr die Daten benutzt, die auf die Laufwerke geschrieben bzw.
von ihnen gelesen werden. Einen solchen Speicherbereich bezeichnet man als
"Cache".
Wenn nun eine Anwendung auf Laufwerksdaten zugreift, die sich noch im
Dateisystem-Cache befinden, so kann das Betriebssystem diese aus dem
Hauptspeicher zur VerfБgung stellen und muс sie nicht von der Platte lesen, was
sehr viel schneller geht.
Umgekehrt kФnnen Daten, die von einer Anwendung auf die Festplatte geschrieben
werden, erst einmal in den Cache kopiert und so lange zurБckgehalten werden,
bis die Festplatte Zeit hat, die Daten entgegenzunehmen. Dies bezeichnet man
als "verzФgertes Schreiben" ("lazy write").
Verwechseln Sie nicht die Dateisystem-Caches, die hier beschrieben werden, mit
den anderen Caches Ihres Systems, wie zB. die Prozessor-Caches und andere, die
fest in Ihre Festplatten eingebaut sind. Diese gehФren zur Hardware und werden
hier nicht beschrieben.
OS/2 stellt unterschiedliche Caches fБr jedes installierte Dateisystem zur
VerfБgung. Dies bedeutet, das alle FAT-Laufwerke einen gemeinsamen Cache
benutzen und alle HPFS-Laufwerke einen zweiten. Diese beiden Caches werden
getrennt Бber unterschiedliche CONFIG.SYS-Kommandos konfiguriert, die Sie auf
den Seiten "HPFS" und "FAT" im Objekt "OS/2-Kernel" einstellen kФnnen.
DrБcken Sie dort den "Hilfe"-Knopf, um eine detaillierte Beschreibung der
einzelnen Einstellungen zu erhalten.
═══ 10. Neue XFolder-SystemklДnge ═══
Wenn Sie das OS/2-Multimedia-Subsystem (MMPM/2) und eine Soundkarte installiert
haben, kann XFolder einige neue SystemklДnge auf Ihrem System installieren.
Hinweise: Die neuen SystemklДnge sind standardmДсig ausgeschaltet, denn wenn
diese nicht richtig funktionieren sollten, kann die ArbeitsoberflДche in
erhebliche Probleme geraten. Um die neuen SystemklДnge zu aktivieren, mБssen
Sie "SOUND049.CMD" im Unterverzeichnis BIN des XFolder-Verzeichnisses
ausfБhren. Sollten auf Ihrem System die neuen KlДnge nicht richtig
funktionieren, kФnnen Sie "SOUNDOFF.CMD" im selben Verzeichnis ausfБhren, das
die neuen SystemklДnge wieder ausschaltet.
Mit V0.82 wurde die UnterstБtzung fБr SystemklДnge in eine separate DLL
verlagert (SOUND.DLL), damit XFolder sich auch auf System installieren lДсt, wo
MMPM/2 nicht installiert ist. Wenn Sie Probleme mit den neuen SystemklДngen
haben, kФnnen Sie diese DLL einfach lФschen.
Beachten Sie auсerdem, daс fБr die XFolder-KlДnge das gleiche gilt wie fБr die
normalen SystemklДnge: sie machen das System langsamer. Selbst auf meinen
Pentium-133 mit 32 MB Hauptspeicher macht sich das bemerkbar, obwohl XFolder
einen getrennten Thread fБr die KlДnge benutzt.
Wie auch immer, wenn die neuen SystemklДnge aktiviert sind, kФnnen Sie diese im
Objekt "Warnton" konfigurieren. Dieses Objekt befindet sich standardmДсig
sowohl in den Ordnern "Multimedia" und "Systemkonfiguration".
Objekt "Warnton"
Das Einstellen dieser neuen KlДnge ist nicht allzu spektakulДr; XFolder fБgt
einfach einige neue einstellbare KlДnge zu der Liste auf der linken Seite
hinzu. Alle XFolder-KlДnge beginnen mit "XFolder", so daс sie alle zusammen
gruppiert sind. Nachdem Sie auf einen davon geklickt haben, kФnnen Sie auf der
rechten Seite einen entsprechenden Klang auswДhlen. XFolder stellt bereits fБr
den Anfang einen kleinen Klang fБr die Funktionen "Systemabschluс" und "WPS
neustarten" zur VerfБgung. ;-)
ΓòÉΓòÉΓòÉ 11. Neue Standardsymbole ΓòÉΓòÉΓòÉ
Seit V0.84 erlaubt XFolder Ihnen, eine Reihe von Standardsymbolen der WPS zu
ersetzen. Dies ist eine Verbesserung gegenБber frБheren Versionen, wo nur die
Ordner-Standardsymbole durch feste XFolder-Symbole ersetzt werden konnten.
StandardmДсig sind die Ersetzungen eingeschaltet. Dies kann folgendermaсen
konfiguriert werden:
1. Wenn Sie Бberhaupt keine Ersetzungen wБnschen, stellen Sie die
entsprechende Einstellung im Objekt "Workplace Shell", Seite 1, ab.
2. Wenn Sie andere als die XFolder-Ersetzungen mФchten, mБssen Sie die
Symbole im Unterverzeichnis /ICONS des XFolder-Installationsverzeichnis
ersetzen und die Datei ICONS.DLL neu erstellen. Dies wird nachstehend
erlДutert.
Hinweis: All diese Оnderungen erfordern einen WPS-Neustart, weil es nicht
mФglich ist, Symbole zu ersetzen, die bereits von der WPS benutzt werden.
Das Ersetzen der Symbole ist recht einfach. Schauen Sie in das
Unterverzeichnis /ICONS des XFolder-Installationsverzeichnisses, und Sie
werden dort eine Reihe von Symboldateien finden:
Ersetzen Sie diese Dateien mit Ihren eigenen Lieblingssymbolen und fБhren Sie
das Skript ICONS.CMD im selben Verzeichnis aus. Dies wird eine Datei ICONS.DLL
erstellen, die von XFolder beim nДchsten WPS-Start in sein eigenes
/BIN-Verzeichnis kopiert werden wird.
Hinweise: Das Skript erwartet die Dateinamen genau wie oben bezeichnet.
Auсerdem kФnnen Sie ICONS.DLL im /BIN-Verzeichnis nicht selbst ersetzen, denn
nachdem die WPS einmal gestartet ist, ist diese DLL blockiert. Benutzen Sie
also immer ICONS.CMD.
Drittens: ICONS.CMD erfordert, daс RC.EXE auf Ihrem Systempfad liegt. Dieses
kleine Programm kommt mit jeder OS/2-Version und sollte sich in Ihrem
\OS2-Verzeichnis befinden. Wenn nicht, mБssen Sie es nachtrДglich mit dem
Programm "Installation anpassen" installieren; stellen Sie sicher, daс in der
Sektion "Systemdienstprogramme" die Option "Objektmodule verbinden" (Knopf
"Weiter...") betДtigt ist.
Die ersetzbaren Standardsymbole sind die folgenden:
Programmdateien (Klasse WPProgramFile). Dies sind die Dateien der oberen
Reihe im obigen Bildschirmfoto. Sie reprДsentieren die folgenden
ausfБhrbaren Dateien:
- default.ico wird fБr Programme benutzt, deren Programmtyp XFolder
nicht erkennen kann. Das sollte eher selten vorkommen.
- dll.ico wird fБr Dynamic Link Libraries (DLLs) benutzt. Beachten
Sie, daс nicht alle .DLL-Dateien dieses Symbol erhalten
(insbesondere nicht Windows-DLLs), und einige Dateien erhalten
dieses Symbol, obwohl sie eine andere Erweiterung tragen. XFolder
liest den Dateikopf einer Datei ein, um herauszufinden, ob die Datei
tatsДchlich eine DLL ist.
- dosfull.ico und doswin.ico werden fБr DOS-Programme benutzt, und
zwar jeweils im Vollbild- und Fenster-Modus.
- driver.ico wird fБr virtuelle und physische GerДtetreiber benutzt.
Nicht alle GerДtetreiber erhalten jedoch dieses Symbol, weil einige
von ihnen als DLLs erzeugt wurden und daher das DLL-Symbol tragen.
- os2full.ico und os2win.ico werden fБr OS/2-Programme im Textmodus
benutzt, und zwar jeweils im Vollbild- und Fenster-Modus.
Datendateien (Klasse WPDataFile). Dies ist die Datei xfdataf.ico.
Beachten Sie, daс dieses Symbol nur fБr Datendateien benutzt wird, mit
denen kein Programm verknБpft wurde; andernfalls wird das Symbol des
Programms benutzt. (Dies ist das WPS-Standardverhalten.)
ArbeitsoberflДche (Klasse WPDesktop). Dies sind die Dateien xfdesk1.ico
und xfdesk2.ico, fБr geschlossene und geФffnete
ArbeitsoberflДchen-Ordner. (WДhrend die WPS das gleiche Symbol fБr
geschlossene und geФffnete ArbeitsoberflДchen benutzt, kФnnen Sie nun fБr
geФffnete ArbeitsoberflДchen ein anderes Symbol definieren.)
Ordner (Klasse WPFolder). Dies sind die Dateien xfldr1.ico und
xfldr2.ico, fБr geschlossene und geФffnete Ordner.
Bekannte EinschrДnkungen. Einige Standardsymbole kФnnen im Moment noch nicht
ersetzt werden. Insbesondere PM-Programme ohne ein eingebautes Symbol bekommen
immer ein langweiliges Standardsymbol fБr PM-Programme.
Auсerdem kann XFolder nur die Symbole Дndern, wie sie in Ordnern angezeigt
werden. Insbesondere werden nicht die Symbole geДndert, die die Programme
tragen, nachdem sie gestartet wurden, dh. diejenigen in der Titelzeile des
Programms oder wenn ein Programm auf SymbolgrФсe verkleinert wurde.
Dies wird vielleicht in einer zukБnftigen XFolder-Version behoben.
ΓòÉΓòÉΓòÉ 12. WPS-Startlogos ΓòÉΓòÉΓòÉ
Hier folgen die ErklДrungen zu den neuen WPS-Startlogos (V0.85).
WДhrend die WPS hochfДhrt und XFolder initialisiert wird, schaut XFolder nach
der Datei bootlogo\bootlogo.bmp (vom XFolder-Installationsverzeichnis
ausgehend). Diese Datei wird geladen und als "Shape"-Fenster gezeigt, dh. mit
Transparenz. Diese FunktionalitДt basiert auf dem hervorragenden Paket
"ShapeWin", das kБrzlich auf Hobbes erschienen ist. Schauen Sie in die
Quellcodes von XFolder fБr Details.
Das Startlogo bleibt sichtbar, bis sich die WPS komplett initialisiert hat.
Dann verschwindet es und wird keinerlei Systemressourcen mehr verbrauchen.
Ich habe Ihnen zwei Startlogos beigelegt:
bootlogo.bmp (das also standardmДсig benutzt wird) ist eine Variation des
alten XFolder-Logos. Dies sollten auch Дltere Computer noch verkraften
kФnnen.
cpuhog.bmp ist ein alternativer, neuer Entwurf, den ich viel hБbscher
finde, der aber auf schwДcheren System vielleicht ewig zur Anzeige
braucht. Auf meinem Pentium-133 braucht dieses Logo etwa zwei Sekunden.
Benennen Sie diese Datei in bootlogo.bmp um, um diese zu verwenden.
Sie kФnnen das Startlogo frei durch Ihre eigene Lieblingsgrafik ersetzen, wenn
Sie zB. lieber ein Foto von Bill Gates beim WPS-Start sehen wollen. Ich habe
jedoch einige Zeit auf die bestehenden Grafiken verwendet, und ich hoffe, daс
Sie sie mФgen. (Diese sind Бbrigens mit GIMP/2 entstanden.)
Wenn Sie aber Ihre eigenen Bitmaps verwenden wollen, beachten Sie die
folgenden, wichtigen Hinweise:
1. bootlogo.bmp muс eine unkomprimierte OS/2-1.3-Bitmap-Datei sein.
V2.0-Bitmaps kФnnen nicht geladen werden. Ich muсte meinen eigenen Code
fБr das Laden von Bitmaps einbauen, weil die WPS-Multimediaklassen beim
Hochfahren der WPS noch nicht funktionieren. Sie kФnnen PMView oder die
WPS-Multimediaklassen verwenden, um bestehende Dateien ins 1.3-Format zu
konvertieren.
2. Die Transparenz wird basierend auf dem Pixel ganz links unten in der
Bitmap berechnet. Das heiсt, alle Pixel, die dieselbe Farbe haben wie
Pixel (0, 0) werden transparent gemacht.
3. Sie sollten Дuсerst vorsichtig sein, wenn Sie die Bitmaps ersetzen. Die
Transparenz-Berechnungen sind extrem prozessor-intensiv. Wenn Sie eine
Grafik mit 500 mal 500 Pixel verwenden, bei der die HДlfte der Pixel
transparent sind, kann dies Ihr System fБr viele Minuten blockieren. Und
das heiсt tatsДchlich blockieren, denn es ist der Presentation Manager
(PM), der hier die meiste Zeit verbraucht, und das "Killen" von Prozessen
hДngt hier normalerweise das ganze System auf.
Da PM fБr die Anzeige nur von rechteckigen Fenstern entworfen wurde,
funktionieren diese "Shape"-Fenster wie folgt: die Bitmap wird Pixel fБr
Pixel analysiert, und es werden so viele rechteckige PM-Unterfenster
erzeugt, wie nicht-rechteckige transparente FlДchen in der Bitmap
existieren.
Aus diesem Grund mБssen Sie mit der Transparenz sehr vorsichtig sein. Je
mehr nicht-rechteckige transparente FlДchen in der Bitmap sind, desto
mehr Unterfenster werden erzeugt.
Beispiel:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé
Γöé 11111111111111 Γöé
Γöé 11111111111111 Γöé
Γöé 2222 3333 Γöé
Γöé 44444444444444 Γöé
Γöé 44444444444444 Γöé
Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
(wobei " " fБr einen transparenten Pixel steht) wБrde genau vier
Unterfenster erzeugen (als "1"-"4" markiert).
Wenn Sie jedoch "diagonale" oder andere nicht-rechteckige transparente
FlДchen haben, muс fБr jede Zeile der Bitmap mindestens ein Unterfenster
erzeugt werden, was PM wirklich eine Weile beschДftigen kann.
Noch ein Beispiel:
ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
Γöé Γöé
Γöé 111111111 Γöé
Γöé 2222 333 Γöé
Γöé 44 55 Γöé
Γöé 666 777777 Γöé
Γöé 8888888888 Γöé
Γöé 9999999999 Γöé
Γöé Γöé
ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
Dies wБrde bereits neun Fenster erzeugen: eins fБr die oberste Zeile,
dann jeweils zwei fБr die folgenden, und noch je eines fБr die unteren
Zeilen. Stellen Sie sich nun eine Bitmap dieser Art mit 500 Zeilen vor:
das wБrde mindestens 500 Fenster erzeugen.
Um dies klarzustellen: es ist nicht die Analyse der Bitmap, die die CPU
belegt, sondern das Erzeugen der Unterfenster. Folglich schaden groсe
Bitmaps nicht, wenn sie keine oder nur rechteckige Transparenz enthalten.
Ich habe dies auf eine unangenehme Art und Weise herausgefunden, als ich
versehentlich eine Bitmap fБr die Systemfarbenpalette konvertiert habe
und diese dabei "gedithert" wurde. PlФtzlich waren da Hunderte von
transparenten und nicht-transparenten Pixeln, die sich stДndig
abwechselten, weil der Hintergrund, den ich eigentlich wollte, gedithert
worden war.
Die Bitmap hatte ungefДhr 100 Zeilen, und ich bekam mehrere tausend
Unterfenster. Nach zwei Minuten habe ich Strg-Alt-Entf gedrБckt, weil gar
nichts mehr ging.
Seien Sie also gewarnt. Beginnen Sie mit kleinen Bitmaps und testen Sie,
was Ihr System aushДlt. FБr grФсere Bitmaps sollten Sie versuchen, die
transparenten Bereiche rechteckig zu halten.
Schlieсlich kann das Logo vollstДndig abgeschaltet werden, indem Sie die
Bitmap lФschen oder die Anzeige im Objekt "Workplace Shell", "XFolder" Seite 2
abstellen.
Wenn alles schieflДuft und Ihre WPS nicht mehr hochfahren will, kФnnen Sie
beim Start der WPS die Umschalt-(Shift-)Taste gedrБckt halten, wodurch die
Berechnungen komplett Бbergangen werden. Wenn die WPS dann gestartet ist,
kФnnen Sie die Bitmap lФschen.
ΓòÉΓòÉΓòÉ 13. Die Netscape-DDE-Schnittstelle ΓòÉΓòÉΓòÉ
EinfБhrung
Installation
Kommandozeilen-Parameter
Tips & Tricks
Wie es funktioniert
Revision history
═══ 13.1. EinfБhrung ═══
Geht es Ihnen auch auf die Nerven, daс jedesmal, wenn Sie auf eine URL oder
eine HTML-Datei klicken, eine neue Instanz von NETSCAPE.EXE geФffnet wird? Dies
ist eine Verschwendung von Zeit, Speicher, und Systemressourcen.
Die Netscape-DDE-Schnittstelle bietet Abhilfe. Sie kФnnen sie HTML- und
URL-Dateien zuordnen, so daс bei einem Doppelklick auf diese Dateien entweder
Netscape gestartet wird, oder, wenn Netscape schon lДuft, die gewБnschte Datei
einfach an den laufenden Netscape Бbergeben wird.
NetscDDE funktioniert sowohl mit Navigator 2.02 als auch mit Communicator 4.04
fБr OS/2.
ΓòÉΓòÉΓòÉ 13.2. Installation ΓòÉΓòÉΓòÉ
Es gibt keine wirkliche Installation fБr NetscDDE, weil XFolder bereits dafБr
vorkonfiguriert ist. Die Standardkonfiguration fБgt bereits einen MenБpunkt
"Netscape DDE" zu allen OrdnerkontextmenБs hinzu, der dann den Inhalt des
Ordners in Netscape anzeigt.
Es gibt jedoch einige zusДtzliche Dinge, die man mit NetscDDE anstellen kann:
1. Erstellen Sie ein Programmobjekt fБr die Datei NETSCDDE.EXE im
Unterverzeichnis /BIN des XFolder-Installationsverzeichnisses. Ordnen Sie
diesem Programmobjekt die Filter *.HTM und *.HTML zu, und Sie kФnnen dann
auf HTML-Dateien doppelklicken, so daс NetscDDE sie Фffnet.
2. Sie kФnnen auсerdem NetscDDE als Ihren Standard-Browser in den
URL-Objekten von Warp 4 einstellen.
ΓòÉΓòÉΓòÉ 13.3. Kommandozeilen-Parameter ΓòÉΓòÉΓòÉ
NetscDDE wird Бber Kommandozeilenparameter konfiguriert. Das ist nicht
besonders intuitiv, aber flexibel. Auсerdem ist es fБr mich weniger Arbeit.
NetscDDE erklДrt sich selbst, wenn Sie auf NETSCDDE.EXE doppelklicken. Die
Syntax ist:
netscdde [-[x|X]n]] [-p <exe>] [-P <params>] [-m[h]] <URL>
Wie man sieht, ist <URL> der einzig erforderliche Parameter.
Die Parameter bedeuten das folgende:
<URL>
ein Uniform Resource Locator; Sie kФnnen damit sogar Dateien im
Internet Фffnen, indem Sie http:// oder ftp:// etc. angeben. Dies
ist der Grund, warum NetscDDE auch mit URL-Objekten funktioniert.
FБr lokale HTML-Dateien toleriert Netscape den schlichten Pfad und
Dateinamen und wird diese Datei Фffnen. Beispiel:
NETSCDDE C:\docs\text.html
Optionen:
-x
Wenn Netscape noch nicht lДuft, keine neue Instanz Фffnen. NetscDDE
macht dann gar nichts.
-X
Wenn Netscape noch nicht lДuft, immer eine neue Instanz Фffnen,
ohne nachzufragen.
Wenn weder -x noch -X angegeben sind, fragt NetscDDE nach, ob eine
neue Instanz von Netscape geФffnet werden soll.
-n
Ein neues Browser-Fenster von Netscape anfordern, wenn es bereits
lДuft. (Wenn Netscape noch nicht lДuft und eine neue Instanz
gestartet wird, wird natБrlich immer ein neues Fenster geФffnet.)
StandardmДсig wird <URL> in dem zuletzt aktiven Fenster von Netscape
geФffnet.
-p <exe>
Hier kФnnen Sie den vollen Pfad von NETSCAPE.EXE angeben, wenn sich
diese Datei nicht auf ihrem PATH befindet. Dies wird nur
ausgewertet, wenn Netscape noch nicht lДuft und daher gestartet
werden muс. StandardmДсig wird der PATH nach NETSCAPE.EXE
durchsucht. Beispiel:
NETSCDDE -p "C:\NETSCAPE\NETSCAPE.EXE" <URL>
AnfБhrungszeichen sind nur notwendig, wenn der Pfad Leerzeichen
enthДlt, schaden aber auch nicht.
FБr eine interessante Nebenwirkung dieser Option siehe die Seite
"Tips & Tricks".
-P <params>
Hier kФnnen Sie Kommandozeilenparameter angeben, die einer neu
geФffneten Instanz von Netscape Бbergeben werden, wie zB. "-3" fБr
die Netscape-3.0-Identifizierung (siehe die Netscape-Dokumentation
fБr Details). Beispiel:
-P "-3"
AnfБhrungszeichen sind nur notwendig, wenn der Pfad Leerzeichen
enthДlt, schaden aber auch nicht.
-m
Netscape in SymbolgrФсe starten.
-mh
Netscape in SymbolgrФсe und versteckt starten (siehe die Seite "Tips
& Tricks").
ΓòÉΓòÉΓòÉ 13.4. Tips & Tricks ΓòÉΓòÉΓòÉ
1. Here's an unintended, but maybe useful side-effect: Since OS/2 can share
its DDE environment with a Win-OS/2 session, NETSCDDE can even pass URLs
to a running Win-OS/2 copy of Netscape Navigator. This includes
Communicator (Netscape 4). The only thing you have to do is enable
WIN_DDE in the Win-OS/2 session settings of your Windows Netscape program
object. By specifying your Windows Netscape EXE file with -p <exe> (see
above), NETSCDDE.EXE even provides for proper WPS integration of Windows
Netscapes.
2. You can now (V1.1) also specify a .CMD file with -p and -P to have
certain commands executed before and after Netscape is actually started.
You should specify the -m or -mh options so that no ugly VIO window
appears. Here is an example NETSCAPE.CMD:
@echo off
rem do some initialization here, e.g. change directory
cd D:\WebStuff
rem now call Netscape
netscape.exe
rem now the .cmd file is put to sleep until Netscape is
rem terminated; subsequent calls to NETSCDDE will contact
rem this running Netscape instance
rem after Netscape is terminated, execute this:
call cleanup.cmd
rem or whatever you want
Thanks, Marcus de Geus, for this suggestion.
3. Here's a trick from Chris Wenham, senior editor of OS/2 e-zine, found in
the SmartSuite Mailing List (smartsuite-os2@makelist.com):
"If you need to change the web browser that Smartsuite apps call when you
click one of their Internet buttons (like Organizer's button to go to the
Almanack page), or send the URL to the currently running copy of Netscape
instead of launching a new instance, you need to do this:
Launch REGEDIT2.EXE in the /OS2/SYSTEM directory. Expand the
HKEY_CLASSES_ROOT tree. Scroll down to "http" and expand it all the way
down (through "shell" and "open") until you come to "command".
Right click on the data in the "(Default)" key, pick "Modify", and change
the path to the new browser, making sure it's followed with a "%1" (which
represents the URL). Close RegEdit.
You shouldn't need to reboot, but you might need to restart any SS
components that are running.
Chris then states that you can enter NETSCDDE.EXE as your browser in this
section.
ΓòÉΓòÉΓòÉ 13.5. How It Works ΓòÉΓòÉΓòÉ
This is done with the use of Dynamic Data Exchange (DDE), for the OS/2 version
of Netscape 2.02 understands just the same DDE commands as the Windows versions
do. These commands are (horribly) documented at
http://developer.netscape.com/library/documentation/communicator/DDE
These documents assume a detailed knowledge of how DDE works, and believe me,
some things ARE different on OS/2.
ΓòÉΓòÉΓòÉ 13.6. NetscDDE Revision History ΓòÉΓòÉΓòÉ
V1.2 (July 8, 1998)
Finally created this INF file for documentation. NetscDDE is now exclusively
distributed with XFolder and is published under the GNU General Public Licence.
V1.1 (May 15, 1998)
NETSCDDE can now start any program specified with -p, for example a batch file.
New -m and -h parameters.
V1.02 (May 1, 1998)
NETSCDDE does not any longer block the PM while waiting for Netscape to answer.
V1.01 (March 8, 1998) Bugfix for local files which contain spaces.
V1.0 (March 5, 1998)
Initial release.
ΓòÉΓòÉΓòÉ 14. Frequently Asked Questions (FAQ) ΓòÉΓòÉΓòÉ
Dieser Abschnitt enthДlt Fragen, die dem Autor von XFolder hДufig gestellt
wurden. Bitte lesen Sie diese Texte, bevor Sie den Autor Бber mФgliche Probleme
oder Fehler benachrichtigen. Vielleicht finden Sie die Antwort bereits hier.
Allgemeine Fragen
Fragen zur Installation
Fragen zu MenБs
Fragen zum Erweiterten Systemabschluс
ΓòÉΓòÉΓòÉ 14.1. FAQ: Allgemeine Fragen ΓòÉΓòÉΓòÉ
Zuallererst: Schauen Sie in das Objekt "Workplace Shell", wo Sie eine ganze
Anzahl an nБtzlichen Hebeln finden werden, um XFolder Benehmen beizubringen.
Wenn Sie die Antwort auf ihre Fragen nicht hier in der "FAQ"-Sektion finden,
schauen Sie bitte auch auf die WWW-Heimseite von XFolder, wo der Autor
inzwischen eine Фffentliche Bug-Liste unterhДlt, die vielleicht Ihr Problem
bereits enthДlt.
1. Macht XFolder die WPS langsamer?
Ich glaube, nicht generell. Ich habe dies nicht ausgetestet, aber im
allgemeinen macht XFolder nur bestimmte WPS-Funktionen langsamer.
Am offensichtlichsten ist dies fБr KontextmenБs. Auch wenn das Limit von
50 Objekten fБr den Konfigurationsordner seit V0.70 nicht mehr besteht,
sollten Sie trotzdem nicht allzuviele Objekte hier hineinstellen, denn
diese Ordner werden bei jedem Щffnen von Ordner-KontextmenБs ausgelesen.
FБr die anderen Funktionen weiс ich nicht so genau, was Zeit kostet; ich
denke, die Statuszeilen werden das System ein biсchen verlangsamen, aber
das ist normalerweise nicht bemerkbar.
Auсerdem verbraucht XFolder nicht sehr viel Speicher. Ich habe dies mal
auf meinem System БberprБft, und zusДtzlich zu dem Platz, den natБrlich
die XFolder-DLLs selbst verbrauchen, fordert XFolder lediglich etwa 100
bis 400 KB an, je nachdem wie lange die WPS bereits lДuft.
2. Warum sind unter Warp 3 die Dialoge so hДсlich?
XFolder benutzt inzwischen die Schriftart "WarpSans" fБr die meisten
Dialoge, weil sie einfach so viel hБbscher ist. Diese Schrift gibt's nur
unter Warp 4, deswegen benutzt OS/2 unter Warp 3 den Standardfont (System
Proportional). Wenn Sie irgendwie an die Datei \OS2\DLL\DSPRES.DLL aus
Warp 4 herankommen, kopieren Sie sie einfach in das Verzeichnis \OS2\DLL
Ihrer Warp-3-Installation. Diese Datei enthДlt viele Systemressourcen,
ua. WarpSans. Warp3 funktioniert mit der Warp-4-Version dieser Datei ohne
Probleme. (Dies funktioniert nur, wenn Sie OS/2 Бber Kommandozeile
booten: Alt-F1 beim Systemstart.)
3. Warum funktionieren die neuen SystemklДnge nicht?
Sie mБssen diese erst aktivieren (siehe hierzu die entsprechende Seite).
4. Warum stБrzt SOM.DLL immer ab?
Wenn Sie VisualAgeC++ benutzen (oder irgendeine andere Software, die
SOM-Runtimes installiert), stellen Sie sicher, daс SOM.DLL aus dem
Verzeichnis \OS2\DLL geladen wird. Diese DLL ist mit den letzten Fixpaks
aktualisiert worden. VAC++ fБgt zusДtzliche EintrДge zum LIBPATH in
CONFIG.SYS hinzu, die statt dessen eine veraltete Version dieser DLL
laden. Stellen Sie die Verzeichnisse von VAC++ hinter \OS2\DLL im
LIBPATH.
5. Warum funktionieren die XFolder-Funktionen nur mit einigen Ordnern und
nicht mit anderen?
Das ist nicht einfach zu beantworten. Diese Probleme sind mir in allen
mФglichen Varianten berichtet worden, dh. TastenkБrzel funktionieren nur
auf der ArbeitsoberflДche selbst, oder nicht in URL-Ordnern, oder nicht
in "group folders" (ein IBM-Utility), etc.pp. Оhnliches gab's fБr
Statuszeilen.
Aus meiner Sicht hat das etwas mit dem "Subclassing" von Ordnern zu tun.
XFolder benФtigt bestimmte Fenster-Nachrichten ("messages"), um seine
Funktionen in die WPS einzubauen, und wenn irgendeine andere WPS-Klasse
diese Nachrichten abfДngt, kriegt XFolder Probleme.
Allgemein gilt: Je mehr WPS-Klassen Sie installiert haben, desto eher
knallt's. Mit einer "sauberen" WPS funktioniert XFolder normalerweise
problemlos, aber die Benutzer, die diese Fehler berichteten, hatten
teilweise allein vier Ordner-Ersatzklassen installiert, und es ist fБr
mich sehr schwierig, solche Nebenwirkungen zu reproduzieren. Versuchen
Sie, diejenigen WPS-Erweiterungen zu deinstallieren, die Sie nicht
absolut brauchen.
Auсerdem wird die WPS gerne Бberhaupt etwas instabil, je unordentlicher
Ihre INI-Dateien sind. Ich empfehle von Herzen das Paket WPTOOLS von Henk
Kelder, das man immer mal wieder laufen lassen sollte, um die WPS zu
"waschen". Dieses Paket wird immer noch aktualisiert und ist auf Hobbes
verfБgbar.
Ich habe auсerdem bemerkt, daс die Reihenfolge von Installationen wichtig
ist. Einige WPS-Erweiterungen "schlucken" einfach Nachrichten, die sie
selbst nicht fБr wichtig halten, anstatt sie an das System
weiterzureichen. (Dies kann auch auf XFolder zutreffen, aber ich habe
versucht, dies zu vermeiden.) Es kann also einen Unterschied machen,
welche WPS-Klasse eine bestimmte Nachricht zuerst bekommt.
6. Funktioniert XFolder mit Object Desktop?
In der Theorie: ja. In der Praxis: manchmal. FБr Details hierzu (und auch
zu anderer Software) siehe "KompatibilitДt".
7. Warum lДuft jedesmal das Diskettenlaufwerk an, wenn ich den Ordner
"Laufwerke" Фffne?
Das liegt daran, daс die XFolder-Statuszeile den freien Platz auf einem
Laufwerk abfragt. Wenn das erste Objekt in Ihrem Laufwerke-Ordner ein
Diskettenlaufwerk ist, so wird dieses abgefragt.
Wenn Sie dies vermeiden mФchten, so Дndern Sie die
Statuszeilen-Informationen fБr WPDisk-Objekte im Objekt "Workplace
Shell", Seite 2 unter "Statuszeilen". Dann werden diese Informationen
auch nicht abgefragt.
Alternativ kФnnen Sie die Statuszeilen nur fБr den Ordner "Laufwerke"
abschalten (im Einstellungsnotizbuch dieses Ordners, Seite "XFolder").
8. LДuft XFolder auf Macintosh-Rechnern?
Nein.
Schamlose Eigenwerbung: XFolder funktioniert prДchtig mit dem fantastischen
CommandPak des gleichen Autors, ebenfalls verfБgbar auf meiner Heimseite.
Dieses Paket wird Ihre OS/2-Kommandozeile dramatisch verbessern und auсerdem
einige WPS-UnterstБtzung zur Kommandozeile hinzufБgen.
ΓòÉΓòÉΓòÉ 14.2. FAQ: Fragen zur Installation ΓòÉΓòÉΓòÉ
1. Nach dem WPS-Neustart stБrzt die WPS ab bzw. startet sich stДndig neu.
Was soll das?
Schwierig zu sagen. Wenn sich die WPS stДndig neustartet, ist dies ein
sicheres Zeichen dafБr, daс die WPS intern abstБrzt, wДhrend sie
hochfДhrt. Dies ist ein Дhnliches Problem wie auf der vorherigen Seite:
wahrscheinlich vertrДgt sich XFolder mit anderen WPS-Erweiterungen nicht.
Ansonsten kann es auch sein, daс der WPS-Neustart auf Ihrem System
einfach nicht funktioniert. Der Neustart ist nur als AbkБrzung gedacht,
damit Sie nicht das ganze System neustarten mБssen. Wenn dies nicht
funktioniert, starten Sie den Rechner neu.
Mir wurde auсerdem berichtet, daс es manchmal hilft, die INI-SchlБssel
von XFolder zu entfernen. Benutzen Sie einen INI-Editor und suchen Sie in
OS2.INI in der "Applications"-Liste nach EintrДgen, die mit "XFolder"
beginnen. LФschen Sie sie allesamt. Seit V0.81 benФtigt XFolder keine
INI-EintrДge mehr, um zu funktionieren. Dies lФscht zwar alle Ihre
Einstellungen und setzt die Sprache zurБck auf Englisch, aber vielleicht
funktioniert XFolder ja dann.
Auсerdem ist es immer zu empfehlen, etwas neuere OS/2-Fixpaks zu
installieren, dh. wenigstens Fixpak 35 fБr Warp 3 und Fixpak 5 fБr Warp
4. XFolder lДuft meinen Tests zufolge auch ohne Fixpaks, aber dies kann
uU. zu Problemen fБhren. IBM hat mit der Zeit viele Dinge im SOM-Kernel
geДndert, den die WPS fБr ihre Klassenverwaltung benФtigt. Ich habe
einige Dinge unternommen, um die KompatibilitДt von XFolder zu erhФhen,
aber ich kann nicht jede denkbare Konfiguration selbst austesten. Zum
Beispiel ist nach meiner Erfahrung der SOM-Kernel vom Standard-Warp-3
ziemlich fehlerhaft, also wenigstens bei Warp 3 empfehle ich dringend,
Fixpaks zu installieren. (Trotzdem lДсt sich XFolder seit V0.82 auf Warp
3 jetzt auch ohne Fixpaks installieren.)
2. Das Installationsprogramm meldet, daс einige Klassen nicht registriert
werden konnten. Was kann ich tun?
Mit den ersten V0.8x-Versionen bestanden ernsthafte
Installationsprobleme. Offenbar haben sich die Dinge mit V0.82 zum
besseren gewendet, da ich die SOM-Mehrfachvererbung entfernt habe, die
die WPS auf einigen System anscheinend nicht so gerne mochte.
Wenn die Installation immer noch klemmt, auch wenn nur einige der
Klassen nicht installiert werden konnten, entfernen Sie bitte trotzdem
alle XFolder-Klassen. Deinstallieren Sie XFolder, bis diese Probleme
gelФst sind. Die verschiedenen Klassen benФtigen einander, und es ist
sehr wahrscheinlich, daс die WPS fehlerhaft arbeitet, wenn nicht alle
XFolder-Klassen installiert sind.
3. Das Installationsprogramm erzeugt die Objekte "OS/2 Kernel" und
"Workplace Shell" nicht. Wie kann ich diese Objekte erstellen?
Bei V0.80 vergaс das Installationsskript diese Objekte zu erstellen, wenn
der Konfigurationsordner bereits existierte. Dies sollte jetzt behoben
sein, aber wenn dieses Problem immer noch besteht, kФnnen Sie einfach
Ihren Konfigurationsordner lФschen, und er wird automatisch neu erstellt
werden.
Ansonsten kФnnen Sie auch manuell die Skripte INSTLxxx.CMD und
CROBJxxx.CMD im Unterverzeichnis INSTALL ausfБhren, wobei "xxx" fБr Ihren
dreistelligen Landes-Code steht, wie er auf der Seite "NLS" beschrieben
ist (fБr Deutsch: 049).
Der Fehler kann auch daran liegen, daс die Klassen "XFldSystem" und
"XFldWPS" nicht ordentlich registriert wurden. Dies ist unter Warp 3
vorgekommen, wenn keine Fixpaks installiert waren.
═══ 14.3. FAQ: Fragen zu MenБs ═══
1. Meine OrdnermenБs sind БberfБllt. Was kann ich tun?
Generell kann man der WPS beibringen, diejenigen MenБeintrДge
auszulassen, die nur Mausoperationen duplizieren (also "Kopieren",
"Verschieben" etc.).
Unter OS/2 Warp 3 mБssen Sie hierzu SET MENUSTYLE=SHORT in die
CONFIG.SYS stellen.
Unter OS/2 Warp 4 gibt es eine neue Einstellung im "System"-Objekt,
auf der "MenБ"-Seite. Diese Einstellung gibt es auch in jedem
Ordner-Einstellungsnotizbuch; zudem gibt es einen entsprechenden
Ordner-"Setup string".
XFolder erlaubt Ihnen aber auch, bestimmte MenБeintrДge individuell fБr
alle Ordner gemeinsam Бber die "KontextmenБs"-Seiten im Objekt "Workplace
Shell" zu entfernen.
2. Die Ordnerinhalt-Funktionen sind zwar hilfreich, kФnnen aber Ihre
KontextmenБs unБbersichtlich werden lassen, wenn Sie viele Ordner zu
Ihren Lieblingsordnern machen. Auf meinem System habe ich einen separaten
Ordner namens "HДufiges" erstellt, der mein einziger Lieblingsordner ist.
In diesen Ordner habe ich all diejenigen Ordner gestellt, die ich hДufig
benutze, so daс ich nur einen Eintrag im KontextmenБ habe, aber ein
UntermenБ mit allen meinen hДufig benutzten Ordnern.
3. Wenn ich einen MenБpunkt aus einem KontextmenБ auswДhle, wird nicht die
Funktion von XFolder ausgefБhrt, sondern irgendetwas anderes. Was soll
das?
Das liegt wahrscheinlich an einem MenБ-ID-Konflikt mit einer anderen
WPS-Erweiterung. Dies ist ein bekanntes Problem bei Netzwerkanmeldungen.
Gehen Sie ins Objekt "Workplace Shell", Seite 2 von "XFolder"
("XFolder-Interna") und erhФhen Sie den "MenБ-ID-Abstand". DrБcken Sie
auf den "Hilfe"-Knopf fБr weitere Informationen.
4. Wenn ich einen MenБpunkt auswДhle, der nicht von XFolder stammt, fБhrt
trotzdem XFolder eine Funktion aus. Was soll das?
Das gleiche Problem wie zuvor.
5. Wenn ich ein KontextmenБ Фffne, stБrzt das System ab oder hДngt sich auf.
Was kann ich tun?
Die Versionen vor V0.82 waren in dieser Hinsicht eine Art
Videotreiber-Test. ;-) Ich habe herausgefunden, daс einige Videotreiber
den Modus "transparent background mix" fБr Bitmaps nicht unterstБtzen,
den XFolder frБher benutzte. WДhrend einige Treiber die Transparenz still
ignorierten, stБrzten andere Treiber ab und nahmen das ganze System mit
sich (vor allem Matrox Millenium).
Mit V0.82 habe ich das Zeichnen der Icons in den Ordnerinhalt-MenБs auf
"echte" Icons umgestellt (statt Bitmaps). Trotzdem sind die Symbole noch
standardmДсig ausgeschaltet; schalten Sie "Symbole anzeigen" auf der
Seite "KontextmenБs" im Objekt "Workplace Shell" an, um die Symbole
sichtbar werden zu lassen.
Wenn Sie immer noch Probleme haben: Ralph Scharpf hat mir berichtet, daс
man die IBM-GRADD-Treiber fБr MGA-Videokarten installieren kann, was zu
funktionieren scheint. Leider unterstБtzen diese Treiber 1024x768 nur mit
60 Hz, aber bei 800x600 scheint's zu gehen.
6. Warum funktionieren Ordnerinhalt-MenБs nicht mit der Klickstartleiste?
Ich weiс es nicht. Sie sind jedenfalls immer leer. Ich schДtze, die
Klickstartleiste benutzt normale Referenzen fБr die angezeigten Objekte,
aber die Fensterprozedur von XFolder wird fБr diese nicht aufgerufen. Ich
habe noch keine MФglichkeit gefunden, von XFolder aus herauszufinden, wer
gerade ein KontextmenБ anfordert.
7. Ich habe etwas zu einem Konfigurationsordner hinzugefБgt, aber es
erscheint nicht in den MenБs. Ist dies ein KompatibilitДtsproblem?
Wahrscheinlich nicht. Seit V0.70 benutzt XFolder die .ICONPOS-Erweiterten
Attribute der Konfigurationsordner, um die Reihenfolge von Objekten in
einem Ordner herauszubekommen. Das Problem ist nur, daс diese allein
geschrieben werden, wenn ein Ordner geschlossen wird, und auch nur, wenn
der Ordner in der Symbol- oder Detailanzeige geФffnet war. Also Фffnen
Sie den Ordner in der Detailanzeige und schlieсen Sie ihn wieder, dann
sollte es klappen.
8. Wie erzeuge ich unterstrichene Buchstaben in KontextmenБs fБr
TastaturkБrzel?
Stellen Sie ein Tilde-Zeichen ("~") vor einen Buchstaben im Titel des
entsprechenden WPS-Objektes. Dieser Buchstabe erscheint dann im MenБ
unterstrichen, und Sie kФnnen ihn als TastaturkБrzel benutzen, wenn das
MenБ offen ist. (Dies ist von den TastenkБrzeln in Ordnern zu
unterscheiden, die XFolder fБr offene Ordner anbietet.)
Beispiel: Befehl~szeilen macht das "s" zum TastenkБrzel im MenБ.
Schalten Sie hierfБr "In Fenstertiteln ''~'' unterdrБcken" im Objekt
"Workplace Shell" ein.
9. Ich habe ein neues Programmobjekt in den Konfigurationsordner gestellt,
aber wenn ich den MenБpunkt auswДhle, bekomme ich Fehlermeldungen von dem
Programm. Was mache ich falsch?
Wahrscheinlich mБssen Sie in das Feld "Parameter" des Programmobjektes
ein Prozentzeichen ("%") stellen, damit XFolder den Ordnernamen nicht als
Parameter Бbergibt. Siehe auch "Extra features for program objects" fБr
Details.
10. Ich habe eine Referenz in einen Konfigurationsordner gestellt, aber diese
wird nicht wie die anderen Objekte geФffnet. Was mache ich falsch?
Zwar Фffnet XFolder Referenzen auf Programmobjekte auch aus den
Konfigurationsordnern, aber die Verzeichnisse oder Parameter werden fБr
diese nicht geДndert. Dies ist kein Fehler, sondern eine absichtliche
Sicherheitsvorkehrung. Kopieren Sie Ihre Programmobjekte in die
Konfigurationsordner, anstatt Referenzen zu erstellen. Sehen Sie auf das
untere Ende der Seite "Zusatzfunktionen fБr Programmobjekte" fБr Details.
11. Wie kann ich Befehlszeilenkommandos ausfБhren?
Um bestimmte Befehlszeilenkommandos ausfБhren zu kФnnen, die in CMD.EXE
eingebaut sind (wie zB. REN, COPY, DEL, CD), stellen Sie ein
Programmobjekt in den XFolder-Konfigurationsordner. Als Programm geben
Sie CMD.EXE an; in die Parameterliste schreiben Sie /C <commands>.
Beispiel, um alle Dateien in einem Ordner zu lФschen: stellen Sie CMD.EXE
in das Feld "Pfad und Dateiname" und /C DEL * in das "Parameter"-Feld.
Dies ist natБrlich nur ein albernes Beispiel und wird NICHT empfohlen.
12. Wie kann ich REXX verwenden, um die WPS zu manipulieren?
Ich habe in den Appendices dieser Dokumentation einige Informationen
hierzu zusammengestellt:
eine komplette Liste aller Ordner-"Setup strings" (englisch);
eine Sammlung der Standard-OS/2-Objekt-IDs;
ein Diagramm mit der WPS-Klassen-Hierarchie.
Wenn Sie sich mit REXX nicht so gut auskennen, kФnnen Sie die Datei
ALWSSORT.CMD im Unterverzeichnis /BIN kopieren und Дndern. Siehe auch die
Seite "ZusДtzliche Dateien".
Im Бbrigen empfehle ich von Herzen das INF-Buch "REXX Tips&Tricks" von
Bernd Schemmer, das als "rxtt28.zip" (oder neuer) auf Hobbes erhДltlich
ist. ;
13. Warum kann ich mein neues Objekt im Konfigurationsordner nur einmal
Фffnen?
Wenn Sie Programmobjekte erstellen, die mehrere Male geФffnet werden
sollen (vor allem Befehlszeilenobjekte), sollten Sie auf der
"Fenster"-Seite im Einstellungsnotizbuch bei "Vorgang beim Щffnen" "Neues
Fenster" auswДhlen. Andernfalls wird OS/2 das Programm nur einmal starten
und beim zweiten Щffnen nur das bestehende Fenster aktivieren.
14. Ich habe versehentlich den XFolder-Konfigurationsordner gelФscht. Wie
bekomme ich ihn zurБck?
Keine Panik: XFolder wird Sie benachrichtigen und automatisch wahlweise
einen neuen, leeren Konfigurationsordner auf der ArbeitsoberflДche oder
den der Standardkonfiguration erstellen.
Achtung: Dieses Verhalten impliziert, daс Sie einen Konfigurationsordner
auf Ihrem System haben MЪSSEN, solange XFolder installiert ist. Dieser
darf leer sein, aber er muс existieren.
═══ 14.4. FAQ: Fragen zum Erweiterten Systemabschluс ═══
1. Warum funktioniert der automatische Rechnerneustart bei mir nicht?
Ich weiс es nicht -- auf einigen System geht's einfach nicht. Ich hatte
dieses Problem selbst mit Warp 3 und FixPak 35, wДhrend der
Rechnerneustart unter Warp 4 funktionierte. Mehrere Benutzer haben dies
ebenfalls berichtet, und das Problem besteht genauso mit der gleichen
Funktion von WarpEnhancer. Daher vermute ich, daс das Problem nicht bei
XFolder liegt. (Der Rechnerneustart funktioniert mit einem
undokumentierten Trick, deswegen gibt's von IBM wahrscheinlich keine
Garantie, daс das immer funktioniert.) Wenn Sie IBMs BootManager
installiert haben, kФnnen Sie das Problem umgehen, indem Sie SETBOOT.EXE
als benutzerdefinierte Neustart-Option eingeben (Einstellungsnotizbuch
der ArbeitsoberflДche -> "XDesktop" Seite 1 -> "Aktionen").
2. Gibt es irgendetwas, das beim Erweiterten Systemabschluс nicht
gespeichert wird?
Ja. Der Erweiterte Systemabschluс speichert keine Fensterpositionen von
Ordnern, die gerade vor dem Aufrufen des Systemabschlusses geschlossen
wurden. Das liegt daran, daс die WPS das Speichern der Fensterpositionen
verzФgert in irgendeinem Hintergrund-Thread vornimmt, auf den ich keinen
Zugriff habe, und das Format der entsprechenden INI-EintrДge ist nicht
dokumentiert, so daс ich das nicht selbst machen kann. Gleiches gilt fБr
Ordner, die wДhrend des Systemabschlusses geschlossen werden.
Um dieses Problem zu umgehen, sollten Sie WPS-Ordner manuell schlieсen
und etwa 10-20 Sekunden warten, bevor Sie den Systemabschluс anwerfen.
(Mit "Fensterpositionen" meine ich hier die Position einer geФffneten
Ordneransicht, nicht die Positionen der Symbole in dem Ordner. Diese
werden ordentlich gesichert.)
Auсerdem kann XFolder nicht Оnderungen an der Fensterliste speichern (zB.
Schriftarten oder Farben, die von den Paletten darauf fallengelassen
werden). Um diese Оnderungen zu sichern, mБssen Sie einmalig den normalen
OS/2-Systemabschluс benutzen.
3. Warum bekomme ich stДndig Fehlermeldungen, wДhrend die INI-Dateien
gesichert werden?
Dies liegt wahrscheinlich daran, daс einige INI-SchlБssel keine Daten
enthalten, was nicht passieren sollte. Versuchen Sie, den betroffenen
SchlБssen zu lФschen, da er sowieso keine Daten enthДlt.
4. Warum funktioniert das APM-Abschalten bei mir nicht?
Keine Ahnung. Mein Rechner unterstБtzt das APM-Abschalten nicht, also
kann ich diese Funktion nicht selbst testen. Bitte benachrichtigen Sie
ARAKAWA Atsushi, arakaw@ibm.net, der den APM-Code geschrieben hat.
Einige Benutzer haben berichtet, daс das APM-Abschalten beim nДchsten
OS/2-Neustart ein CHKDSK provoziert. Offenbar wird das Abschalten erst
von neueren Versionen des OS/2-Kernels unterstБtzt, die die nФtigen
Dateisystem-Funktionen enthalten. IBM hat die APM-UnterstБtzung mit Warp
4 Fixpak 6 aktualisiert, vielleicht hilft es also, ein neueres Fixpak zu
installieren. Die Seite "XShutdown" im Einstellungsnotizbuch der
ArbeitsoberflДche zeigt Ihnen die Versionsnummer des installierten
APM-Treibers an: dies sollte mindestens 1.2 sein, damit das Abschalten
funktioniert.
═══ 15. ZusДtzliche Dateien ═══
Im den verschiedenen Unterverzeichnissen des
XFolder-Installationsverzeichnisses finden Sie eine Reihe von Dateien, die
Ihnen eventuell von Nutzen sind:
BOOTMGR.CMD ist neu mit V0.83. Dieses Skript wurde von Duane A. Chamblee
zur VerfБgung gestellt und fБgt automatisch alle momentanen
BootManager-Auswahloptionen zu den benutzerdefinierten Neustart-Optionen
fБr den Erweiterten Systemabschluс hinzu. Dies geschieht, indem die
XFolder-SchlБssel in OS2.INI direkt manipuliert werden. Es gibt keine
Garantie, daс diese Angaben stimmen!
CROBJxxx.CMD (mit xxx als dreistelliger Landescode, wie unter
"SprachenunterstБtzung" beschrieben) werden von XFolder benutzt, um die
Standard-Konfigurationsordner zu erstellen. Dies sind schlichte
REXX-Skripte, die eine Anzahl von Objekten auf Ihrer ArbeitsoberflДche
erstellen.
Diese Skripte werden sowohl aufgerufen, nachdem XFolder installiert wurde
(nach dem ersten WPS-Neustart), als auch wenn XFolder seinen
Konfigurationsordner nicht zu lokalisieren vermag.
Sie kФnnen diese Skripte modifizieren, um eine andersartige
Standardkonfiguration erstellt zu bekommen; sie sollten jedoch sehr
vorsichtig sein, wenn Sie die verschiedenen Objekteinstellungen Дndern,
vor allem die OBJECTID-SchlБsselworte, weil XFolder auf einige von ihnen
angewiesen ist.
NEWOBJ.CMD wurde von frБheren XFolder-Versonen (vor 0.52) benutzt, um
Objekte zu erstellen. Dies ist jetzt auch Бber Schablonen mФglich,
trotzdem ist dieses Skript noch beigefБgt. Es benФtigt die folgenden
Parameter auf der Befehlszeile:
newobj <wpsclass> <name>
Dies erzeugt eine neue Instanz der Klasse <wpsclass> mit dem Titel <name>
im aktuellen Verzeichnis. Siehe auch die Seite "WPS Classes" (english)
fБr eine Liste aller WPS-Klassen. Nicht alle dieser Klassen sollten
allerdings hierfБr benutzt werden.
Beispiel:
newobj WPFolder New_Folder
erzeugt einen neuen Ordner namens "New_Folder" im aktuellen Verzeichnis.
Hinweis: Seit V0.41 kann XFolder auch Objekte aus Schablonen erstellen.
Dies hat den Vorteil, daс Sie bestimmte Voreinstellungen setzen kФnnen.
Stellen Sie hierzu entweder eine Schablone oder eine Referenz davon in
einen Konfigurationsordner.
NETSCDDE.EXE (The Netscape DDE Interface): dies ist jetzt in einer
separaten INF-Datei dokumentiert (NETSCDDE.INF).
REPCLASS.EXE wird vom Installationsskript benutzt, um die XFolder-Klassen
zu registrieren und die OS/2-Standardklassen zu ersetzen.
Befehlszeilenparameter sind:
repclass <oldclass> <replacewithclass> [<dllname>]
<oldclass> ist die WPS-Klasse, die Sie ersetzen mФchten. Groс- und
Kleinschreibung spielt hier eine Rolle.
<replacewithclass> ist die neue WPS-Klasse, die Sie registrieren mФchten
und die zugleich <oldclass> ersetzen soll. Groс- und Kleinschreibung
spielt hier eine Rolle.
<dllname> ist die dynamische Linkbibliothek (DLL), die die Klasse
<replacewithclass> enthДlt. Wenn die DLL sich nicht im LIBPATH befindet
(wie bei XFolder), mБssen Sie den vollen Pfad angeben.
Wird <dllname> nicht angegeben, so wird <replacewithclass> de-registriert
und von der Ersetzungsliste fБr <oldclass> entfernt.
Beispiele fБr XFolder selbst: die zu ersetzenden WPS-Klassen sind
WPFolder, WPDisk und WPSystem, die neuen XFolder-Klassen heiсen XFolder,
XFldDisk und XFldSystem. Alle drei Klassen befinden sich in XFLDR.DLL im
XFolder-Verzeichnis (das angegeben werden muс).
Alle Оnderungen dieses Programms haben nur einen Effekt nach einem
Neustart des Rechners (oder der WPS mit WPSRESET.EXE -- siehe unten).
Warnung: Versuchen Sie nicht, von Hand einzelne XFolder-Klassen zu
ersetzen oder eine Ersetzung rБckgДngig zu machen. Die XFolder-Klassen
sind zusammen entwickelt worden und voneinander abhДngig. Wenn Sie nur
eine davon registrieren oder deregistrieren, kann es sein, daс sich Ihre
WPS schon beim Systemstart aufhДngt. Benutzen Sie fБr die XFolder-Klassen
stets das Installationsskript.
SOUNDxxx.CMD (mit xxx als dreistelliger Landescode, wie unter
"SprachenunterstБtzung" beschrieben) mБssen von Ihnen gestartet werden,
um die neuen XFolder-SystemklДnge zu aktivieren. Diese kleinen Skripte
kopieren ein paar sprachenabhДngige SchlБssel in die INI-Dateien des
Multimedia-Subsystems von OS/2 (MMPM/2), die dann im OS/2-Objekt
"Warnton" sichtbar werden. Nur wenn XFolder diese findet, spielt es
Бberhaupt SystemklДnge ab.
SOUNDOFF.CMD stellt die KlДnge wieder ab, indem die entsprechenden
EintrДge aus den MMPM/2-INI-Dateien gelФscht werden. XFolder spielt dann
keine KlДnge mehr.
Hinweis: Die SOUND-Dateien setzen voraus, daс Ihr MMPM/2-Verzeichnis
\MMOS2 auf Ihrem OS/2-Startlaufwerk ist. Wenn nicht, mБssen Sie die
Dateien selbst Дndern.
TREESIZE.EXE wird vom neuen Standard-MenБpunkt "Platzverbrauch" gestartet
und zeigt in einer Baumanzeige den Platzverbrauch eines Ordners und aller
seiner Unterordner an. Wird Treesize mit einem Verzeichnis als Parameter
gestartet, so wird dieses Verzeichnis angezeigt, andernfalls das aktuelle
Verzeichnis.
Nachdem Treesize mit den Berechnungen fertig ist, kФnnen Sie neue
Verzeichnisse per Ziehen und Ъbergeben (Drag'n'drop) in das Hauptfenster
Бbergeben.
Treesize bietet einige Optionen per KontextmenБ, wie zB. die
Sortiereinstellungen.
Alle Einstellungen werden beim Schlieсen gespeichert.
WPSRESET.EXE kann Ihre ArbeitsoberflДche neustarten, ohne daс Sie den
gesamten Rechner neustarten mБssen. (Siehe die Seite "WPS neustarten" fБr
Details.) Es wird inzwischen (V0.71) lediglich vom Installationsskript
benutzt, wДhrend XFolder den Neustart intern erledigt. Um eine
versehentliche AusfБhrung zu vermeiden, erwartet WPSRESET.EXE einen
Parameter "-D" auf der Kommandozeile. (Ich habe vergessen, wofБr das "-D"
steht, aber ich bin sicher, es hat eine tiefergehende Bedeutung.)
XHELP.CMD ist ein leistungsfДhiges REXX-Skript, welches sprachenabhДngig
Nachrichten anzeigen kann, sowohl im normalen ASCII- als auch im
HTML-Format. Es stammt aus dem "OS/2 CommandPak" desselben Autors,
welches auf meiner Heimseite erhДltlich ist. In diesem Paket finden Sie
eine ausfБhrliche Dokumentation von xhelp.
Im Kontext von XFolder wird xhelp nur vom Installationsskript benutzt und
keine andere Funktion.
XSHUTDWN.EXE: siehe die entsprechende separate Seite.
Alle anderen .CMD-Dateien im XFolder-Verzeichnis sind REXX-Skripte, die
schnell bestimmte Ordner-Einstellungen setzen sollen (Sie finden
entsprechende EintrДge im "Schnelleinstellungen"-KontextmenБ). Die
Skripten sind sehr Дhnlich und unterscheiden sich nur in den
Einstellungen, die gesetzt werden. ALWSSORT.CMD ist kommentiert (auf
englisch), so daс Sie sich anschauen kФnnen, was das Skript tut. Kopieren
Sie ALWSSORT zu einem anderen Dateinamen und Дndern Sie die
Einstellungen, die Sie auf einen Ordner anwenden mФchten. Auf der "Setup
Strings"-Seite (englisch) finden Sie eine ausfБhrliche Liste aller
mФglichen Einstellungen.
ΓòÉΓòÉΓòÉ 16. Versionsinformationen ΓòÉΓòÉΓòÉ
Dieses Kapitel bietet Ihnen Informationen, die sich mit jeder XFolder-Version
Дndern:
KompatibilitДt mit anderen Programmen
XFolder revision history: hier finden Sie (auf englisch...) alle
Оnderungen durch die XFolder-Versionen auf einen Blick
═══ 16.1. KompatibilitДt mit anderer Software ═══
Wie Sie vielleicht schon selbst bemerkt haben, mФgen sich verschiedene
WPS-Programme manchmal nicht allzusehr. Oder vielleicht mФgen sie sich zwar,
aber kommen einfach nicht miteinander klar.
Ich habe XFolder mit vielen Systemprogrammen getestet, an die ich herankommen
konnte (unter Warp 3 und 4), und einige Benutzer von XFolder haben mir weitere
Programme genannt. Die folgenden Programme warfen keinerlei Probleme auf:
CandyBarZ 1.01 / 1.10
CommandFolder 1.50
Desktop Wizard 1.41 (siehe aber die Hinweise unten)
DragText 2.5
Extended Desktop 1.4
FeelX (installiert eine WPS-Klasse)
Hot Scroll 0.80 / 1.00
NPS WPS 1.81 / 1.82 (siehe aber die Hinweise unten)
Object Desktop Professional 1.5.2 (siehe aber die Hinweise unten)
WatchCat 2.1 (installiert eine WPS-Klasse)
WPAnimatedMousePointer 1.01
WPS Trashcan 2.5.2
X.file 1.1 / 1.2
X.it 2.4 / 2.5
Allgemeiner Hinweis. Indem XFolder mit jeder neuen Version neue Funktionen
einfБhrt, werden die Chancen grФсer, daс andere WPS-Software ebenfalls
dieselben Funktionen anbietet. Je nachdem, welche Software zuerst installiert
wurde (und damit an erster Position in der WPS-Klassen-Ersatzliste steht),
kann XFolder oder das andere Produkt uU. das WPS-Verhalten nicht mehr Дndern.
Auсerdem gilt, daс XFolder einige Funktionen anbietet, die andere WPS-Pakete
ebenfalls anbieten. Sie sollten sich dann fБr die Funktion eines Pakets
entscheiden, dh. nicht zB. Statuszeilen sowohl bei XFolder als auch bei Object
Desktop anschalten. Das kann nur zu Problemen fБhren.
Warnungen. Die folgende InkompatibilitДtsliste basiert auf Hinweisen dritter
XFolder-Benutzer. Ich habe diese nicht selbst БberprБft und fБge sie nur bei,
um Ihnen Unannehmlichkeiten zu ersparen.
Object Desktop. OD manipuliert die WPS ungefДhr so intensiv wie XFolder
(vielleicht sogar mehr), also ist es nur natБrlich, daс gerade mit OD die
meisten Probleme aufgetreten sind.
Hinweis: Ich habe kein Object Desktop. Das folgende ist alles, was ich
weiс. Wenn Sie etwas Neues herausfinden, schreiben Sie mir bitte, und ich
werde das dieser Seite hinzufБgen. Aber schreiben Sie mir bitte nicht,
daс OD nicht richtig mit XFolder zusammenarbeitet. Ich weiс das, und ich
kann nicht viel daran Дndern.
FБr alle Versionen gelten die folgenden Regeln: Wenn Sie Probleme mit OD
haben, kollidiert XFolder wahrscheinlich mit der Ordner-Ersatzklasse von
OD, TSEnhFolder. Als ultima ratio kФnnen Sie immer diese Klasse
deregistrieren (auf der Seite "WPS-Klassen" im Objekt "Workplace Shell"),
und wahrscheinlich wird XFolder laufen.
Davor sollten Sie aber folgendes ausprobieren:
Das Installationsprogram bietet Ihnen nun auch an, die Reihenfolge von
XFolder und der "TSEnhFolder"-Klasse in der WPS-Klassenliste zu
vertauschen. "TSEnhFolder" ist die WPS-Klasse, die die meisten
Ordnerfunktionen von Object Desktop enthДlt. Auf diese Weise bekommt
XFolder die Chance, das "Subclassing" von Ordnerfenstern vor Object
Desktop durchzusetzen.
Object Desktop 1.x.
Mir wurde berichtet, daс XFolder mit der Funktion "Browse mode" von
Object Desktop nicht funktioniert. Es tut mir leid, diese Funktion mБssen
Sie ausschalten.
Auсerdem sollten Sie sicherstellen, daс die Funktion
"Ordner-Statuszeilen" in Object Desktop ausgeschaltet ist, bevor Sie die
entsprechende XFolder-Funktion anschalten, ansonsten kФnnen die
lustigsten Dinge geschehen.
Schlieсlich wurde mir noch berichtet, daс XFolder zu Object Desktops
"Launchpads" auch Statuszeilen hinzufБgt, wo sie nicht hingehФren.
Offenbar sind diese Dinger auch von WPFolder abgeleitet; sie haben
jedenfalls auch eine "XFolder"-Seite im Einstellungsnotizbuch, wo man die
XFolder-Statuszeilen abschalten kann.
Object Desktop 2.0. Stefan Zechmeister hat OD 2.0 folgendermaсen zum
Laufen bekommen:
1. Installieren Sie OD 2.0.
2. Installieren Sie OD fixkit #1.
3. Installieren Sie XFolder. Vertauschen Sie die Reihenfolge von
TSEnhFolder und XFolder, wie es vom Installationsskript
vorgeschlagen wird.
4. ErhФhen Sie im Objekt "Workplace Shell", "XFolder" Seite 2 den
"MenБ-ID-Abstand" auf Бber 700.
Wenn Sie anschlieсend den Installationsordner von XFolder in einen
anderen Ordner verschieben mФchten, stellen Sie sicher, daс im Zielordner
die Extrafunktionen von OD abgeschaltet sind. Sonst beschwert sich
XFolder, daс es seinen Konfigurationsordner nicht finden kann.
Wenn Sie NPS WPS benutzen, mБssen Sie dessen Funktionen "Nach Name
auswДhlen" und "Nach Endung sortieren" ausschalten, weil XFolder diese
Funktionen ebenfalls bietet und durcheinanderkommt, wenn NPS WPS die
gleichen Funktionen aktiviert.
XFolder funktioniert nicht mit der Funktion "Automatische MenБanwahl"
von NPS WPS, jedenfalls dann nicht, wenn Sie die "Ordnerinhalt"-
Funktionen aktiviert haben.
Mir wurde ebenfalls berichtet, daс XFolder Probleme mit dem Program
Commander/2 hat. Diese lassen sich anscheinend beseitigen, indem man dort
die Funktion fБr "SmartIcons" in der Titelzeile abschaltet.
XFolder scheint auf einigen Systemen auch Probleme mit DragText zu haben.
In dieser Software muс es irgendwo eine Einstellung geben, DragText mit
VerzФgerung zu aktivieren, was anscheinend geholfen hat.
Hauke Laging berichtete mir, daс Extended Clipboard (EClip) von Hinnerk
Becker mit XFolder nicht kooperiert. Auf Haukes Warp-4-System hДngte sich
die WPS beim Systemstart auf. Er berichtete mir spДter, daс sich das
Problem beheben lДсt, wenn man EClip aus dem Systemstart-Ordner entfernt.
(Ich habe dies alles nicht reproduzieren kФnnen, berichte es aber
trotzdem.)
Mehrere Benutzer meinten auсerdem, daс die Funktion "Auf Raster setzen"
nicht funktioniert. Ich habe sowohl Warp 3 und 4 getestet und keine
Probleme festgestellt; diese Benutzer hatten alle Object Desktop
instaliert, so daс ich das Problem wieder einmal irgendwo dort vermute.
Bernd Schemmer berichtete mir, daс XFolder die gleichen MenБ-IDs benutzt
wie LAN Server GUI. Falls Sie dies benutzen, so kФnnen Sie XFolders
MenБ-IDs im Objekt "Workplace Shell" Дndern. Mit V0.51 wurde die
Standardeinstellung von 100 auf 300 heraufgesetzt, um diese Konflikte zu
vermeiden.
Michael Holzapfel berichtete folgendes: "Beim Installieren des
GRADD-Treibers fБr die [ELSA] Winner 2000OFC stБrzt setup.exe kurz vor
Ende der Installation ab. Nach Erscheinen der Message-Box "Systemabschluс
durchfБhren Jan/Nein" hДngt sich der Rechner auf. Nachfolgender CHKDSK
zerstФrte Teile der neu installierten Treiber, so daс das System nicht
mehr hochfДhrt. [...] Vorheriges Deregistrieren von XFolder lДсt die
Installlation korrekt beenden."
Dirk Schulz berichtete, daс er die StabilitДt seiner WPS erhФhen konnte,
indem er Desktop Wizard de-installierte. Gut, daс er nicht XFolder
de-installiert hat. ;-)
ΓòÉΓòÉΓòÉ 16.2. XFolder Revision History ΓòÉΓòÉΓòÉ
"A designer knows he has arrived at perfection not when there is no longer
anything to add, but when there is no longer anything to take away."
Antoine de Saint-Exupery
Version 0.85 (March 15, 1998)
Well, V0.84 proved to have a few more bugs.
New features:
Added lots more WPS class descriptions sent in by various people.
Replaceable shape window WPS boot logos.
Bugfixes:
Status bar information for program objects failed if WPProgram class was
replaced (e.g. DTProgram of DragText). Fixed.
Status bars crashed when translating $T key for WPFileSystem objects, but
only in 12-hour time display ("Country" object). Fixed (strhFileDate,
/helpers/stringh.c).
Error message when changing object ID on "Internals" page had funny
title. Fixed.
The "lastpid" file was always written to the root dir of the boot drive
instead of XFolder's own "bin" dir. Fixed.
Version 0.84 (February 4, 1999)
First non-beta. Hope this works better.
New features:
Implemented new drive checking when Disk objects ("root folders") are
opened to avoid the annoying system error messages of OS/2. You'll get a
slightly more comfortable message box now with the default OS/2 SYSxxx
error message. That's a bit better, I think.
Finally, a number of WPS default icons can be freely replaced.
Status bar support for WPUrl objects; they display the URL in the status
bar per default.
Double-click on status bar opens folder settings notebook.
XSHUTDWN.EXE can finally do a WPS restart too.
Miscellaneous changes:
Reworked thread and exception handling once more. Added exception
handling to status bars (fnwpSupplObject, xfldr.c).
Reworked the folder subclassing to speed up processing and added more
checks for error conditions (fnwpSubclassedFolderFrame, xfldr.c).
Bugfixes:
V0.83 reported a wrong version number of itself. Fixed. Well, we're at
V0.84 now anyways.
Removal of context menu items broke for abstract objects in V0.81. Fixed.
"File attributes" menu didn't work when several data files were selected.
Fixed.
Fixed a few keyboard focus problems with status bars.
Also changed the way status bars save whether the size of a folder window
has been increased already. This is now stored together with the other
folder pos data in OS2.INI, "PM_Workplace:FolderPos". The status bar keys
end in "@XFSB". This should fix the problem that folder windows were
frequently too small when folder positions were not properly saved.
When users tried to move the XFolder Configuration Folder, they got the
"Config folder does not exist" message all the time. Fixed.
Also, that message is only opened once now.
Fixed a few problems with the "File exists" dialog: 1) XFolder's "does
file exist" algorithm behaved differently from the default WPS behavior
when files were copied from HPFS to FAT or from FAT to FAT and the long
name was different from the real name; 2) on FAT drives, the proposed
name were in 8+3 format, which is not very useful; 3) the proposed names
used to be based on the existing real names, not file titles. 4) Also,
"rename" behaved funny on FAT drives sometimes. Ooouuuargh. Fixed.
Folder views behaved really strange with some CD-ROM directories,
especially with the new Joliet support of CDFS.IFS. I suspect this was
due to some of my DosDevIOCtl's, which I have removed now.
On some systems, opening folder content menus for removeable drives hung
the system when those drives were empty (e.g. because no floppy disk was
in the drive). Added drive checking for folder content menus.
In rare occasions, previous versions would mess up the CONFIG.SYS file by
not setting the correct file size after writing, which led to garbage
characters at the end of the file. Fixed, thanks to ARAKAWA, Atshushi.
The Worker thread was frequently given "regular" priority, which slowed
down the other WPS threads. Fixed; Worker thread priority is now properly
set to "idle".
SOUND.DLL was missing in the V0.83 distribution. Sorry, fixed.
Playing of system sounds was always interrupted when a new sound was to
be started, even if the new sound file did not exist. Fixed
(fntQuickThread, xthreads.c).
XFolder would sometimes fail to process its startup folders even though
it should have processed it. Fixed (fnwpWorkerObject, xfdesk.c).
In rare occasions, e.g. with ObjectREXX's WPS support, saving the WPS
objects during shutdown would crash. I've now added even more "quiet"
exception handling, maybe this helps.
Version 0.83 beta (December 14, 1998)
Well, the major rework of V0.82 broke a number of things, so there are more
bugfixes here. There are still a couple of known bugs which I haven't had time
to fix yet, but I wanted to get these bugfixes out before Christmas. See
"bugs.txt" on my homepage for up-to-date info.
New features:
XSHUTDWN.EXE now has an option for turning on the shutdown log.
BOOTMGR.CMD to automatically add user-reboot options. See Related Files
for more.
Miscellaneous changes:
Replacement "File conflict" dialog now automatically selects the filestem
in the rename proposals.
A few cosmetic changes to the XFolder dialogs.
Bugfixes:
Removal of default menu items broke for data-file objects in V0.81. Fixed
(new wpFilterPopupMenu in xfdataf.*).
Changing file attributes from shadow context menus led to crashes when
several shadows were selected. Fixed (mnuFileSystemSelectingMenuItem,
menus.c).
Copying file names didn't work right either if this was selected from a
context menu of several shadows. Fixed (same place).
Replacement "File conflict" dialog sometimes displayed outdated file
size/date/time information. Fixed (wpConfirmObjectTitle, xfobj.c).
With V0.82, XFolder forgot how to write CONFIG.SYS to disk. That rendered
the whole "OS/2 Kernel" object pretty useless. Fixed, sorry
(fncbConfigItemChanged, xfsys.c).
SUPPRESSPOPUPS wasn't properly read from CONFIG.SYS ("Errors" page).
Fixed.
The second "Screen" page which is inserted into the "System" object for
some video drivers did not appear in "OS/2 Kernel", but somewhere in
"Workplace Shell". Fixed (wpAddDMQSDisplayTypePage, xfsys.*).
XShutdown sometimes reported a data size of 0 when saving INI keys. This
is now silently ignored, so that those error messages shouldn't appear
any longer.
XShutdown got confused with programs which appeared with a PROG_DEFAULT
type in the tasklist. Fixed (xsdBuildShutList, xfdesk.c).
APM power-off entered a critical section after calling the APM interface,
which kept power-off from functioning. Fixed (apm.c).
Dialogs were resized very badly when video resolution was changed. Fixed;
I am now using my own routines for storing/restoring window positions in
winh.*.
Treesize reportedly had trouble on very large hard drives. I suspect this
was due to my use of unsigned int variables, which can only hold values
up to some 4 billion (= 4 GB). Fixed, I'm now always using double
variables.
Version 0.82 beta (November 19, 1998)
This is a major rework. It might not look too different from the previous
version, but I've cleaned up a lot of things.
New features:
More Treesize settings: size display format, low-priority search.
XFolder finally has Warp 4 notebook buttons. There's a new function
winhAssertWarp4Notebook in /helpers/winh.c which can do this with any
notebook page without having to change the dialog resources. Thanks,
Martin Lafaix, for the neccessary information.
Thanks to ARAKAWA Atsushi, APM power-off now works. (I hope. Again, I
cannot test this.)
Added a few more WPS class descriptions.
Miscellaneous changes:
Removed the XFldFileSystem class because it wasn't doing much anyway and
caused installation failures on Warp 3 without fixpaks. Its functionality
is now handled by the XFolder and XFldDataFile classes directly.
Removed the XFolder exit list because this seemed to have caused some
problems during WPS restarts (xfdesk.c). Also changed the algorithm which
determines whether the startup folder should be processed
(fnwpWorkerObject, xfdesk.c).
Completely reworked all the settings notebook page logic. Almost all
pages are now using much more lucid callbacks from the new notebook.*
files. This also ensures proper updating of pages when other pages are
currently open too.
Completely reworked the SOM logic for the "WPS Classes" page in
"Workplace Shell". Maybe this helps with the problems previous versions
had on some systems. Also, this now even displays classes which do not
appear in the "official" WPS class list, because some internal classes
are loaded independently of that. Finally, multiple class replacements
are now properly displayed. Found an interesting undocumented SOM method
(see clsWpsClasses2Cnr in classlist.c for details).
Also added source emphasis to the "WPS Classes" container when context
menus are opened. Previous versions had trouble keeping the selected
classes apart.
XFolder is now smart enough to write changes to CONFIG.SYS in lower case
if the keyword which is replaced contains lower-case characters too
(fnwpConfigCommon, xfsys.c, and str* helper functions in
/helpers/dosh.*).
Fixed a coupla things with NLS DLL loading to make V0.82 work with V0.81
NLS DLLs (cmnQueryNLSModuleHandle, common.c).
XFolder can now write SUPPRESSPOPUPS=0 on "Errors" page in "OS/2 Kernel".
This is a new setting since FP29 (fnwpConfigCommon, xfsys.c).
Sped up confirmation dialog display (XFldObject::wpConfirmObjectTitle,
xfobj.c).
Treesize is now much faster collecting extended attributes (up to 300%).
Also fixed some strange hangs/crashes on some directories.
Bugfixes:
"Templates" checkbox had disappeared from several object notebooks in
V0.80 (removed various wpclsQueryStyle method overrides). Fixed.
Previous versions tended to crash if folders were not running on thread 1
of the WPS. This was especially the case with folders created by various
install programs (StarOffice, IBM feature install). Sorry, XFolder status
bars apparently weren't thread-safe. XFolder now creates a new object
window for each folder which is opened (fnwpSupplObject, xfldr.c), so
that status bar manipulation always occurs on the thread in which the
folder is running.
First "Context menus" settings page had German buttons. This was just an
educational measure. ;-) Fixed.
"Status bars" page 2 had "XFldDataFile" as the default class selection,
even though that class doesn't support status bar codes. Fixed.
Added more error checking to the "QuickOpen" and "Favorite Folder"
functions. Maybe this helps with those strange exceptions on the first
settings page for folders.
XFolder now enforces minimum settings notebook sizes when these are
initially opened, because large pages were truncated previously (new
wpclsQuerySettingsPageSize method overrides in xfdesk.* / xfsys.*).
Reworked the "folder content" menu display so that it only uses regular
icons now. Maybe this solves the mysterious crashes with some video
drivers.
Reworked several parts in menu handling because items were inserted in
the wrong places (menus.c). I also forgot to add the "folder view" items
to Warp 4's menu bar too. And "Create another" was always disabled, no
matter if this was desired in the "Workplace Shell" object. Finally,
"Select by name" wouldn't show up on Warp 3. All fixed.
Also added more error checking when evaluating the config folder. This
should lead to less warning messages if objects are deleted from there
(menus.c).
Startup/QuickOpen status windows were not destroyed, but only hidden when
that action was finished. Fixed.
INI file maintenance broke somewhere in V0.8x; this is now done by the
Worker thread (xfdesk.c). Fixed.
Saving INIs: "Ignore" button should now work when errors occur
(/helpers/prfh.c).
Fixed a few repaint problems with progress bars (/helpers/progbars.c).
Fixed a lot of bugs with the new system sounds. For one, XFolder failed
to install on systems where MMPM/2 was not installed, because XFLDR.DLL
was linked against the MMPM/2 libraries, which then could not be
imported. So we have a new, second SOUND.DLL, which does all the sound
playing. If loading that DLL fails, XFolder simply won't play sounds. See
the sound.* files for details. -- Second, XFolder got really confused
playing sounds when other applications needed the audio device too. This
is now solved; XFolder checks for whether the device is available, and if
another application wants the device while XFolder is playing, playing is
stopped also. -- Third, System sounds in V0.81 worked only if they had
been disabled and enabled again in the "Sound" object
(cmnQuerySystemSound, common.c). Fixed.
Couple of broken links in the German HLP file. Fixed.
Install script crashed when invalid language code was entered. Fixed.
Version 0.81 beta (October 18, 1998)
Starting with this version, the file and function of the error in the source
files is specified here too. For details about the source code changes, refer
to the "CHANGELOG.TXT" file in the source distribution.
New features:
Treesize external program. Part of the default context menu now.
Due to popular request, "Snap to grid" can now snap the selected icons
only.
The position of the startup folder status window is finally saved and
restored the next time. Sorry this has taken so long.
Miscellaneous changes:
Gave up using SOM multiple inheritance, which seems to have caused too
much trouble. In detail, the xfSelectingMenu and xf* methods for status
bars have been removed from XFldObject and subclasses. Status bar
single-object info is now handled in statbars.c (new file) with _somIsA()
calls instead. Not as elegant, but might be a bit faster than SOM method
resolution too.
XFldProgram class removed. Its only purpose was for status bars using SOM
multiple inheritance. Functionality is now handled by menus.c.
Removed extended Settings submenus. Caused too much trouble. Instead, you
may now set additional "Attributes" and "Folder view" menu items in
"Workplace Shell".
Improved animation code to avoid flickering. All the common code for this
is now in the new animate.* files.
Added exception handling to "XFolder" notebook page in folders. This
seems to have broken on some systems.
Made the file-system class replacements return the CLSSTYLE_NEVERTEMPLATE
from wpclsQueryStyle so that no additional templates are produced in the
Templates folder.
Reworked status bar code completely. Should be quite a bit faster now;
however, each code is only translated _once_ now.
Rearranged the pages in the "OS/2 Kernel" and "Workplace Shell" objects.
Also changed the replaced SOM methods (xfsys.*). "OS/2 Kernel" should now
contain all the settings which require a reboot to take effect. I guess
this is a more logical rule.
Removed those darn xfclsQueryModule methods which were used to query the
module handle of xfldr.dll. This might have caused installation failures
on some systems. There is a new DLL init function in module.c now which
is a lot faster and causes less problems.
As a nice side-effect to this, XFolder does not need any INI entries any
more to run properly. If you delete the whole "XFolder" INI thing,
XFolder will re-initialize itself.
Install script set up config folder to open in Tree view per default.
Unfortunately this caused .LONGNAME EAs not to be rewritten when the main
config folder was altered. Fixed, this now uses non-flowed icon view.
Bugfixes:
"HPFS" page wrote "LAZY:1" instead of "/LAZY:1" to CONFIG.SYS. Fixed
(xfsys.c, fnwpConfigCommon).
"HPFS" page could read a few IFS parameters in upper case only. Fixed.
"Memory" page wrote "HPFS" settings too. Forgot a "break" in
fnwpConfigCommon, xfsys.c.
"Errors" page wrote "REIPL=YES" instead of "REIPL=ON". Fixed.
"Object Internals" page displayed object handles only 25% of the time,
depending on how large your object repository was. Fixed.
Install script failed to create "Workplace Shell" and "OS/2 Kernel"
objects if the XFolder Configuration folder already existed. Fixed.
Creating objects from context menus caused non-reproduceable system hangs
from time to time (really bad ones where even C-A-D faild). Added more
error checking (cmnCreateFromTemplate, common.c; this used to be
XFldObject::xfCreateFromTemplate) and rewrote large parts of that routine
to use container messaging now instead of WPS methods. Seems to always
work now.
Reworked "Snap to grid" also so that it now properly uses container
messages (xfSnapToGrid, xfldr.c).
Status bars now check for removeable drives before querying disk
information. Those ugly "drive not ready" popups should now be gone.
Status bars reported garbage if a filename to be displayed contained a
'$' character also. Fixed.
"Folder hotkeys" page listed an "Insert" item, which should have been
called "Paste". Fixed.
Opening large folder content menus (which were repositioned on the
screen) would sometimes cause all menus not to react to mouse clicks any
more. Fixed.
Fixed a memory leak in bitmap handling. I was using IBM sample code
again...
XFolder would sometimes attempt to play system sounds even though no
system sounds were enabled. Fixed.
XFolder sometimes conflicted with the WPS container manipulation when
extended sorting was on. Icons could still be moved within a folder even
though "Always sort" was on. Fixed.
Install script failed to create the new "Workplace Shell" and "OS/2
Kernel" objects when the config folder already existed. Fixed. There are
now two additional scripts in \INSTALL.
Version 0.80 (September 29, 1998)
XFolder's licence agreement has changed. I am now releasing the source code
and have placed XFolder under the GNU Public Licence. See "Licence" for
details.
New features:
XFolder can now replace some WPS confirmation dialogs.
Under OS/2 Warp 4, XFolder finally manages to modify folder menu bars
also according to the context menu settings.
The XFolder Startup folder now has a new menu item in its context menu:
"Start folder content" allows you to start all the objects in it even
after the WPS is up.
"QuickOpen" feature for folders.
The "System" object is now split into two new "OS/2 Kernel" and
"Workplace Shell" objects. Refer to this page for more.
New settings pages therein to change those risky and obscure CONFIG.SYS
settings. Included plenty of information for this.
New "WPS classes" page for manipulating the WPS class list.
Every object now has an "Internals" page in its settings notebook. Here
you can look at lots of information which you can't see otherwise and
even change the object's ID.
"Copy filename" finally works properly with multiple selections in a
folder. Multiple filenames are then separated by spaces. Also introduced
new folder hotkeys for copying the filename (without path: Ctrl+Insert
per default).
Status bars now support different information in single-object mode
depending on the class to which the selected object belongs. To implement
this, I had to introduce even more WPS class replacements. 8-) Moreover,
the "$x" key for status bars now supports formatting text from the right
or as a percentage of the status bar width. Also introduced a few more
keys. See "Configuring status bars" for details.
Status bars now also work for tree views, if you enable this in the
Global Settings.
Status bars now display the folder's context menu when you right-click on
them.
Added a new status bar display style ("Warp 3 sunken").
XShutdown can now display a little animation.
"Restart WPS" now has a setting for whether the startup folder should be
processed after the restart.
I have provided a source-code plug-in interface for people who are
willing and able to teach XShutdown how to do an APM V1.2 power-off. My
BIOS does not support this, so I cannot do this myself. Hopefully
somebody will succeed.
XShutdown command-line interface.
Miscellaneous changes:
Rearranged the "Context menu" settings pages more logically (I hope).
Finally included proper (and updated) NetscDDE documentation in a
separate INF file. NETSCDDE.TXT is gone.
Beautified XFolder message boxes a little. These now accept fonts from
the font palettes, and these are stored. So at least the XFolder message
boxes don't use that ugly "System Proportional" font any more.
When "Always maintain sort order" is enabled globally, XFolder now wants
a confirmation for whether the Desktop should also be sorted. This will
prevent you from accidentally sorting the Desktop.
"Show icons" for the "Folder content" functions is now disabled per
default. Some video drivers apparently had serious trouble with this (I
was told this for the Matrox Millenium; my ELSA card works fine though).
"Folder content" menus are now repositioned on the screen when they're
very large to avoid having them displayed outside the visible screen
area.
Completely reworked the config folder menu item handling. Previous
versions had problems when the .LONGNAME EAs contained different
information than the actual folder content in the INI files. These two
sources are now compared and balanced. As a side effect, processing these
menu items also now consumes less memory and is faster.
Also reworked the folder content menu item handling. Previous versions
sent far too many PM messages to the menu window, which cost a lot of
time, especially for folders on FAT drives, which are not sorted by
default. Sorting is now done in memory before inserting the menu items
using a QuickSort algorithm. Even on huge directories, this never takes
longer than half a second. I can't do much about the slow icon retrieval
though, that's WPS-internal.
Since I was given a VisualAge C++ compiler by Mark Mellin (thanks again),
this version is now using a better compiler. Since VisualAge C++ does
contain pretty good programming information, I've spent a couple of days
on compiler options and code optimizing, and I hope that this has
resulted in speedier code.
Better memory handling altogher. XFolder now returns unused memory to the
operating system from time to time.
Replaced my own string handling routines with those from an old
programmers CD-ROM which are way faster.
Converted a few SOM instance methods into regular C functions. This
should speed up XFolder a little bit.
XShutdown now always closes the Desktop and WarpCenter windows last. This
will prevent the situation that you'll be unable to use your system after
Shutdown has been cancelled because the Desktop has already been closed.
Yet more bugfixes in this version:
Moving Object Desktop's TSEnhFolder in the install script didn't work.
Fixed.
Win95 keys are finally working. This time I'm sure ;-) because Glauco
Ippolitoni, Italy, sent me a keyboard with those keys. Thanks again.
Previous versions crashed building the context menus if the config folder
contained a broken shadow. Fixed.
The same applied to folder content menus if broken shadows were found.
Fixed.
Included much more error checking for those folder content menus. Maybe
this solves some of the video driver problems mentioned above.
Setting extended sort options from context menus didn't work for open
drive (root folder) views. Fixed. But to do this, I had to introduce two
new WPS methods. :-(
Previous versions kept causing exceptions internally when objects were
being deleted. For some reason which I still don't understand, XFolder's
wpUnInitData method kept getting called twice by the WPS, which really
doesn't make sense. Although this error was handled by the internal WPS
exception handler, this slowed down the deleting process immensely.
Fixed. (But I'm still amazed.)
XFolder failed to release an instance mutex semaphore when a folder was
put back to sleep. Ooops. Fixed.
Found a memory leak in the code doing the "program object tricks" in the
config folder. This must have been in there since XFolder 0.3x. To my
excuse, I took exactly the example code from the wpQueryProgDetails
Toolkit docs, which also forgets to release the allocated memory. ;-)
Fixed.
The values for the "Snap to grid" feature were not dynamically updated
when changed in the Global Settings. This must have broken in V0.70.
Fixed.
"Select by name" appeared in the wrong places when the "Display" menu was
removed. Fixed.
Folder status bars messed up window painting when the window was resized
so that the status bar overlapped the title bar, especially when
"roll-up" features by, say, X.it were used. A simple WS_CLIPSIBLINGS
fixed this.
"Refresh now" did not refresh status bar data. Fixed.
Included more consistency checking for the Worker thread when it
remembers awake objects. Previous versions had a tendency to crash in the
Worker thread from time to time when the Worker thread tried to store an
awake object which wasn't really awake any more. (This occured mainly
when deleting many objects in subfolders. For all programmers: contrary
to what IBM says in the SOM documentation, somIsObj obviously is NOT
crash-safe.) Fixed.
Previous versions opened the objects in the startup / shutdown folders
from the (background) Worker thread, which led to sporadic, unpredictable
crashes. Besides the WarpCenter strongly disliked not being started from
the Workplace thread. These objects are now opened from the main WPS
(Workplace) thread.
XFolder Startup folder was not processed during first startup after
installation. (But only this one time.) Fixed.
The "XFolder Internals" settings page crashed when the filenames of the
NLS DLLs were in capital letters (esp. on FAT drives). Fixed.
XShutdown hung when it tried to close a PM program which was hung also.
(Especially with Netscape...) The "Skip" button wouldn't help anymore
then, because it just didn't react. Fixed: Messages are now posted, not
sent, to PM windows.
Contrary to what the "Auto-close non-PM sessions" window said, no Ctrl+C
signal was sent to a non-PM session, but Ctrl+Break instead. Fixed.
The XShutdown Update thread got lost sometimes when shutdown was
initialized. Fixed.
Completely reworked the XShutdown routines dealing with saving the INI
files. Included a lot more error checking, and the error messages are now
more meaningful. I hope that the errors many users have reported have now
disappeared, and if not, they won't take the whole system down or even
crash your WPS.
Fixed a bug which caused saving the INI files to crash when they were
specified in lower case in CONFIG.SYS.
"Paste" and "View" were still called "Insert" and "Display" in some
places. Fixed.
A few links in the INF files were messed up. Fixed.
Version 0.71 (July 2, 1998)
Only bugfixes in this version.
Bugfixes:
Status bars were not updated any more when objects were deleted from an
open folder. For some reason, the WPS considers a folder "not populated"
any more when it deletes an object from it, and XFolder therefore stopped
updating status bars. Fixed.
V0.70 removed the whole "Sort" menu and re-inserted items with different
menu ids even for default WPS sort menus, which caused other WPS
enhancers (X.it) to fail when they were trying to sort folders. XFolder
now only ADDS items and leaves the other items alone.
Use of $S keys in "single-object mode" caused other object information to
be always related to last object in folder (e.g. "$C objects, $SK KB
(selected: $t [$w] $D $T)"). Fixed.
Forgot to document a few status bar mnemonics in the online help.
Win95 keys were recognized as hotkeys in the Global Settings, but not
saved. Again, I don't have those keys, but I've fixed something. Let's
see if it works.
XFolder sometimes crashed at bootup when no config folder was present.
Fixed.
Since the WPS crashes big time when menu IDs > 0x8000 are used, XFolder
now checks for this (folder content menus) and aborts processing then.
The Warp 4 "Insert" menu item is actually called "Paste". Sorry, I have a
German OS/2. Fixed.
"Restart WPS" now saves and closes all open WPS windows, including the
Desktop, regardless of whether "Close all open windows" was checked.
Since all WPS windows will be closed anyway when the WPS terminates, I
might just as well do it myself. This has the advantage that icon
positions are finally saved for the Desktop too.
"Restart WPS" doesn't use WPSRESET.EXE any more. A simple
DosExit(EXIT_PROCESS, 0) does it too. If I had figured this out earlier,
this could have saved me a couple of days of trial and error. ;-)
Moved a lot of code from the subclassed frame window procedure to a new,
separate object window, which is also running in the PMSHELL Workplace
thread. This might increase compatibility with other WPS software which
also does subclassing.
Just a cosmetic correction: the "reboot" drop-down list box in the
XShutdown confirmation dialog was disabled illogically. Fixed.
Not really a bugfix, but XFolder now creates a shutdown log in the root
directory of your boot drive ("xshutdwn.log"). Some people still have
trouble getting XShutdown to work, and this might help tracking these
problems down.
Now that I had the shutdown log, I was able to track down the mysterious
problems WRT closing VIO sessions, and I found a major bug which caused
XShutdown to sometimes close a different session than the one that was
intended. Fixed.
I also rearranged the order of commands that were executed while saving
the INIs during shutdown. Maybe this helps those people who
(mysteriously) still can't get those functions to work... otherwise,
check the shutdown log.
Rearranged the order of classes in the install script. Some systems
seemed to have problems with the previous order.
Version 0.70 (beta) (June 26, 1998)
Hoo-yah, yet another mega-release.
New features:
"Folder content" functions.
"Select by name" function.
Sort extensions..
Folder status bars.
Startup / Shutdown folders.
Sounds!!
Rearranged Global Settings more orderly.
Cleaned up internal menu handling routines big time in order to make the
new folder content features work. As a result, the 50-objects limit of
previous versions has been removed.
Default menu items are now removed if a respective checkbox is
unchecked; this seems more consistent to me.
"Help" submenu may now also be removed.
XFolder setup strings introduced for use with REXX.
In Icon views, objects are now created from templates at the mouse
position (from where the context menu was opened).
Support for Win95 keyboards (folder hotkeys).
Beautified dialogs a little. ;-)
XShutdown now checks for existing printer queues before shutting down.
"Restart WPS" now remembers whether to close windows between restarts
(checkbox in confirmation window).
User-configurable reboot actions.
"Shutdown" and "Restart WPS" items in Desktop context menu now contain
"..." only when confirmations are enabled.
Still more bugfixes:
Improved exception handling again.
XFolder refused to create objects altogether when "Open settings after
creating from templates" in the Global Settings was disabled. Fixed.
XFolder crashed when objects were added to the config folder while these
were closed. This resulted in folder context menus not appearing at all.
Fixed.
XFolder got confused on the "XFolder" page in folder settings notebooks
enabling the checkboxes properly. Fixed.
For mysterious reasons, XFolder would crash on some systems after
dropping something on the root folder of the boot drive. Fixed (I hope).
Disabling folder hotkeys would disable all folder subclassing, including
"Auto-scroll tree views". Fixed.
The Warp 4 "View" menu was dubbed "Display" in XFolder dialogs and help
files. Sorry, I don't have an English Warp 4. Fixed.
XShutdown failed to save INIs when the existing OS2*.INI files had the
HRS attributes on ("An error occured saving the INI files: 5"). This
should be fixed now.
XShutdown would sometimes hang after closing all windows, waiting forever
for the Update thread to terminate. Fixed.
XShutdown would sometimes fail to begin shutdown, although the status
window was already displayed, because it was resetting some event
semaphore which was already posted. Fixed.
Version 0.61 (beta) (May 10, 1998)
This is mainly a maintenance release to fix the bugs detected in the last
version.
Some new features anyway:
XFolder now populates the Config folders in the background after WPS
bootup, so you don't have to wait forever on the first right mouse-click.
New "Auto-close non-PM sessions" setting for XShutdown. By popular
demand. ;-)
New NETSCDDE included. See NETSCDDE.TXT for details.
Changed the default folder hotkey configuration for more default hotkeys.
Documented XShutdown internals.
Even more bugfixes:
XShutdown failed to save data of folders which were awake (i.e. stored
somewhere in the WPS process), although they were not visibly open. This
applied especially to the XFolder Config Folder. This is now fixed; all
awake folders are saved too.
XShutdown sometimes failed to save INI files properly. Error checking is
now implemented.
XShutdown sometimes failed to close non-PM sessions. At least
DOS/Win-OS/2 sessions had to be closed manually. This was due to a bug
(feature?!?) in WinQueryWindowProcess, which does not return the process
and session IDs of DOS machines, but those of the first PMSHELL instance.
I don't know what this should be good for... anyway, it's fixed.
XShutdown threads had wrong priority settings, so they would wait forever
when a session had higher priority settings than them. Fixed.
XShutdown also sometimes got confused with its thread management and
would start the same thread twice. Fixed.
Fixed some minor annoyments in the install script.
Somehow languages got messed up after installation; the dialogs were in
German, the help files in English. Fixed.
"Auto-scroll Tree views" did not always realize when the WPS was done
populating a folder. Fixed.
Exception management enhanced. Crashes in XFolder will now not always
take the whole WPS down. Changed location of trap log file to the OS/2
boot drive; if you hear funny sounds, look for "?:\XFLDTRAP.LOG" with "?"
being your boot drive.
Individual folder settings were sometimes set to "disabled" per default.
This does of course not make sense. Fixed.
Version 0.60 (beta) (May 4, 1998)
I know it's been a while since the last release, but to make up for it, this
is a mega-version...
New features / Changes:
XFolder is finally able to order context menu items according to the
order which is seen in Name or Details views of the corresponding config
folder. This was a real hassle...
"Auto-scroll tree views" feature.
XFolder is now fully multi-threaded ("XFolder Worker thread").
Extended Shutdown and "Restart WPS" features and new settings page for
Desktop.
"Copy filename" feature.
Moved the recreation of the default Config folder into the XFolder code;
this is not any more done by the install script. This way, if the config
folder gets lost, you may recreate your default config folder
automatically.
XFolder is finally able to process hotkeys for the Desktop and drive
(disk) objects also.
There is a new setting on page 1 of the XFolder Global Settings which
tells XFolder what to do after creating an object from a template.
"XFolder" settings page in every folder.
XFolder now also replaces the WPObject class in order to be able to
suppress menu items for all WPS objects. Moreover, "Check disk" and
"Format disk" can be removed from WPDisk objects. Settings page 2 has
been redesigned for all this.
My "Netscape DDE Interface" is now included in this package. See "Related
files" for more.
Added "Close window" to the configurable hotkey items list. (Some people
seem to prefer "Alt+X" over "Alt+F4" to close windows.)
REPCLASS.EXE now explains itself when started without parameters.
WPSRESET.EXE rewritten.
Rearranged buttons in all messages boxes to conform with the OS/2 look
and feel.
Bugfixes:
"Full path in window title" is now ALWAYS properly updated, even when you
move parent folders of an open folder. Thanks to multithreading!
Several users have reported problems when Object Desktop was installed
and "unusual" folders (such as workarea folders and URL folders) were
opened. This would completely mess up the WPS, unless folder hotkeys were
disabled. This problem should be fixed now, because I've finally
implemented a proper way of remembering window procedures for each folder
window separately. The old code was just awful, sorry.
I know I've claimed before that this one was fixed, but when passing
directory names to programs as a parameter, XFolder still forgot to
enclose them in quotes when they contain spaces. Fixed.
XFolder was previously unable to differentiate between "Alt" and "Ctrl"
hotkeys. Fixed.
NEWOBJ.CMD can now handle titles with spaces also. Thanks, John Buckley.
Version 0.52 ( March 1, 1998)
New features:
Many more configurable items for folder hotkeys, including sorting, NPS
WPS's "Sort by extension" and OS/2 Warp 4 items.
XFolder is now prepared for National Language Support. It shouldn't take
too long before more than just the English version is available. I am
planning to distribute National Language Support files in separate
packages. NLS support is now on page 5 of the Global Settings, to where I
also moved two settings which were formerly on page 1. Please contact me
if you're interested in translating XFolder to your language. You don't
have to be a programmer, but knowing HTML would help.
A few renovations on the settings pages: most importantly, settings which
don't apply are now grayed out.
Even more bugfixes:
Sometimes hotkeys got activated even though the Ctrl or Alt keys were not
pressed. Fixed.
When the folder name was passed to a started program as a parameter which
was started from a WPDisk object, only the drive letter was passed (e.g.
"C:" instead of "C:\"). Fixed.
Previous versions had problems replacing the default icon for closed
icons, but only on Warp 4. Apparently, on Warp 4, IBM has decided to have
wpclsQueryIconData call BEFORE wpclsInitData, which is really not the way
it should be and, even worse, contradictory to what IBM recommends in the
Toolkit Docs. Anyway, this is fixed now.
Not really a bugfix, but the hotkey list now uses less space in OS2.INI.
No bugfix either, but the annoying "No settings found" message box after
opening the settings notebook was removed.
I forgot to implement "Remove default menu items" and help for disk
objects also. Fixed.
Version 0.51 (Feb 20, 1998)
New features:
Insert separators into menus: simply set a program object's title to
"---".
"Refresh now" also updates the window title (if "Full path in window
titles" is enabled).
At last, XFolder enhances Drive objects also (i.e. the root drive views
that can be opened from the "Drives" folder). Hotkeys still DO NOT work
in here.
Added a few more items to the configurable hotkey list.
Two more REXX scripts for folder settings.
Bugfixes (this is a long list, but I believe nothing of this was really
serious):
Somehow in the last compile of V0.50 the help panels for the "System"
notebook pages got messed up. Fixed.
Cleaned up internal menu handling routines. Removed a few weirdos.
The hotkey entry field in the Settings now only works when a list box
entry has been selected. Anything else didn't make much sense.
When the settings were re-read from OS2.INI at startup, not all the
keyboard hotkeys were initialized, so some of the definitions got lost at
every reboot. Fixed.
For some reason, in the last beta, you could add up to 20 hotkeys, but
you could not get rid of them any more. I simply forgot to add a "Clear"
button, which is available now.
The "full path in folder title" was not updated when the folder was moved
or renamed. This now works half way.
Removed annoying "XFolder could not query its module handle" message,
which was titled a "fatal error", but caused no harm in any way.
Changed default "menu ID offset" setting to 300 to avoid conflicts with
LAN Server and ObjectDesktop from the start.
Install program now backs up the original XFolder Configuration Folder
before erasing it and building a new one from scratch. This avoids having
duplicate entries in the XFolder menus after several installs.
The missing "TREEFONT" setup string has been added to the "WPFolder Setup
Strings" page.
One more thing: somehow I got the terminology for "conditional cascade"
menus messed up. The description on the first settings page has been
corrected.
Version 0.50 beta (Feb 10, 1998)
New features:
"Snap to grid" feature.
Folder hotkeys.
Moved all the XFolder Global Settings onto four pages in the OS/2
"System" object in the System Setup folder. I thought that since there
are a number of settings for folders there, I might just as well add
XFolder's settings in that place also.
Version 0.41 (Feb 8, 1998)
New features:
Templates support! Make shadows of your favorite templates in the
configuration folders, and XFolder will create objects from them.
Clipboard support via "%**C" in program object parameters.
"Keep original title" setting when displaying full path in folder window
title.
XFolder menu ID's are now configurable in the Global Settings.
Added object id's and object setup strings to documentation.
Version 0.40 beta (Feb 6, 1998)
Gee, XFolder is finally getting somewhere. New features:
XFolder Global Settings dialog with zillions of settings. Take a look at
it, it's completely new. In this dialog, you can now configure certain
aspects of XFolder that some users found annoying. Most importantly, you
can now switch off XFolder's icon replacement.
XFolder can now display the full path of the folder in the folder window
title (e.g. "C:\OS2\APPS" instead of just "APPS"), which is a bit more
informative.
XFolder can now also remove OS/2 default menu entries.
Version 0.31 (Feb 1, 1998)
New features:
"Create another" objects in the default configuration now ask for a name
before creating.
More robust online help. Meaningful error messages if not found.
Added online help for pressing F1 over an XFolder variable menu item.
Bugfixes -- I told you, 0.30 was a beta only ;-) :
"%" in parameter lists of program objects is now also recognized when
other parameters need to be passed to the program. Example: "text1.txt %"
now works. The previous version only recognized "%" when it was the only
character in the parameters list.
If the folder name contains spaces, it is now enclosed in quotes ("folder
name") before being passed as a parameter. This allows Netscape to
display these folders also.
Removed faulty information displayed by the install script: the help file
was NEVER copied to \OS2\HELP, despite the announcement of the install
script.
The maximum number of objects in the config folder is still set to 50;
however, instead of crashing, XFolder will now give you a message, asking
you to remove objects.
Version 0.30 beta (Jan 31, 1998)
New features:
Now all object classes are recognized in the config folders, not only
WPPrograms and WPFolders.
Extra functionality for WPPrograms: The folder name is passed to the
program as a parameter, unless the parameter list in the program object
contains "%" (like WPS behaviour). This shall henceforth be known as
"Netscape support". ;-) See "Program objects" for details.
Added online help for XFolder's error messages. This cost me two years of
my life.
Install program improved: replaces previous XFolder versions; creates
more objects than previously, supporting the new features; can now also
recreate the default configuration folder only.
Bugfixes:
Reworked internal handling of submenus. The previous version displayed a
funny behaviour with "almost empty" subfolders, which was not severe
though.
Reworked large parts of this documentation. Window positioning implemented.
Version 0.21 (Jan 23, 1998)
New features:
Can now freely add submenus by recognizing folders in the config folder.
Install program creates an according default config folder.
Documentation extended.
Bugfixes:
XHELP.CMD was missing in the first release, making installation
impossible.
Version 0.11 (Jan 17, 1998)
Initial release with a fixed "XFolder" subfolder, into which single menu items
could be inserted.
ΓòÉΓòÉΓòÉ 17. XFolder-Interna ΓòÉΓòÉΓòÉ
Dieses Kapitel bietet Ihnen weiterfБhrende Informationen, wie XFolder
eigentlich arbeitet. Das Nachstehende ist nicht notwendig, um mit XFolder zu
arbeiten, sondern ist fБr diejenigen Benutzer gedacht, die sich mit OS/2
bereits gut auskennen und etwas mehr Бber XFolder erfahren mФchten.
Dank der UnterstБtzung von Christian Faulhammer sind auch diese Seiten jetzt
auf deutsch.
Was sind WPS-Klassen?
Wie arbeitet XFolder?
Wie arbeitet XShutdown?
Wie wurde XFolder entwickelt?
PersФnlicher Hinweis
ΓòÉΓòÉΓòÉ 17.1. Was sind WPS-Klassen? ΓòÉΓòÉΓòÉ
Bitte lesen Sie zuerst die Seite "WPS Klassenliste" im EinfБhrungsteil dieses
Dokuments, wenn Sie noch gar keine Ahnung von WPS Klassen haben.
Im allgemeinen, in der objekt-orientierten Programmierung, ist eine Klasse eine
abstrakte Definition von (1.) Daten-Typen und (2.) Aktionen, die auf diese
Daten angewendet werden kФnnen. Die letzteren sind auch als Objekt-Methoden
bekannt.
WДhrend Klassen den Objekt-Typ nur auf eine abstrakte Art beschreiben, werden
die Objekte, die wirklich in einem Programm existieren, Instanzen einer
bestimmten Klasse genannt.
Nehmen wir beispielsweise ein WPS Programm-Objekt: Jedes Programm ist eine
Instanz der Klasse WPProgram, die von der WPS definiert wurde. Die (1.) Daten
des Programm-Objekts wБrden, neben anderen, die mit ihm verbundene ausfБhrbare
Datei sein (z.B. "CMD.EXE"), wДhrend (2.) Methoden (die auf diese Daten
angewendet werden kФnnten) das Starten des Programms (durch Doppelklick oder
den MenБpunkt "Щffnen") oder das Оndern der Einstellungen im entsprechenden
MenБpunkt wДren. Obwohl man die Methoden nicht "sehen" kann, werden sie
trotzdem intern immer verwendet, wenn die WPS irgendetwas tut. Wenn Sie
Erfahrung mit dem Begriff haben, kann man Methoden mehr oder weniger als
"Application Programmer's Interface" (API, auf deutsch etwa:
Programmentwicklerschnittstelle) fБr ein Objekt beschreiben. Falls Sie in REXX
programmieren: Jedes Mal, wenn Sie eines dieser Objekt-Einstellungs-Strings
verwenden, um die Daten eines Objektes zu verДndern, wenden Sie eine Methode
auf ein Objekt an.
Da Methoden fБr jede Klasse einzeln definiert werden, hДngt die Anzahl der
Methoden, die auf ein Objekt angewendet werden kФnnen, von der Klasse des
Objekts ab. Ich habe sie nicht gezДhlt, aber schon WPObject, die fundamentalste
WPS-Klasse, definiert mehr als 100 Methoden.
Was die objekt-orientierte Programmierung so flexibel (und populДr) macht, ist
die MФglichkeit der Definition von Verwandschaften zwischen Objekten. Um dies
zu verstehen, sind folgende zwei Konzepte hilfreich:
Vererbung. Dieses Konzept erlaubt es, eine Objekt-Klasse zu definieren,
die alle Daten-Typen und Methoden von anderen Objekt-Klassen Бbernimmt,
ohne daс der Programmierer wissen muс, wie die Original-Klasse
programmiert worden ist. Man kann einfach die Eigenschaften der
existierenden Klasse Бbernehmen und nur das neu schreiben, was man
implementieren mФchte. Die ursprБngliche Klasse wird "Stamm-" oder
"Eltern-Klasse" der "abgeleiteten" Klasse genannt.
Die Desktop-Klasse ("WPDesktop" genannt) wird von der Ordner-Klasse
abgeleitet. D.h. daс die ArbeitsoberflДche nur eine spezielle Sorte
Ordner ist.
GrundsДtzlich gesehen hat der Desktop alle MФglichkeiten eines normalen
Ordners: Man kann andere Objekte hineintun, seinen Inhalt sortieren, eine
Baum- oder Detail-Ansicht Фffnen usw. Aber zusДtzlich bietet WPDesktop
einige Dinge mehr: Das KontextmenБ enthДlt mehr EintrДge (wie
"Systemabschluс" und "Systemkonfiguration"), sein Eigenschaftennotizbuch
hat ein paar Reiter mehr etc. Offensichtlich besitzt die
ArbeitsoberflДche Ordner-Charakteristiken, aber fБgt auch neue
Eigenschaften hinzu. Auf der anderen Seite sind einige Ordner-
Eigenschaften nicht vorhanden: Beispielsweise kann man den aktiven
Desktop nicht schlieсen, und er hat auch keine Titelzeile.
Die WPS stellt eine Ableitungsstruktur zur VerfБgung, so daс alle Objekte
logisch gruppiert und abhДngig voneinander sind. Auf einer weit
abstrakteren Ebene sind alle Objekt-Klassen der WPS Ableitungen einer
EINZIGEN KLASSE mit Namen "WPObject", die bestimmte Funktionen bietet,
die alle WPS-Objekte brauchen: hauptsДchlich die MФglichkeit,
KontextmenБs, EinstellungsnotizbБcher und derartige Dinge anzuzeigen.
Dies ist typisch fБr objekt-orientierte Programmierung; solch eine
globale Ursprungsklasse wird auch "Wurzel-Klasse" einer
"Klassen-Hierarchie" genannt.
Auf WPObject baut die WPS einen kompletten Baum von Klassen auf, der als
WPS Klassen-Hierarchie bekannt ist. Sie kФnnen unter dem Reiter
"WPS-Klassen" in XFolders "Workplace Shell"-Objekt einen Blick darauf
werfen.
Eine solche Klassen-Hierarchie hat den Vorteil, daс man nur die
Eigenschaften der Wurzel-Klasse Дndern muс, um alle davon abgeleiteten
Klassen ebenfalls zu Дndern. (Der Nachteil aus Sicht eines Programmierers
ist, daс man sehr genau die ZusammenhДnge der verschiedenen Klassen und
Methoden analysieren muss, um eine solche Klassen-Hierarchie aufzubauen.
HДufig passiert es, daс die Planung nicht ganz optimal war. Aber wenn die
Hierarchie erst einmal gut durchdacht ist -- Dank an IBM, daс es im Falle
der WPS so ist --, sind die Vorteile Бberragend.)
Polymorphie. Dieses Konzept bedeutet, daс man trotz Vererbung bestimmte
Eigenschaften einer abgeleiteten Klasse mit neuen ERSETZEN kann. Das
Verhalten der originalen Objekt-Klasse kann geДndert ("Бbersteuert")
werden. Wenn jetzt irgendeine Methode auf eine Ableitung angewendet wird,
wird die neu definierte Methode anstatt der von der Stamm-Klasse benutzt.
Nur als ein Beispiel mФchte ich den Punkt "Hilfe" erwДhnen, der im
KontextmenБ von jedem Objekt vorhanden ist. Durch Auswahl von "Erweiterte
Hilfe" wird die wpDisplayHelp-Methode des Objekts aufgerufen. Diese
Methode wird von der WPS Wurzel-Klasse ("WPObject") bereitgestellt, so
daс alle WPS-Objekte die Hilfe anzeigen kФnnen: Der OS/2-Hilfemanager
wird initialisiert, das Hilfefenster wird dargestellt usw. Die
anzuzeigende Hilfeseite wird aber aber von beinahe jeder WPS-Klasse
geДndert (dem Konzept der Polymorphie folgend). Also bringt die "Hilfe"
bei einem Ordner etwas anderes zum Vorschein als bei einem
Programm-Objekt.
FБr Details Бber Klassen-Ersetzungen siehe auch die Seite
"WPS Klassen" im EinfБhrungsteil.
WДhrend die Konzepte von Vererbung und VerДnderlichkeit Teil jeder
objekt-orientierten Programmierumgebung (und also auch jeder
objekt-orientierten Sprache, wie z.B. C++) sind, ist es der Workplace Shell
sogar mФglich, ihre Vorteile fБr verschiedene Applikationen zur VerfБgung zu
stellen. Die WPS besteht aus vielen DLLs, die zum Teil unabhДngig voneinander
sind, und auch Nicht-IBM-Programmierer kФnnen die WPS mit diesen MФglichkeiten
erweitern, ohne den Quellcode der WPS zu besitzen. Mit "normalen"
objekt-orientierten Sprachen wДre dies nicht mФglich.
Dieses System funktioniert nur, weil die WPS IBMs eigenes System Object Model
(SOM) benutzt, ein komplexes System, das objekt-orientierte
Programmierschnittstellen sogar zwischen verschiedenen Codemodulen und
sprachenunabhДngig bietet. SOM ist so mДchtig, da Klassen zur Laufzeit anstatt
zur Kompilierzeit instantiiert und aufrechterhalten werden.
Hier kommt Бbrigens die WPS-Klassenliste ins Spiel: Wenn die WPS hochgefahren
wird, erzeugt sie alle Klassen (die, in SOM, auch Objekte sind, aber das ist
eine sehr komplexe Angelegenheit) und richtet die Verwandtschaften erst zu
diesem Zeitpunkt ein. Nur deswegen ist es mФglich, Klassen ohne IBM, die die
Orginale erschaffen hat, zu modifizieren.
Meiner Meinung nach ist dies immer noch etwas, das OS/2 in der heutigen
Computer-Welt einzigartig macht. Mit der Zeit sind alle anderen Vorteile als
Alleinstellungsmerkmale verschwunden, wie z.B. das verlДсliche Multitasking
(Linux ist darin auch wirklich gut), aber die Benutzerschnittstelle wurde
bisher noch von keinem anderen Betriebssystem, das ich kenne, erreicht.
Besonders nicht von Windows 95.
ΓòÉΓòÉΓòÉ 17.2. Wie arbeitet XFolder? ΓòÉΓòÉΓòÉ
XFolder registriert und/oder ersetzt eine groсe Anzahl von WPS-Klassen. Schauen
Sie sich nur einmal das Skript INSTALL.CMD im XFolder Installations-Verzeichnis
an, um mehr darБber zu erfahren.
Die wichtigsten XFolder Klassen-Ersetzungen sind:
1. XFolder fБr die normalen Ordner, sie enthДlt die HauptfunktionalitДt von
XFolder;
2. XFldDisk fБr DatentrДger-Objekte, die im "Laufwerke"-Ordner erscheinen;
3. XFldObject, die WPS-Wurzel-Klasse, um Zugang zu vielen WPS-Interna zu
haben, und
4. XFldDesktop fБr die neuen Desktop-Eigenschaften, vor allem fБr die
erweiterte Systemabschluс-Prozedur.
Alle diese Klassen ersetzen die originalen WPS-Klassen.
Wie auf der vorhergehenden Seite beschrieben, ist die XFolder-Klasse eine
Ableitung der Klasse WPFolder. So kann sie alles machen, was auch ein normaler
Ordner kann. Als neue Funktion fБgt sie neue KontextmenБ-EintrДge zu allen
Ordnern hinzu, erlaubt Ordner-TastenkБrzel (Hotkeys), verДndert die Titelzeile
u.v.a.
Durch Benutzung der Polymorphie definiert XFolder verschiedene
WPFolder-Methoden neu, die nachstehend noch erlДutert werden.
XFolder ist jedoch dann in der WPS als ein WPFolder-Ersatz registriert, was
bedeutet, daс die WPS die XFolder-Klasse anstatt WPFolder als ihre
Ordner-Standard-Klasse benutzen wird. Dadurch wird WPFolder nicht mehr direkt
benutzt, sondern nur noch durch ihre Ersatz-(und Ableitungs-)Klasse XFolder.
FБr mehr Informationen Бber dieses Thema siehe die Seite "WPS-Klassen" im
EinfБhrungs-Teil.
Hier einige der WPFolder-Methoden, die von der XFolder-Klasse ersetzt werden
sind (wahrscheinlich nur fБr Programmierer von Interesse):
wpModifyPopupMenu: Diese WPObject-Methode wird von der WPS aufgerufen,
kurz bervor das KontextmenБ angezeigt wird. Jede WPS-Klasse fБgt hier
ihre eigenen, klassenspezifischen EintrДge hinzu.
Da XFolder viel mit den MenБs spielt, ist dies eine der wichtigsten
Methoden, die XFolder ersetzt. In dieser Methode ruft XFolder zuerst
wpModifyPopupMenu von der Stammklasse (WPFolder) auf, um alle
standardmДсigen EintrДge zum KontextmenБ hinzuzufБgen.
Dann sucht sie nach dem XFolder-Konfigurationsordner (der die Objekt-ID
<XFOLDER_CONFIG> haben muс) und fБgt ihn vФllig transparent ein. Jetzt
werden alle Objekte, UntermenБs und MenБpunkte durchgegangen. Wenn der
Konfigurationsordner nicht gefunden wird, erscheint ein
Nachrichtenfenster, und ein leerer Ordner mit der erforderlichen ID wird
auf der ArbeitsoberflДche erstellt.
Dasselbe geschieht mit den "Ordnerinhalt"-Funktionen und den
"Lieblingsordnern". Jedoch werden diese UntermenБs nur dann mit Objekten
gefБllt, wenn sie vom Benutzer geФffnet werden; dies geschieht, indem
XFolder die Fensternachricht WM_INITMENU abfДngt, und zwar in der
"unterklassierten" (subclassed) Fensterprozedur fБr den Ordnerrahmen
(siehe unten). XFolder "unterklassiert" ebenfalls alle UntermenБfenster
(und nur diese), damit es die Symbole zeichnen und Maustaste 2 zum Щffnen
eines Ordners abfangen kann.
(Bitte beachten Sie, daс "subclassing" nichts mit WPS-Klassen zu tun hat,
sondern ein Presentation Manager-Terminus fБr die Benutzung verschiedener
Nachrichten-Prozeduren fБr ein existierendes Fenster ist, um bestimmte
PM-Nachrichten fБr dieses Fenster abzufangen. DafБr wird die API
WinSubclassWindow benutzt.)
XFolder modifiziert mit dieser Methode auch diverse andere MenБs (wie das
"Sortieren"-UntermenБ), wenn die globalen Einstellungen dies erlauben,
und fБgt andere MenБeintrДge hinzu, wenn dies in den globalen
Einstellungen aktiviert worden ist.
wpMenuItemSelected: Dies wird immer dann von der WPS aufgerufen, wenn ein
Eintrag im KontextmenБ vom Benutzer ausgewДhlt worden ist.
XFolder БberprБft, ob einer seiner eigenen (variablen) EintrДge benutzt
wird; wenn dem so ist, findet es das zugehФrige Objekt im
Konfigurationsordner. Falls es sich bei dem Objekt um eine Instanz der
WPProgramm-Klasse handelt, werden die bereits vorher beschriebenen Tricks
ausgefБhrt. Wenn das Objekt eine Schablone ist (egal welche WPS-Klasse),
wird es nicht geФffnet, sondern XFolder erstellt dann davon ein neues
Objekt im aktuellen Ordner (via wpCreateFromTemplate).
Falls der gewДhlte Eintrag zu den "Ordnerinhalt"-UntermenБs gehФrt, wird
einfach das zugehФrige Objekt gestartet.
Wenn irgendein anderer MenБeintrag, den XFolder zum KontextmenБ
hinzugefБgt hat, benutzt wird, fБhrt XFolder intern die entsprechende
Aktion aus.
Wurde allerdings kein XFolder MenБeintrag ausgewДhlt, wird die
wpMenuItemSelected-Methode der Stammklasse (WPFolder) aufgerufen, um die
StandardeintrДge nicht am Funktionieren zu hindern.
wpMenuItemHelpSelected: Jedesmal wenn die F1-Taste auf einem
KontextmenБeintrag gedrБckt wird, kommt diese Methode ins Spiel. Falls
nФtig, zeigt XFolder die zugehФrige Hilfeseite auf.
wpFilterPopupMenu: Mit dieser Methode entfernt XFolder die
standardmДсigen MenБeintrДge, die Sie in den globalen Einstellungen
angegeben haben. (Diese Methode wird von der WPS noch vor
wpModifyPopupMenu aufgerufen, also zuerst werden die EintrДge zuerst
entfernt und dann neue eingefБgt.)
wpclsQueryTitle: Die Zeichenkette XFolder (oder was auch immer Sie in den
globalen Einstellungen angegeben haben) wird zurБckgegeben, um der
XFolder-Klasse einen unverwechselbaren Namen zu geben.
wpclsQueryIconData, wpclsQueryIconDataN: Diese zwei Klassen-Methoden
aktivieren die neuen XFolder-Ordnersymbole (offen und geschlossen), wenn
Sie dies in den globalen Einstellungen erlaubt haben.
wpOpen: Diese Routine wird aufgerufen, sobald die WPS einen Ordner (oder
auch jedes andere Objekt) Фffnet. XFolder muс diese Methode ersetzen, um
eine ganze Reihe von Funktionen zu implementieren.
Als erstes wird die Stammethode aufgerufen, um die Ordner-Ansicht zu
Фffnen: Die WPS erstellt ein Fenster mit einem Standard-PM-Container
darin und zeigt es auch an.
XFolder fДngt dann das Handle fБr den Fensterrahmen ab, mit dem es dann
den Fenstertitel des Ordners Дndern und den kompletten Pfad dort einfБgen
kann (falls aktiviert). Eigentlich ist es nur ein einfacher Aufruf von
WinSetWindowText, nur mit einigen Berechnungen, um den Titel nФtigenfalls
zu kБrzen.
In dieser Methode "unterklassiert" XFolder auch die Fensterprozedur fБr
den Ordnerrahmen, damit WM_CHAR-Nachrichten fБr Hotkeys und viele andere
Dinge verarbeitet werden kФnnen. Das Unterklassieren erschien mir die
beste MФglichkeit zu sein, da der gesamte nФtige WPS-Initialisierungskram
durch das Aufrufen der Stamm-Methode erledigt wird. Der Nachteil ist, daс
der Benutzer nicht mit dem Ordner interagieren kann, weil er erst danach
mit Objekten gefБllt ("bevФlkert" oder "populated" in WPS-Terminologie)
wird.
XFolder fДngt alle WM_CHAR-Nachrichten (die nur zur
Fensterrahmen-Prozedur weitergereicht werden, wenn sie noch nicht von
einem Container, wie den Pfeiltasten, bearbeitet worden sind) ab und
wertet sie gemДс der Ordner-TastenkБrzel-Liste aus, die in den globalen
Einstellungen geДndert werden kann.
Unterklassieren wird auch fБr die Statusleisten der Ordner benФtigt; die
WM_QUERYFRAMECTLCOUNT-, WM_FORMATFRAME-, und WM_CALCFRAMERECT-Nachrichten
werden abgefangen, um die GrФсe des Ordnerrahmens und seines
Container-Unterfensters entsprechend dem fБr die Statusleiste benФtigten
Platz zu Дndern.
XFolder fДngt auch einige Container-Benachrichtigungen ab, um in der
Baumansicht automatisch zu rollen und die Statusleiste zu Дndern, falls
der Benutzer die Objektauswahl geДndert hat.
ZusДtzlich angelt sich XFolder diverse MenБ-Nachrichten, wie WM_INITMENU
und WM_MENUSELECT, um einige MenБ-Funktionen zu benutzen, die Бber
normale WPS-Methoden nicht nutzbar sind.
Alle Nachrichten, die keine Bedeutung fБr XFolder haben, werden zu ihrer
ursprБnglichen Fensterprozedur weitergereicht.
Die wpOpen-Methode wird auch zur Implementation der erweiterten
Sortierfunktionen von XFolder gebraucht; XFolder aktualisiert die
Container-Einstellungen gemДс den Sortierkriterien, die Sie angegeben
haben.
wpAddSettingsPages: Die WPS ruft diese Methode auf, wenn das
Einstellungsnotizbuch eines Objektes geФffnet wird. XFolder ersetzt diese
Methode ebenfalls, um seine neuen Notizbuchseiten einzufБgen. Dabei wird
die Stammklasse aufgerufen, um auch die "normalen" Reiter einzufБgen.
Die XFldDisk-Klasse, die die WPDisk-Klasse ersetzt, tut nicht allzu viel,
auсer der Weiterleitung ihrer Methoden zu den XFolder-GegenstБcken, so daс
Laufwerksansichten sich wie normale "(X)Folder" verhalten. IBM hat aus
irgendeinem Grund entschieden, Laufwerksobjekte nicht zu regulДren Ordnern zu
machen, sondern eine andere Klasse fБr sie implementiert (WPRootFolder
genannt), also braucht XFolder auch eine separate Klasse.
XFldObject arbeitet auf den ersten Blick anscheinend auch nicht so viel, auсer
daс die Standard MenБ-EintrДge unterdrБckt werden und "Dateiname kopieren"
hinzugefБgt wird. Aber diese Klasse wird von anderen XFolder-Teilen benФtigt,
um Бber einige interne WPS-Ereignisse benachrichtigt zu werden, vor allem von
XShutdown, was im Detail auf der nДchsten Seite beschrieben wird.
Die XFldDesktop-Klasse wurde fБr die Оnderung der Desktop-MenБeintrДge
implementiert sowie fБr XShutdown, das im Detail auf der nДchsten Seite
beschrieben wird, implementiert.
WДhrend frБhere Versionen auch die WPSystem-Klasse ersetzten, so daс das
"System"-Objekt in der Systemkonfiguration einige Reiter fБr XFolders globale
Einstellungen enthielt, hat sich dieses Verhalten mit V0.80 geДndert.
Stattdessen registriert XFolder zwei neue Klassen, die sich zwar von WPSystem
ableiten, diese Klasse aber nicht ersetzen. Diese zwei Klassen sind XFldSystem
und XFldWPS fБr das Objekt "OS/2 Kernel" bzw. "Workplace Shell". Die
Einstellungen werden grФсtenteils in der OS2.INI gespeichert und jedesmal dann
ausgewertet, wenn XFolder sie braucht (z.B. wenn Sie ein KontextmenБ Фffnen).
Dagegen werden die "lokalen" XFolder-Einstellungen fБr einen einzelnen Ordner
in seinen .CLASSINFO-EAs gespeichert, wo die WPS auch die anderen
Ordner-Einstellungen sichert. Dies wird dann von der XFolder-Klasse erledigt.
Bitte beachten Sie, daс die XFolder-Klassen entworfen wurden, um zu
interagieren. Versuchen Sie nicht einfach nur einige der Klassen zu entfernen,
da sich XFolder komisch benehmen kФnnte (wenn Sie GlБck haben). Alle
MФglichkeiten von XFolder sind individuell einstellbar, so daс Sie nur das
einsetzen mБssen, was Sie brauchen -- Sie kФnnen XFolder auch ganz schnell
loswerden, falls Sie wollen.
ΓòÉΓòÉΓòÉ 17.3. Wie arbeitet XShutdown? ΓòÉΓòÉΓòÉ
XShutdown hat mich viele Stunden angestrengten Denkens gekostet, weil es
wirklich nirgendwo dokumentiert ist, was wДhrend des normalen Systemabschlusses
geschieht.
Normalerweise kennt OS/2 zwei verschieden Systemabschluс-APIs:
DosShutdown schlieсt nur alle geФffneten Dateien, schreibt die
Dateisystem-Puffer zurБck und lФst alle Dateisysteme; das passiert nach
dem DrБcken von Strg-Alt-Entf (Ctrl-Alt-Del). Anwendungen werden nicht
ordnungsgemДс geschlossen, und die WPS wird auch nicht gesichert.
WinShutdownSystem ist eine API, die zum Presentation Manager gehФrt und
alle Fenster schlieсt, die WPS sichert und schlieсlich DosShutdown
aufruft. Dies ist die normale Systemabschluс-Prozedur: Sie wird
ausgefБhrt, wenn Sie "Systemabschluс" aus dem KontextmenБ des Desktops
oder die entsprechenden Symbole aus der Klickstartleiste oder dem
WarpCenter auswДhlen.
Das Problem ist, daс es keine Funktion "zwischen" diesen beiden gibt. Wenn Sie
DosShutdown aufrufen, wird die WPS nicht gesichert, und bei WinShutdownSystem
legt der normale Systemabschluс los, ohne daс man irgendeine MФglichkeit
hДtte, noch einzugreifen. Das bedeutete, daс ich quasi ein komplett neues
WinShutdownSystem programmieren muсte, das hier jetzt erklДrt wird. Dies war
ziemlich schwierig, da IBM kaum irgendetwas darБber erklДrt, was wirklich
wДhrend WinShutdownSystem passiert.
Hinweis: In XFolder benutzen der "Erweiterte Systemabschluс" und "WPS
neustarten" denselben Code; der einzige Unterschied sind die Aktionen, die
nach dem Schlieсen aller Fenster ausgefБhrt werden. Deshalb werde ich den
Begriff "XShutdown" in den folgenden ErklДrungen fБr beide benutzen, wenn
nicht anders angegeben.
XShutdown ist in die WPS integriert und ist sehr stark von den
XFolder-Ersatzklassen abhДngig. Bewuсt habe ich den XShutdown-Code nicht einer
separaten .EXE-Datei mitgeliefert: zum einen braucht XShutdown Zugriff auf
WPS-interne Daten, die nur durch SOM erreichbar sind; zum zweiten will ich die
Leute davor bewahren, XShutdown ohne installierte XFolder-Klassen zu starten,
da dies die WPS beschДdigen kФnnte. Genauer gesagt benФtigt XShutdown die
Klasse XFldObject und den XFolder-Worker-Thread, die die WPS-internen Daten
zugДnglich machen.
Um zu verstehen, was XShutdown tut, muс man wissen, wie die WPS ihre Objekte
intern verwaltet. Jedes einzelne Objekt, das zu einem Zeitpunkt fБr die WPS
relevant wird, sei es durch BevФlkern eines Ordners, durch Abfragen der
Einstellungen oder durch Starten eines Programmes oder durch was auch immer,
wird -- in WPS Terminologie -- vom System "aufgeweckt" ("awakened"); das
bedeutet, daс es als SOM-Objekt im Speicher existiert.
Die WPS schlДfert nur selten wache Objekte wieder ein, was die Freigabe des
damit verbundenen Speichers und einer Sicherung der Daten des Objekts auf
Festplatte zur Folge hДtte. Das hat zwei Konsequenzen:
1. Es gibt immer mehr "wache" Objekte auf Ihren System, als Sie in diesem
Moment annehmen wБrden, da die meisten von ihnen gerade nicht sichtbar
sind. Sogar wenn Sie einen Ordner geschlossen haben, bleiben die Objekte
darin wach; das beschleunigt das BevФlkern des Ordners, wenn er zum
zweiten Mal geФffnet wird. Das fБhrt dazu, daс die WPS mit jedem Ordner,
der geФffnet wird, immer mehr und mehr Speicher belegt. (Wenn Sie von
XShutdown eine Logdatei erstellen lassen, kФnnen Sie sehen, wie viele
wache Objekte von XShutdown gesichert werden; normalerweise sind das
einige hundert Objekte, auch wenn XShutdown nicht alle Objekte sichert,
sondern nur die Ableitungen von WPFolder und WPAbstract. Unter dem Reiter
"Interna" im Einstellungsnotizbuch des ArbeitsoberflДche kФnnen Sie
sehen, wie viele Objekte derzeit wach sind.)
2. Eine Оnderung der Objekt-Daten aktualisiert manchmal nur das SOM-Objekt
im Speicher, wird aber nicht auf Festplatte oder in OS2.INI / OS2SYS.INI
gespeichert. Darum gerДt die WPS manchmal ins Schleudern, wenn Sie
grФсere Оnderungen durchgefБhrt haben, wie das Bewegen eines Ordners, der
viele abstrakte Objekte enthДlt, und danach nicht richtig herunterfahren:
die physikalischen Daten auf der Festplatte und die WPS-EintrДge
unterscheiden sich dann.
DafБr braucht XShutdown die Klasse XFldObject, die WPObject ersetzt. Jedes
mal, wenn ein Objekt aufgeweckt wird, ruft die WPS diverse Methoden auf
(darunter wpInitData und wpObjectReady). XFldObject ersetzt diese und Бbergibt
die Speicheradresse des Objekts an den Worker-Thread, der dann die
XFolder-interne Liste aller momentan wachen Objekte aktualisiert. Soweit ich
weiс, gibt es keinen anderen Weg herauszufinden, welche Objekte gerade wach
sind; auf jeden Fall gibt es auch keine dokumentierte API, die diese Objekte
auflisten kФnnte.
Wenn XShutdown nun aufgerufen und bestДtigt wird, startet es als erstes fБr
die folgende Systemabschluс-Prozedur zwei neue Threads, die parallel zu den
regulДren WPS-Threads laufen; der Haupt-"Systemabschluс-Thread" mit der
Nachrichtenschlange fБr das Status-Fenster, und der "Update-Thread", der die
OS/2-Fensterliste Б berwacht und Nachrichten an den Hauptthread absetzt, wenn
das Status-Fenster aktualisiert werden muс. Daher ist das Schlieсen aller
momentan geФffneten Fenster ein kompliziertes Zusammenspiel dieser beiden
Threads: Der Systemabschluс-Thread schlieсt ein Fenster und geht dann so lange
in den Leerlauf, bis der Update-Thread eine Оnderung in der Fensterliste
meldet (was bedeutet, daс erfolgreich geschlossen wurde) und den
Systemabschluс-Thread benachrichtigt, der dann wiederum das nДchste Fenster
schlieсt, bis kein Fenster mehr Бbrig ist.
Nachdem alle Fenster geschlossen worden sind, beendet sich der Update-Thread.
Jetzt geht der Systemabschluс-Thread die Liste aller momentan wachen Objekt
durch (s.o.) und zwingt sie durch den Aufruf der wpSaveImmediate-Methode, ihre
Daten in die INI-Dateien oder auf Festplatte zu schreiben. Dies geschieht nur
fБr die Ableitungen von WPAbstract und WPFolder, weil nach meiner Erfahrung
alle anderen Klassen ihre Daten direkt speichern. (Ich habe einmal versucht,
alle Ableitungen von WPFileSystem zu sichern, und dies verursachte jede Menge
Erweiterter Attribute fБr jede einzelne Datei, die jemals von der WPS geweckt
wurde. Abgesehen davon dauert der Systemabschluс dann ewig lange.)
Zuletzt, je nach dem welche Aktion gewБnscht wird, fБhrt der
Systemabschluс-Thread folgendes aus:
Wenn Sie "WPS neustarten", ausgewДhlt haben, ruft der
Systemabschluс-Thread einfach nur DosExit(EXIT_PROCESS, 0) auf. Da
XFolder Teil des Workplace-Prozesses ist und die gesamte WPS in diesem
einen Prozeс lДuft (der zweiten Instanz von PMSHELL.EXE), beendet dies
die komplette Workplace Shell. Der Shell-Prozeс (die erste Instanz von
PMSHELL.EXE) startet dann die WPS automatisch neu.
Wenn Sie "Systemabschluс" und "Rechner neu starten" ausgewДhlt haben,
speichert XShutdown auch die INI-Dateien. Das ist nФtig, weil
DosShutdown, das anschlieсend aufgerufen wird, diese nicht sichert.
(Wahrscheinlich deshalb, weil die APIs fБr INI-Dateien zum Presentation
Manager gehФren.) Da die INI-APIs es verbieten, einfach die User- und
System-Profile zu schlieсen (was die Daten aller anderen Profile auf
Festplatte sichern wБrde), kopiert XFolder sie in zwei temporДre Dateien,
lФscht die Originale, und benennt dann die temporДren um. Nach
DosShutdown ("LФse Dateisysteme...") wird das System mit einem Aufruf des
GerДtetreibers DOS.SYS neu gestartet. Diese Funktion ist in EDM/2 Band 5,
Ausgabe 9 beschrieben.
Wenn Sie "Systemabschluс" OHNE "Rechner neu starten" ausgewДhlt haben,
schaltet XShutdown nach DosShutdown die Fensterliste ab und blockiert das
System einfach durch einen Aufruf von DosEnterCritSec und einer
unendlichen Schleife. Da alle Dateisysteme geschlossen sind, sollte keine
andere Aktion auсer dem Ausschalten oder Neustarten des Rechners mehr
mФglich sein.
ΓòÉΓòÉΓòÉ 17.4. Wie wurde XFolder entwickelt? ΓòÉΓòÉΓòÉ
XFolder wird mit Hilfe des "Warp 3 Developer's Toolkit" in C programmiert. Alle
Versionen bis 0.72 wurden vom IBM C-Set/2-Compiler erstellt. Dank der
groсzБgigen UnterstБtzung von Mark Mellin, der mir VisualAge C++ 3.0 geschenkt
hat, wird XFolder seit Version 0.80 mit diesem Compiler erzeugt, der eine Menge
Verbesserungen gegenБber den frБheren IBM-Compilern hat.
Ich bin nur ein Student in Deutschland und kann es mir nicht leisten, fБr Бber
800,-DM (400,- Euro) eine integrierte Entwicklungsumgebung zu kaufen, egal wie
mДchtig und brauchbar sie sein mag. Darum habe ich auch jahrelang fБr DOS mit
Borland Pascal 7 programmiert und bin dann 1997 auf REXX umgeschwenkt. Ein
Ergebnis ist das (in meinen Augen Дuсerst nБtzliche) CommandPak-Paket, um die
OS/2 Kommandozeile zu verbessern. (Dies ist ebenfalls Бber mein Heimseite
erhДltlich.)
Mein C-Set/2 habe ich vom deutschen OS/2-Magazin "OS/2 Inside", dem nachgesagt
wurde, daс es das beste OS/2-Magazin der Welt gewesen sei. Eine CD mit dem
kompletten C-Set gab es fБr 35,- DM.
FrБher habe ich auf dieser Seite die Bestelladresse angegeben, aber die "OS/2
Inside" wurde vom Markt genommen, und der Versand-Shop wurde nach Berichten
ebenfalls geschlossen. Traurigerweise kenne ich keine MФglichkeit mehr, billig
an einen IBM Compiler zu kommen.
Man kann aber immer noch WPS-Klassen schreiben, wenn man den groсartigen und
kostenlosen EMX/GNU C-Compiler benutzt, den man sich von LEO in Deutschland
herunterladen kann. UnglБcklicherweise braucht man noch das "Warp 3 Developer's
Toolkit".
Obwohl IBM bekannt gegeben hat, daс SOM nicht mehr lДnger unterstБtzt wird, ist
dies immer noch eine groсartige Technologie, die aber etwas Einarbeitungszeit
erfordert.
Das Warp 3 Toolkit enthДlt alles, um mДchtige WPS-Klassen zu erstellen. Es ist
ausreichend dokumentiert, um die grundlegende WPS-FunktionalitДt zu verstehen,
was mir erlaubt hat (dabei kannte ich weder C noch die OS/2-API, sondern nur
OOP mit Pascal und Windows 3.1) XFolders Grundfunktionen (Xfolder 0.11) in drei
Tagen zu programmieren. (Mit komplexeren Features wird die Sache natБrlich
schwieriger, aber das ist eine andere Geschichte.)
Neben der Toolkit-Dokumentation lohnt es sich auch, die vier IBM-"Redbooks"
Бber OS/2 V2.0 zu lesen, die ich auf einer alten Hobbes-CD-ROM gefunden habe
und die immer noch auf den allgemein bekannten FTP-Servern verfБgbar sind. Das
meiste ist zwar schon veraltet (nur Бber OS/2 V2.0!), aber die Grundkonzepte
des Systems sind eigentlich dieselben geblieben.
Auсerdem kann ich das Electronic Developer's Magazine for OS/2 im WWW wДrmstens
empfehlen, das einige fabulФse Artikel Бber jeden Bereich der
OS/2-Programmierung verФffentlicht hat. Es gibt zwei Serien Бber
WPS-Programmierung, die eine beginnt in Band 2, Ausgabe 8, die andere in Band
5, Ausgabe 10.
Wenn Sie die oben genannten Programme haben, sollten Sie in der Lage sein, die
WPS blitzschnell zu programmieren. Alles, was Sie dann noch brauchen, ist eine
gehФrige Portion Geduld, da die WPS in einem Einzel-Prozeс lДuft (PMSHELL.EXE),
und Fehler in Ihrem Projekt werden immer wieder alles abstБrzen lassen.
Verinnerlichen Sie sich den Abschnitt "Debugging WPS applications" aus dem
Toolkit WPS Guide, um zumindest die Дrgerlichsten Fehler zu umgehen.
═══ 17.5. PersФnlicher Hinweis ═══
Als letztes noch eine subjektive Hypothese:
Wenn es IBM drei Jahre frБher geschafft hДtte, einen gБnstigen Compiler auf den
Markt zu bringen, wДre OS/2 heute in einer besseren Position.
Letztendlich mangelte es mir nicht an Interesse, sondern an Geld, um fБr OS/2
zu programmieren. Sowohl Freeware/Shareware als auch der kommerzielle Markt
wДren mit einem "Turbo Pascal fБr OS/2" viel vitaler gewesen. Aber dies steht
nur als Beispiel fБr ein generelles Problem von OS/2: Die beste Technologie
Бberhaupt, aber kein Interesse am Massenmarkt. :-(
BTW, etwas Trost fБr depressive OS/2-Benutzer kann man bei der exellenten
Webseite "OS/2 Headquarters" von Tom Nadeau auf
http://www.mindspring.com/~os2headquarters/ finden. Unter anderem die zwei
geistreichen Serien "Understanding Microsoft" und "Understanding IBM" und mehr.
"Dann erhob sich im ganzen Land ein Klang von Wehklagen und ZДhneknirschen, da
Millionen von Menschen OS/2 benutzten und wuсten, daс es gut war. Doch es
verhДrtete die Echse ihr Herz gegen sie, und sie sprach: Nein, dafБr besteht
kein Bedarf."
Gefunden auf: http://www.gate.net/~shipbrk/mozilla.html
ΓòÉΓòÉΓòÉ 18. Appendices ΓòÉΓòÉΓòÉ
Dieses Kapitel bietet Ihnen verschiedene Informationen Бber XFolder sowie
einige zur WPS, die sonst nur schwer zu bekommen ist:
WPS-Klassenhierarchie: ein Diagramm der wichtigsten WPS-Klassen
WPS object IDs: eine Sammlung von Objekt-IDs, die auf den meisten
Systemen gБltig sein sollten
WPFolder setup strings: alle "Setup strings", die fБr Ordner gБltig sind
New XFolder setup strings: die neuen "Setup strings", die die
XFolder-Klasse fБr Ordner einfБhrt
WPS menu ID's: eine Sammlung von MenБ-IDs, die mit dem "Setup string"
MENUITEMSELECTED benutzt werden kФnnen
ΓòÉΓòÉΓòÉ 18.1. WPS-Klassenhierarchie ΓòÉΓòÉΓòÉ
Die folgenden Informationen stammen aus dem Developer's Toolkit fБr OS/2 Warp
3. Die XFolder-Klassen wurden ausgelassen; einige der Klassen, die OS/2 Warp 4
hinzufБgt, sind ebenfalls hier aufgefБhrt. Je nachdem, welche Software Sie
installiert haben, kФnnen auf Ihrem System weitere Klassen verfБgbar sein.
Klassen, von denen sinnvollerweise Objekte (Instanzen) erzeugt werden kФnnen,
sind hier hervorgehoben. Seien Sie mit anderen Klassen vorsichtig, weil sonst
unvorhersehbare Effekte entstehen kФnnen.
WPObject
Γö£ΓöÇΓöÇ WPAbstract
Γöé Γö£ΓöÇΓöÇ WPClock
Γöé Γö£ΓöÇΓöÇ WPCountry
Γöé Γö£ΓöÇΓöÇ WPDisk
Γöé Γö£ΓöÇΓöÇ WPKeyboard
Γöé Γö£ΓöÇΓöÇ WPLaunchPad
Γöé Γö£ΓöÇΓöÇ WPMouse
Γöé Γö£ΓöÇΓöÇ WPPalette
Γöé Γöé Γö£ΓöÇΓöÇ WPColorPalette
Γöé Γöé Γö£ΓöÇΓöÇ WPFontPalette
Γöé Γöé ΓööΓöÇΓöÇ WPSchemePalette
Γöé Γö£ΓöÇΓöÇ WPPower
Γöé Γö£ΓöÇΓöÇ WPPrinter
Γöé Γöé ΓööΓöÇΓöÇ WPRPrinter
Γöé Γö£ΓöÇΓöÇ WPProgram
Γöé Γö£ΓöÇΓöÇ WPShadow
Γöé Γöé ΓööΓöÇΓöÇ WPNetLink
Γöé Γö£ΓöÇΓöÇ WPShredder
Γöé Γö£ΓöÇΓöÇ WPSound
Γöé Γö£ΓöÇΓöÇ WPSpecialNeeds
Γöé Γö£ΓöÇΓöÇ WPSpool
Γöé Γö£ΓöÇΓöÇ WPSystem
Γöé ΓööΓöÇΓöÇ WPWinConfig
Γö£ΓöÇΓöÇ WPFileSystem
Γöé Γö£ΓöÇΓöÇ WPDataFile
Γöé Γöé Γö£ΓöÇΓöÇ WPBitmap 3)
Γöé Γöé Γö£ΓöÇΓöÇ WPHtml 2)
Γöé Γöé Γö£ΓöÇΓöÇ WPIcon
Γöé Γöé Γö£ΓöÇΓöÇ WPMet
Γöé Γöé Γö£ΓöÇΓöÇ WPPif
Γöé Γöé Γö£ΓöÇΓöÇ WPPointer
Γöé Γöé Γö£ΓöÇΓöÇ WPProgramFile
Γöé Γöé Γöé ΓööΓöÇΓöÇ WPCommandFile
Γöé Γöé Γö£ΓöÇΓöÇ WPUrl 2)
Γöé Γöé ΓööΓöÇΓöÇ WebExplorer_Url 1)
Γöé ΓööΓöÇΓöÇ WPFolder
Γöé Γö£ΓöÇΓöÇ WPDesktop
Γöé Γö£ΓöÇΓöÇ WPDrives
Γöé Γö£ΓöÇΓöÇ WPHost 2)
Γöé Γö£ΓöÇΓöÇ WPHvManager 2)
Γöé Γö£ΓöÇΓöÇ WPMinWinViewer
Γöé Γö£ΓöÇΓöÇ WPNetgrp
Γöé Γö£ΓöÇΓöÇ WPNetwork
Γöé Γö£ΓöÇΓöÇ WPRootFolder
Γöé Γö£ΓöÇΓöÇ WPServer
Γöé Γö£ΓöÇΓöÇ WPSharedDir
Γöé Γö£ΓöÇΓöÇ WPStartup
Γöé Γö£ΓöÇΓöÇ WPUrlFolder 2)
Γöé ΓööΓöÇΓöÇ WPTemplates
ΓööΓöÇΓöÇ WPTransient
Γö£ΓöÇΓöÇ WPDevice 2)
Γöé Γö£ΓöÇΓöÇ WPDevAudio 2)
Γöé Γö£ΓöÇΓöÇ WPDevBus 2)
Γöé Γö£ΓöÇΓöÇ WPDevCDRom 2)
Γöé Γö£ΓöÇΓöÇ WPDevCPU 2)
Γöé Γö£ΓöÇΓöÇ WPDevDiskette 2)
Γöé Γö£ΓöÇΓöÇ WPDevDisplay 2)
Γöé Γö£ΓöÇΓöÇ WPDevHarddrive 2)
Γöé Γö£ΓöÇΓöÇ WPDevKeyboard 2)
Γöé Γö£ΓöÇΓöÇ WPDevMemory 2)
Γöé Γö£ΓöÇΓöÇ WPDevMouse 2)
Γöé Γö£ΓöÇΓöÇ WPDevParallel 2)
Γöé Γö£ΓöÇΓöÇ WPDevPeriph 2)
Γöé Γö£ΓöÇΓöÇ WPDevSerial 2)
Γöé Γö£ΓöÇΓöÇ WPDevTape 2)
Γöé ΓööΓöÇΓöÇ WPDevTimer 2)
Γö£ΓöÇΓöÇ WPJob
Γö£ΓöÇΓöÇ WPPdr
Γö£ΓöÇΓöÇ WPPort
ΓööΓöÇΓöÇ WPQdr
Notices:
1) Dies ist keine Standard-WPS-Klasse und muс nicht auf jedem System verfБgbar
sein.
2) Diese Klasse besteht nur unter OS/2 Warp 4.
3) Unter OS/2 Warp 4 ist WPBitmap eine Unterklasse von WPImageFile, die
wiederum selbst eine Unterklasse von WPDataFile ist.
ΓòÉΓòÉΓòÉ 18.2. WPS-Objekt-IDs ΓòÉΓòÉΓòÉ
Die folgenden Objekt-IDs werden bei der Installation von OS/2 vordefiniert und
sollten folglich auf jedem System verfБgbar sein (es sei denn, das
entsprechende Objekt wurde gelФscht).
Systemordner:
<WP_NOWHERE>: Versteckter Ordner (fБr Klickstartleiste, "?:\NOWHERE")
<WP_DESKTOP>: die momentan aktive ArbeitsoberflДche
<WP_OS2SYS>: OS/2-System-Ordner
<WP_TEMPS>: Schablonenordner
<WP_CONFIG>: Ordner "Systemkonfiguration"
<WP_START>: Ordner "Systemstart"
<WP_INFO>: Ordner "Information"
<WP_DRIVES>: Laufwerksordner
<WP_PROMPTS>: Ordner "Befehlszeilen"
<WP_TOOLS>: Ordner "ProduktivitДt"
<WP_GAMES>: Spiele-Ordner
Weitere Systemobjekte:
<WP_VIEWINF>: VIEW.EXE-Programm
<WP_SYSED>: OS/2-Systemeditor
<WP_ICON>: Symboleditor
<WP_PULSE>: Puls
<WP_CLIPV>: Zwischenablage anzeigen
<WP_OS2FS>: OS/2 (Vollbild)
<WP_OS2WIN>: OS/2-Fenster
<WP_DOSFS>: DOS (Volbild)
<WP_DOSWIN>: DOS-Fenster
<WP_WINFS>: Win-OS/2 (Vollbild)
<WP_WIN2WIN>: Win-OS/2-Fenster
<WP_KEYB>: Tastatur-Einstellungsobjekt
<WP_MOUSE>: Maus-Einstellungsobjekt
<WP_SYSTEM>: System-Einstellungsobjekt
<WP_CNTRY>: Land-Einstellungsobjekt
<WP_SOUND>: Warnton-Einstellungsobjekt
<WP_SPOOL>: Spooler
<WP_FONTPAL>: Schriftartpalette
<WP_HIRESCLRPAL>: Farbpalette 1
<WP_LORESCLRPAL>: Farbpalette 2
<WP_SCHPAL>: Layoutpalette
<WP_VIEWER>: Fenster in SymbolgrФсe
<WP_SHRED>: Reiсwolf
<WP_CLOCK>: Systemuhr
ZusДtzlich fБhrt XFolder die folgenden Objekt-IDs ein:
<XFOLDER_CONFIG>: der (Haupt-)Konfigurationsordner
<XFOLDER_STARTUP>: XFolder-Systemstart-Ordner
<XFOLDER_SHUTDOWN>: XShutdown-Ordner
<XFOLDER_SYSTEM>: Objekt "OS/2 Kernel"
<XFOLDER_WPS>: Objekt "Workplace Shell"
<XFOLDER_REF>: Programmobjekt "XFolder Online-Referenz"
ΓòÉΓòÉΓòÉ 18.3. WPFolder Setup Strings ΓòÉΓòÉΓòÉ
In order to change a certain object's setting with REXX, use the following
RexxUtil function:
rc = SysSetObjectData(<name>, <setup>)
with:
<name> being the object you wish to change (referenced either by a full path
specification or an object ID, such as <WP_DESKTOP>);
<setup> being one of the WPS setup strings, which always have a
<keyword>=<data> syntax. You can combine several settings by separating them
with semicola (";").
Example:
if SysSetObjectData(directory(),"NOMOVE=YES;DEFAULTVIEW=ICON") then
Say "Settings changed!"
This will change the folder settings for the current directory, which is useful
for scripts called by XFolder, which have the intended directory already
changed to.
See the OS/2 REXX Reference for details.
The list below describes all the setup strings for the WPObject class, plus
additional strings supported by the WPFolder class. (In short, you may use any
of the following strings on folders.) The list is sorted alphabetically.
ALWAYSSORT={YES|NO}
Set whether folder sort order is always maintained. Opening and adding an
object to a folder may take longer if the sort order is being maintained.
Note: XFolder overrides this setting string if you have the extended sort
functions enabled. See "XFolder setup strings" for the changes with respect to
this setting.
BACKGROUND=<name>,<mode>,<factor>,<bgtype>,<bgcol>
This sets the folder background, where:
<name> = Image file name. This name must be the fully qualified path of the
image file. "?:\" is permitted to indicate the boot drive.
<mode> = Image mode. This mode can be one of the following:
N = Normal image
T = Tiled image
S = Scaled image
<factor> = Scaling factor.
<bgtype> = Background type. This can be one of the following:
I = Image
C = Color only
<bgcol> = Background color. This color can be 3 numbers representing RGB values
or the default, in the following format: {R-value G-value B-value}
Example: BACKGROUND=C:\OS2\BITMAP\OS2LOGO.BMP,S,3,I or BACKGROUND=(none),,,C,0
128 128
CCVIEW=DEFAULT
Uses the default value of the concurrent view setting of the system, when the
user selects open. This is the default value.
CCVIEW=YES
Creates new views of the object every time the user selects open.
CCVIEW=NO
Resurfaces open views of object, when the user selects open.
DEFAULTVIEW=DEFAULT
Sets the default open view to what was specified in the OS/2 System object.
This is the default value.
DEFAULTVIEW={SETTINGS|ICON|TREE|DETAILS}
Sets the default open view to the specified folder view.
DETAILSCLASS=<classname>
This sets the object class for which the details are displayed in details view.
The default object class is WPFileSystem. You better not mess with this one.
DETAILSFONT=<size>.<facename>
Change the font used for a details view. For example: 9.WarpSans Bold. The
default value is 8.Helv (on Warp 3)
DETAILSSHADOWCOLOR=<color> (Warp 4 only)
Text color for a shadow object in the Details View. <color> may be standard
color name or an r g b set of numbers.
DETAILSTEXTCOLOR=<color> (Warp 4 only)
Text color for normal objects in the Details View. <color> may may be standard
color name or an r g b set of numbers.
DETAILSVIEW=<style>
This set details view to the specified style. Possible values are:
MINI small icon; this is the default.
NORMAL normal-size icon.
HELPLIBRARY=<filename>
Sets the help library.
HELPPANEL=<id>
Sets the object's default help panel within the help library. You better not
mess with these settings, for you have to know the WPS internal help resource
IDs.
HIDEBUTTON={YES|NO}
Determine whether views of this object have a hide button as opposed to a
minimize button. The default is the current system Button appearance for
windows setting. This cannot be specified here.
ICONFILE=<filename>
Sets the folder's closed icon. <filename> must be a ".ICO" file.
ICONFONT=<size>.<facename>
Setup string used to change the font used for an icon view. For example:
10.Helv
ICONNFILE=<index>,<filename>
This sets the file name of the animation (open folder) icon. The <index> value
must be set to 1. The specified file (".ICO") contains the folder's open folder
icon.
ICONNRESOURCE=<index>,<id>,<modname>
Sets the animation (open folder) icon to data residing in a resource file. The
<index> value must be set to 1. The <id> is the identity of an icon resource in
the <module> dynamic link library (DLL). The specified resource is the folder's
open folder icon.
ICONPOS=<x>,<y>
Sets the folder's initial icon position in the parent folder. The x and y
values represent the position in the folder in percentage coordinates.
ICONRESOURCE=<id>,<modname>
Sets the object's icon to data residing in a resource file. The <id> is the
icon resource ID in the dynamic link library (DLL) <module>.
ICONSHADOWCOLOR=<color> (Warp 4 only)
Text color for shadow icons in the Icons View. <color> may be a standard color
name or an r g b set of numbers.
ICONTEXTBACKGROUNDCOLOR=<color> (Warp 4 only)
Background color for normal text in the Icons, Tree and Details View. <color>
may be a standard color name or an r g b set of numbers.
ICONTEXTCOLOR=<color> (Warp 4 only)
Text color for normal icons in the Icons View. <color> may be a standard color
name or an r g b set of numbers.
ICONTEXTVISIBLE={YES|NO}
The names of objects contained in a folder are displayed or not displayed in
the Icon View.
ICONVIEW=<style1>[,<style2>...]
This sets icon view to the specified styles. Possible values are: FLOWED NOGRID
INVISIBLE NONFLOWED MINI NORMAL
The default value is NOGRID,NORMAL
These settings correspond to the "Icon view" page in a folder's settings
notebook.
ICONVIEWPOS=<x>,<y>,<cx>,<cy>
This sets the initial icon view position and size of the folder on the screen.
These values are percentages (0-100) of the screen size.
LOCKEDINPLACE={YES|NO} (Warp 4 only)
This object is fixed or not fixed in position.
MENUBAR={YES|NO} (Warp 4 only)
The menubar of the folder is displayed or not displayed.
MENUITEMSELECTED <menu-item-id> (Warp 4 only)
Simulates selecting the specified menu item from the object's popup menu.
<menu-item-id> must be a numeric value.
You may obtain the <menu-item-id> with the XRAY tool which is available on the
Internet. Or look on the respectivve "WPS Menu IDs" page (Hey, this setting
works for XFolder menu items also, BTW.)
This is not really a "setting", but rather a command to be performed on the
folder.
MENUS={SHORT|LONG} (Warp 4 only)
Determine whether this objects has a short popup menu (without menu entries
that duplicate drag 'n' drop functions) or the full one.
MINWIN={HIDE|VIEWER|DESKTOP}
Determine whether the minimized folder will be hidden, placed into the
Minimized Windows View, or minimized to the desktop.
The default is the current Minimize button setting. This cannot be specified
here.
NOCOPY={YES|NO}
The folder cannot be copied.
NODELETE={YES|NO}
The folder cannot be deleted. Be careful with this one.
NODRAG={YES|NO}
The folder cannot be dragged with the mouse.
NODROP={YES|NO}
The folder will not accept any objects dropped upon it.
NOLINK={YES|NO}
No shadows can be created of this folder.
NOMOVE={YES|NO}
The folder cannot be moved.
NOPRINT={YES|NO}
The folder cannot be printed. This is default value. Why would you want to
print a folder?
NORENAME={YES|NO}
The folder cannot be renamed.
NOSETTINGS={YES|NO}
The folder's settings notebook cannot be opened.
NOSHADOW={YES|NO}
same as NOLINK.
NOTVISIBLE={YES|NO}
The folder is not visible. Be careful with this style, since you might not be
able to get the folder back.
OBJECTID=<<name>>
Sets a persistent ID for the object. An Object ID is any unique string preceded
with a < and terminated with a >.
Object IDs are useful for identifying objects without knowing their exact
location on the user's desktop. For example, the desktop always has the ID
<WP_DESKTOP> on every system; the XFolder Configuration folder is assigned an
ID of <XFOLDER_CONFIG>, so that XFolder finds it even though you might have
moved it to a different location. See the "WPS Object IDs" page for a listing
of system IDs.
Object IDs are even neccessary to be able to locate abstract WPS objects (e.g.
shadows or program objects) from REXX, since these objects do not appear in the
file system. So if you create an abstract object from REXX and wish to be able
to open it from REXX also, you must assign it an Object ID.
The default is to not have an ID.
OPEN={SETTINGS|DEFAULT|ICON|TREE|DETAILS}
Open a view now. This is the clever trick used by a zillion REXX scripts on the
Internet to open a folder from the OS/2 command line.
OPEN=DEFAULT will open the default view of the folder (as if you had
double-clicked on it).
This is not really a "setting", but rather a command to be performed on the
folder. It will open immediately.
REMOVEFONTS={YES|NO}
This can remove all instance fonts from the folder, i.e. the ones that apply to
this folder only (specified by the respective object settings strings or in the
folder Settings notebook). Default is NO.
This is not really a "setting", but rather a command to be performed on the
folder.
SHOWALLINTREEVIEW={YES|NO} (Warp 4 only)
Show all objects in an open Tree View or only folders.
SORTCLASS=<classname>
This sets the class object to sort by. The default class object is
WPFileSystem.
TEMPLATE={YES|NO}
Determines whether this folder is a template or not. Default is NO (of course).
TITLE=<title>
Sets the object's title to something new. This will also change the "real"
filename, just as if you had changed the title from the WPS.
TREEFONT=<size>.<facename>
Setup string used to change the font used for an Tree view. For example:
10.Helv
TREESHADOWCOLOR=<color> (Warp 4 only)
Text color for shadow icons in the Tree View. <color> may be a standard color
name or an r g b set of numbers.
TREETEXTCOLOR=<color> (Warp 4 only)
Text color for normal icons in the Tree View. <color> may be a standard color
name or an r g b set of numbers.
TREETEXTVISIBLE={YES|NO} (Warp 4 only)
The names of the objects contained in a folder are displayed or not dispalyed
in Tree View.
TREEVIEW=<style1>[,<style2>...]
This sets the tree view to the specified styles. Possible values are: INVISIBLE
LINES MINI NOLINES NORMAL
The default value is LINES, NORMAL
These settings correspond to the "Tree view" page in a folder's settings
notebook.
WORKAREA={YES|NO}
This sets the folder so it is a workarea. Default is NO.
ΓòÉΓòÉΓòÉ 18.4. New XFolder Setup Strings ΓòÉΓòÉΓòÉ
The following setup strings can be used the same way as the regular folder
setup strings described on the previous page; however, they work only when
XFolder is properly installed. These setup strings have been introduced with
XFolder V0.70.
ACCELERATORS={YES|NO|DEFAULT}
Sets for an individual folder whether it will respond to folder hotkeys. This
setting corresponds to the one on the "XFolder" notebook settings page. YES or
NO will set this setting for this folder no matter what was specified in the
XFolder Global Settings, while DEFAULT will set this setting to the Global
Settings value. See "Folder hotkeys" for details.
ALWAYSSORT={YES|NO|DEFAULT}
Sets for an individual folder whether it will always maintain its sort order.
As opposed to the standard WPS folder setup string, XFolder's new
interpretation also accepts "DEFAULT" as a parameter, which will reset the
setting to what you specified on the "Sort" page in the "System" object.
DEFAULTSORT=<crit>
This will set the default sort criterion for an individual folder to something
different from the global sort criterion. <crit> may be one of the following:
0 sort by name
1 sort by type
2 sort by object class
3 sort by real name
4 sort by size
5 sort by last write date
6 sort by last access date
7 sort by creation date
8 sort by file name extension
9 sort folders first
255 reset to global default sort criterion
FAVORITEFOLDER={YES|NO}
Sets for an individual folder whether its contents can be viewed from all
context menus on your system. Default is NO. There is no global value for this
setting. See "Folder content functions" for details.
FULLPATH={YES|NO|DEFAULT}
Sets for an individual folder whether its full path will be displayed in its
window title. This setting corresponds to the one on the "XFolder" notebook
settings page. YES or NO will set this setting for this folder no matter what
was specified in the XFolder Global Settings, while DEFAULT will set this
setting to the Global Settings value. See "Full path in window titles" for
details.
SNAPTOGRID={YES|NO|DEFAULT|EXEC}
Sets for an individual folder whether the "Snap to grid" item will appear in
the folder's context menu. This setting corresponds to the one on the "XFolder"
notebook settings page. YES or NO will set this setting for this folder no
matter what was specified in the XFolder Global Settings, while DEFAULT will
set this setting to the Global Settings value. EXEC will execute the "Snap to
grid" function on the folder, just as if you had selected it from the context
menu. EXEC is thus no setting, but a command to be performed on a folder. See
"Snap to grid" for details.
SORTNOW=<crit>
This will sort all currently open views of an individual folder without
changing a folder's setting (as opposed to DEFAULTSORT). This is not really a
"setting", but rather a command to be performed on a folder.
<crit> may be one of the following:
0 sort by name
1 sort by type
2 sort by object class
3 sort by real name
4 sort by size
5 sort by last write date
6 sort by last access date
7 sort by creation date
8 sort by file name extension
9 sort folders first
255 use default sort criterion
STATUSBAR={YES|NO|DEFAULT}
Sets the visibility state for an individual folder status bar. This setting
corresponds to the one on the "XFolder" notebook settings page. YES or NO will
set this setting for this folder no matter what was specified in the XFolder
Global Settings, while DEFAULT will set this setting to the Global Settings
value. See "Folder status bars" for details.
ΓòÉΓòÉΓòÉ 18.5. WPS Menu IDs ΓòÉΓòÉΓòÉ
When using the WPObject setup string MENUITEMSELECTED, the following menu IDs
might be useful to you. Please keep in mind that not all of these are intended
for all kinds of objects; for example, "Format disk" does not make sense on
folders, and I don't know what will happen if you try this out. If you're
lucky, nothing happens.
Note that the new menu items introduced by XFolder have no fixed menu IDs, so
they're not listed here. The XFolder menu items have variable menu IDs, whose
base is specified with the "XFolder menu item ID offset" global setting. This
base is added to WPMENUID_USER, which is 0x6500 (25856 decimal), and the
XFolder menu ID's are then added to that base to allow compatibility with other
WPS enhancers. So if you wish to use an XFolder menu item with
MENUITEMSELECTED, you need some utility such as XRAY to figure out the "real"
menu id. The ID will of course change again if you change the offset setting.
The following WPS menu IDs are taken from the Warp 3 Toolkit docs (I have
excluded those which make no sense when called from REXX):
WPMENUID_OPEN 1
WPMENUID_HELP 2
WPMENUID_PRINT 3
WPMENUID_SELECT 4
WPMENUID_SORT 5
WPMENUID_FIND 8
WPMENUID_CREATEANOTHER 101
WPMENUID_MOVE 107
WPMENUID_COPY 108
WPMENUID_CREATESHADOW 316
WPMENUID_DELETE 109
WPMENUID_PROPERTIES 112
WPMENUID_PALETTE 317 ("Open" -> "Palette")
WPMENUID_REFRESH 503
WPMENUID_HELP_FOR_HELP 601
WPMENUID_HOWTOGETHELP 601
WPMENUID_EXTENDEDHELP 602
WPMENUID_HELPKEYS 603
WPMENUID_HELPINDEX 604
The following menu items are for the "Pickup" ("lazy drag") function:
WPMENUID_PICKUP 188
WPMENUID_PUTDOWN 189
WPMENUID_PUTDOWN_COPY 190
WPMENUID_PUTDOWN_MOVE 191
WPMENUID_PUTDOWN_LINK 192
WPMENUID_PUTDOWN_CANCEL 193
WPMENUID_PUTDOWN_CREATE 194
WPFolder items:
WPMENUID_SELALL 114
(select all folder items)
WPMENUID_DESELALL 115
(deselect all folder items)
WPMENUID_CLOSE 120
WPMENUID_TREE 123
("Open" -> "Tree view")
WPMENUID_ICON 303
("Open" -> "Icon view")
WPMENUID_DETAILS 304
("Open" -> "Details view")
WPMENUID_ARRANGE 309
(on Warp 4, this is the "Default" Arrange item)
WPDesktop items:
WPMENUID_SHUTDOWN 704 (WPDesktop items)
WPMENUID_LOCKUP 705
WPMENUID_LOGIN 708
WPMENUID_LOGOUT 709
WPMENUID_ASSIGN 710
WPMENUID_UNASSIGN 711
WPMENUID_ACCESSNEW 712
WPMENUID_SYSTEMSETUP 713
WPMENUID_FORMAT 124 (WPDisk items)
WPMENUID_CHKDSK 128
WPMENUID_FIXDSK 129
WPMENUID_PROGRAM 132
WPMENUID_COPYDSK 182
WPMENUID_LOCKDISK 184
WPMENUID_EJECTDISK 185
WPMENUID_UNLOCKDISK 186
The following IDs are not officially documented by IBM, thus their symbols are
not official (but invented by me). Most of them are available on OS/2 Warp 4
only. The menu IDs are now in hexadecimal (use the REXX function X2D to
convert them to decimal):
WPMENUID_PASTE 0x2CB
WPMENUID_VIEW_ICON 0x2CC
("View" -> "Icon view", as opposed to "Open"; Warp 4 only)
WPMENUID_VIEW_TREE 0x2CD
("View" -> "Tree view", as opposed to "Open"; Warp 4 only)
WPMENUID_VIEW_DETAILS 0x2CE
("View" -> "Details view", as opposed to "Open"; Warp 4 only)
WPMENUID_SORTBYNAME 0x1770
WPMENUID_SORTBYTYPE 0x1771
WPMENUID_SORTBYREALNAME 0x1777
WPMENUID_SORTBYSIZE 0x1778
WPMENUID_SORTBYWRITEDATE 0x1779
WPMENUID_SORTBYACCESSDATE 0x177B
WPMENUID_SORTBYCREATIONDATE 0x177D
WPMENUID_ARRANGEFROMTOP 0x2DE
WPMENUID_ARRANGEFROMLEFT 0x2DF
WPMENUID_ARRANGEFROMRIGHT 0x2E0
WPMENUID_ARRANGEFROMBOTTOM 0x2E1
WPMENUID_ARRANGEPERIMETER 0x2E3
WPMENUID_ARRANGEHORIZONTALLY 0x2E4
WPMENUID_ARRANGEVERTICALLY 0x2E5
WPMENUID_LOCKINPLACE 0x2DA
WPMENUID_VIEW 0x68
WPMENUID_REFRESH 0x1F7
ΓòÉΓòÉΓòÉ 19. Ressourcen im Internet ΓòÉΓòÉΓòÉ
Dieses Kapitel enthДlt alle externen Ressourcen, die in diesem Dokument erwДhnt
werden. Jeder Link in diesem Kapitel ist eine URL (Uniform Resource Locator)
zu einer Position im Internet. Doppelklicken Sie einfach auf einen Link, um
Netscape mit dieser Adresse zu starten.
ΓòÉΓòÉΓòÉ 19.1. http://developer.netscape.com/library/documentation/communicator/DDE ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://developer.netscape.com/library/documentation/communicator/DDE
ΓòÉΓòÉΓòÉ 19.2. http://www.edm2.com/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.edm2.com/
ΓòÉΓòÉΓòÉ 19.3. http://www.gate.net/~shipbrk/mozilla.html ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.gate.net/~shipbrk/mozilla.html
ΓòÉΓòÉΓòÉ 19.4. http://www.gnu.org/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.gnu.org/
ΓòÉΓòÉΓòÉ 19.5. http://www.leo.org/pub/comp/os/os2/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.leo.org/pub/comp/os/os2/
ΓòÉΓòÉΓòÉ 19.6. http://www.mindspring.com/~os2headquarters/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.mindspring.com/~os2headquarters/
ΓòÉΓòÉΓòÉ 19.7. http://www.netlabs.org ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.netlabs.org
ΓòÉΓòÉΓòÉ 19.8. http://www.online-club.de/m1/clanganke/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.online-club.de/m1/clanganke/
ΓòÉΓòÉΓòÉ 19.9. http://www.opensource.org/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.opensource.org/
ΓòÉΓòÉΓòÉ 19.10. http://www.os2bbs.com/os2news/OS2Wishlist.html ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.os2bbs.com/os2news/OS2Wishlist.html
ΓòÉΓòÉΓòÉ 19.11. http://www.os2ezine.com ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.os2ezine.com
ΓòÉΓòÉΓòÉ 19.12. http://www.os2ezine.com/v4n1/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.os2ezine.com/v4n1/
ΓòÉΓòÉΓòÉ 19.13. http://www.os2ezine.com/v4n4/open.htm ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.os2ezine.com/v4n4/open.htm
ΓòÉΓòÉΓòÉ 19.14. http://www.os2hq.com/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.os2hq.com/
ΓòÉΓòÉΓòÉ 19.15. http://www.os2ss.com/information/kelder/index.html ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.os2ss.com/information/kelder/index.html
ΓòÉΓòÉΓòÉ 19.16. http://www.ozemail.com.au/~dbareis/ ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.ozemail.com.au/~dbareis/
ΓòÉΓòÉΓòÉ 19.17. http://www.tuxedo.org/~esr/writings/cathedral-bazaar ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www.tuxedo.org/~esr/writings/cathedral-bazaar
ΓòÉΓòÉΓòÉ 19.18. http://www2.crosswinds.net/hartford/~os2/index.html ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www2.crosswinds.net/hartford/~os2/index.html
ΓòÉΓòÉΓòÉ 19.19. http://www2.rz.hu-berlin.de/~h0444vnd/os2.htm ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www2.rz.hu-berlin.de/~h0444vnd/os2.htm
ΓòÉΓòÉΓòÉ 19.20. http://www2.rz.hu-berlin.de/~h0444vnd/os2_d.htm ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://www2.rz.hu-berlin.de/~h0444vnd/os2_d.htm
ΓòÉΓòÉΓòÉ 19.21. http://zebra.asta.fh-weingarten.de/os2/Snippets/Howt6364.HTML ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://zebra.asta.fh-weingarten.de/os2/Snippets/Howt6364.HTML
ΓòÉΓòÉΓòÉ 19.22. http://zebra.asta.fh-weingarten.de/os2/Snippets/Howt8881.HTML ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://zebra.asta.fh-weingarten.de/os2/Snippets/Howt8881.HTML
ΓòÉΓòÉΓòÉ 19.23. http://zebra.asta.fh-weingarten.de/os2/Snippets/Isdr8319.HTML ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
http://zebra.asta.fh-weingarten.de/os2/Snippets/Isdr8319.HTML
ΓòÉΓòÉΓòÉ 19.24. mailto:e9425324@student.tuwien.ac.at ΓòÉΓòÉΓòÉ
Klicken Sie unten, um Netscape mit dieser URL zu starten:
mailto:e9425324@student.tuwien.ac.at