-
HINTERGRUND DER ERFINDUNG
-
1. BEREICH DER ERFINDUNG
-
Diese Erfindung bezieht sich auf
das Andocken, Ausführen
und Starten von Anwendungen in einer Umgebung.
-
2. HINTERGRUND
-
OpenStepTM ist
ein offener, portabler Hochvolumen-Standard für objektorientierten Einsatz
von Computern. Es stellt eine standardmäßige Anwendungsprogrammierinterface
(API) zur Verfügung.
Die Spezifizierung von OpenStep beruht auf NeXTStepTM.
NeXTStep ist ein objektorientiertes Betriebssystem von NeXT Computer,
Inc. (OpenStep und NeXTStep sind Warenzeichen oder eingetragene
Warenzeichen von NeXT Computer, Inc.).
-
Eine Implementierung von OpenStep
ist von Sun Microsystems, Inc. erhältlich, welche auf OpenWindowsTM ausgeführt
wird. OpenWindows ist ein Fenstertechnik-System, beruhend auf der
X11 Fenstertechnik-Spezifizierung. OpenWindows wird ausgeführt auf
SolarisTM, ein Betriebssystem, das von Sun
Microsystems, Inc. erhältlich
ist (Sun Microsystems, Inc., OpenWindows und Solaris sind Warenzeichen
oder eingetragene Warenzeichen von Sun Microsystems, Inc. in den
USA und bestimmten anderen Ländern.).
-
OpenStep stellt eine Umgebung für das Entwickeln
von Anwendungen zur Verfügung.
Mit OpenStep geschriebene Anwendungen werden als OpenStep-Anwendungen
bezeichnet. Anwendungen, die nicht mit OpenStep geschrieben wurden,
als Nicht-OpenStep-Anwendungen
bezeichnet. Beispiele von Nicht-OpenStep Anwendungen schließen ein:
OpenLook Desktop Anwendungen, Motif-Anwendungen und X-Anwendungen.
-
Die OpenStep-Umgebung schließt eine
Workspace-Anwendung ein, die das Dock genannt wird. Das Dock erleichtert
die Nutzung von OpenStep-Anwendungen. Das Dock nutzt einen Bereich
des Workspace-Bildschirms (zum Beispiel die rechte Bildschirmseite).
Vom Benutzer aus gesehen, besteht das Dock aus einem Satz Icons,
die am Bildschirm angezeigt werden (zum Beispiel werden Icons senkrecht
längs des rechten
Bildschirmrands angezeigt.) Diese Icons stellen OpenStep-Anwendungen
dar.
-
Das Icon besteht aus einem Bild,
das der Benutzer als zugehörig
zur entsprechend Anwendung erkennt. Des weiteren enthält das Icon
einen Indikator (zum Beispiel einen Satz von drei Punkten), die
zur Identifizierung genutzt werden, ob die entsprechende Anwendung
zur Zeit ausgeführt
wird. Der Benutzer kann eine angedockte OneStep-Anwendung durch
Wählen
des entsprechenden Icons im Dock starten (zum Beispiel Doppelklicken
einer Taste an einer Zeigevorrichtung, wie einer Maus). Beim Starten
einer Anwendung entfernt das Dock den Indikator von dem Icon. Dies
bedeutet, daß die
angedockte Anwendung gestartet worden ist.
-
Eine OneStep-Anwendung wird durch
Ziehen des Icons, das die OneStep-Anwendung darstellt, zu dem von
der Dockanwendung genutzten Bildschirm-Bereich der Dockanwendung
dem Dock hinzugefügt.
Dieses Verfahren des Hinzufügens
einer OneStep-Anwendung zum Dock wird als „Andocken" der Anwendung bezeichnet.
Eine Anwendung kann ebenso vom Dock entfernt werden, indem das Icon
der Anwendung aus dem Bereich des Bildschirms gezogen wird, welchen
das Dock benutzt.
-
Die Dock-Anwendung identifiziert
und hält
bestimmte Defaults oder Informationen über die „gedockte" OpenStep-Anwendung.
Das Dock hält
zum Beispiel Pfadinformation, die zum Lokalisieren einer gedockten
Anwendung benutzt wird. Mit der Pfadinformation wird ein Dateiverzeichnis
identifiziert, welches die OpenStep-Anwendung enthält. Für die Anwendung
enthält
das Dateiverzeichnis eine ausführbare
Programmdatei. Zusätzlich
enthält
das Dateiverzeichnis Betriebsmittel/Ressourcen (zum Beispiel, Bilder,
Töne, Softwarelokalisierungen
von Dateien und Interface-Aufbau-Dateien), die von der Anwendung
ange fordert werden. Beim Starten einer gedockten Anwendung lokalisiert
das Dock die Anwendung, welche der gedockten Anwendung entspricht,
und startet das ausführbare
Programm der Anwendung in diesem Dateiverzeichnis.
-
Nur OpenStep-Anwendungen können gedockt
werden. Es könnte
nützlich
sein, Nicht OpenStep-Anwendungen zu docken und starten zu können. Es
würde zum
Beispiel nützlich
sein, OpenLook-Desktop-Anwendungen, X11- Anwendungen und Shell-Scripte
zu docken. Es könnte
nützlich
sein, ein Icon einer Nicht-OpenStep Anwendung im Dock zuzuordnen
und das Icon zum Angeben des Anwendungsstatus modifizieren zu können.
-
Das Dock kann weiterhin keine Befehlszeilen-Argumente
verstehen. Das mögliche
Zuordnen von Befehlszeilen-Argumenten zu einer Anwendung würde dahingehend
nützlich
sein, daß auf
diese Argumente zugegriffen werden kann, wenn die Anwendung gestartet
ist.
-
US-PS
5 276 883 offenbart ein Computernetzwerk, worin Prozesse
in einem Computer von einem verschiedenen Computer durch eine Surrogat-Anwendung
gestartet werden können.
Eine Surrogat-Anwendung übernimmt
Maßnahmen
zum Starten der Anwendung an der entfernt aufgestellten Datenstation,
so wie das Bestimmen der angebrachten elektronischen Adresse, einer
Benutzeridentifikation und eines Passworts und zum Aufbauen von
Kommunikation mit einer entfernt aufgestellten Datenstation auf
der Grundlage dieser Information. Wenn die Anwendung auf der entfernt
aufgestellten Datenstation gestartet worden ist, wird die Surrogat-Anwendung
nicht mehr benutzt.
-
IBM Technische Support Centers „OS/2 Version
2.0 – Band
2: DOS- und WINDOWS-Umgebung,
April 1992, Seiten 134 bis 151, 179 bis 180 und 197 bis 204 offenbart
die Implementierung von Anwendungen, die für DOS oder WINDOWS geschrieben
sind, in OS/2. Entsprechend diesem Dokument werden Anwendungen für Windows
und DOS manuell zur Ausführung
unter dem OS/2-Betriebssystem konfiguriert.
-
ZUSAMMENFASSUNG
DER ERFINDUNG
-
Die Erfindung ist in den unabhängigen Patentansprüchen 1,
10 und 13 dargelegt, wobei besondere Ausführungsformen in den abhängigen Ansprüchen dargelegt
sind.
-
Die Möglichkeit des Andockens, Startens
und Ausführens
einer Anwendung in einer Umgebung wird auf eine fremde Anwendung
ausgedehnt. Das gleiche „look
and feel/Sehen und Fühlen"
der Umgebungsanwendungen wird umgebungsfremden oder fremden Anwendungen
gegeben. Eine Wrapper-Anwendung wird einer Fremdanwendung zugeordnet
und verwaltet die Fremdanwendung. Sie kommuniziert hinsichtlich
des Status der Fremdanwendung mit einer Andock-Anwendung der Umgebung.
-
Eine Fremdanwendung hat, vom Benutzerstandpunkt
gesehen, das gleiche „Sehen
und Fühlen"
(„look and
feel") wie eine Umgebungsanwendung. Der Benutzer zieht das Icon
der Fremdanwendung zum Andocken der Anwendung wie Umgebungsanwendungen
in einen Dockbereich. Eine angedockte Anwendung (fremd oder Umgebung)
wird durch einen Benutzer durch Wählen des Icons oder eines Tiles
der angedockten Anwendungen gestartet Ein Menüfenster wird der gedockten
Anwendung zugeordnet, das dem Benutzer die Wahl gibt, die Anwendung
zu verbergen oder zu beenden. Das Tile der gedockten Anwendung wird
modifiziert, um über
den Status der gedockten Anwendung zu informieren.
-
Beim Starten der Fremdanwendung wird
eine Pfadinformation zum Lokalisieren der Wrapper-Anwendung und der
Fremdanwendung benutzt. Die Wrapper-Anwendung wird gestartet. Die
Wrapper-Anwendung startet die Fremdanwendung. Das der Fremdanwendung
zugeordnete Tile wird modifiziert (zum Beispiel wird ein Auslassungszeichen
entfernt und das Tile grau dargestellt), um zu illustrieren, daß die Fremdanwendung gestartet
worden ist. Die Wrapper-Anwendung
erzeugt ein Menü für die Fremdanwendung,
das Wahlmöglichkeiten
zur Handhabung des Anwendungs-Fensters und zur Ausführung einschließt. Wenn
die Fremdanwendung gestartet ist, wartet die Wrapper-Anwendung auf
eine Meldung betreffend den Status der Anwendung. Der Status der
Fremdanwendung kann sich ändern,
wenn zum Beispiel der Benutzer eine Operation aus dem Menü für die Fremdanwendung
auswählt,
das von der Wrapper-Anwendung erzeugt worden ist. Die Wrapper-Anwendung
bearbeitet die Meldung.
-
Wenn der Benutzer eine Operation „Quit/Verlassen"
auswählt,
beendet die Wrapper-Anwendung die Fremdanwendung. Dann endet die
Wrapper-Anwendung. Die Beendigung der Wrapper-Anwendung zeigt der Andock-Anwendung
an, daß die
Fremdanwendung beendet ist. Zum Wiedergeben ihres neuen Status wird das
Icon der Fremdanwendung geändert
(zum Beispiel wird ein Auslassungszeichen zum Icon hinzugefügt).
-
Beim Wählen einer Operation „Verbergen"
(„Hide")
verbirgt die Wrapper-Anwendung das Hauptfenster der Anwendung. Die
Wrapper-Anwendung stellt nicht das Fremdanwendungs-Fenster dar, wenn
eine Operation „Verbergen"
gewählt
ist.
-
Eine Wrapper-Anwendung kann zum Verwalten
einer einzigen Fremdanwendung verwendet werden. Alternativ kann
eine Wrapper-Anwendung zum Verwalten mehrerer Fremdanwendungen verwendet
werden (zum Beispiel vielfache Fälle
verschiedener Fremdanwendungen oder vielfache Fälle der gleichen Fremdanwendung.)
-
Durch diese Erfindung wird ein erneutes
Schreiben einer Nicht-Umgebungsanwendung unnötig, damit sie mit einer Umgebung
kompatibel wird. Bei Benutzung dieser Erfindung wird eine Fremdanwendung
mit der Umgebung kompatibel. So kann in der Umgebung eine Ableitungs(legacy)-Anwendung
ohne Änderung
der Anwendung benutzt werden.
-
KURZE BESCHREIBUNG
DER ZEICHNUNGEN
-
1 bietet
ein Beispiel eines Mehrzweck-Computers, der gemäß Ausführungsformen dieser Erfindung
zu benutzen ist.
-
Die 2A-2B veranschaulichen
eine Wirkungsweise einer Ausführungsform
dieser Erfindung.
-
2C bietet
ein Beispiel eines Blocküberblicks
zum Starten und Ausführen
einer Fremdanwendung.
-
3 bietet
ein Beispiel eines Prozeßflusses
zum Andocken einer umgebungsfremden Anwendung gemäß den erfindungsgemäßen Ausführungsformen.
-
4 bietet
ein Beispiel eines Prozeßflusses
zum Starten einer umgebungsfremden Anwendung gemäß den erfindungsgemäßen Ausführungsformen.
-
5 bietet
ein Beispiel eines Prozeßflusses
zum Ausführen
einer umgebungsfremden Anwendung gemäß den erfindungsgemäßen Ausführungsformen.
-
DETAILLIERTE
BESCHREIBUNG DER ERFINDUNG
-
Es wird eine Methode und eine Vorrichtung
zum Andocken, Starten und Ausführen
von umgebungsfremden Anwendungen in einer Umgebung beschrieben.
In der folgenden Beschreibung werden zahlreiche Details herausgestellt,
um eine genauere Beschreibung dieser Erfindung anzugeben. Nichtsdestoweniger
wird es einem Fachmann klar sein, daß diese Erfindung ohne diese
besonderen Details realisiert werden kann. Allgemein bekannte Charakteristika
werden in anderen Fällen
nicht detailliert beschrieben, um die Erfindung nicht unklarer zu
machen.
-
Diese Erfindung kann auf einem Mehrzweck-Computer
implementiert werden, wie er in 1 illustriert
ist. Eine Tastatur 110 und eine Maus 111 werden
mit einem bidirektionalen Systembus 118 gekoppelt. Mit der
Tastatur der Maus erfolgen die Eingaben des Benutzers in das Computersystem
und die Kommunikation der Anwendereingaben zur CPU 113.
Das Computersystem der 1 schließt auch
einen Bildschirmspeicher 114, einen Hauptspeicher 115 und
einen Massenspeicher 112 ein, die mit dem bidirektionalen
Systembus 118 zusammen mit der Tastatur 110, einer
Maus 111 und CPU 113 gekoppelt sind. Der Massenspeicher 112 kann
sowohl feste als auch entfernbare Medien, wie magnetische, optische
oder magneto-optische Speichersysteme oder irgendeine andere Massenspeichertechnologie
umfassen. Zum Beispiel kann der Bus 118 32 Adressleitungen
zur Adressierung des Bildschirmspeichers 114 oder des Hauptspeichers
115 enthalten.
Der Systembus 118 schließt auch zum Beispiel einen
32-Bit DATA Bus zum Übertragen
der Daten zwischen und unter den Komponenten ein, wie CPU 113,
Hauptspeicher 115, Bildschirmspeicher 114 und
einen Massenspeicher 112. Alternativ können Multiplex- Daten/Adress-Leitungen
anstatt getrennter DATA- und Adress-Leitungen benutzt werden.
-
In der bevorzugten Ausführungsform
dieser Erfindung ist die CPU 113 ein 32-Bit Mikroprozessor
hergestellt von Motorola, wie der Prozessor 680X0, ein von Intel
hergestellter Mikroprozessor, wie der 80X86 oder ein Pentium-Prozessor,
oder ein SPARC-Mikroprozessor. Es kann jedoch jeder andere geeignete
Mikroprozessor oder Mikrocomputer benutzt werden. Der Hauptspeicher 115 besteht
aus einem dynamischen Speicher mit wahlfreiem Zugriff (DRAM). Der
Bildschirmspeicher 114 ist ein Doppel-Port-Bildschirmspeicher
mit wahlfreiem Zugriff. Ein Port des Bildschirmspeichers 114 ist
mit einem Video-Verstärker 116 gekoppelt.
Der Video-Verstärker 116 wird
zum Betreiben des Kathodenstrahlröhren-(CRT)Rastermonitors 117 benutzt.
Der Video-Verstärker 116 ist
in der Technik gut bekannt und kann durch irgendein passendes Mittel
implementiert werden. Diese Schaltung wandelt im Bildschirmspeicher 114 gespeicherte
DATA-Pixel in ein Rastersignal um, welches für eine Benutzung durch den
Monitor 117 geeignet ist. Der Monitor 117 ist
ein Monitortyp, der für
das Anzeigen von grafischen Bildern geeignet ist.
-
Das oben beschriebene Computersystem
dient nur als Beispiel. Die vorliegende Erfindung kann in jedem
Typ eines Computersystems oder einer Programmier- oder Verarbeitungsumgebung
implementiert werden. Wenn ein Mehrzweck-Computersystem wie oben
beschrieben die hier beschriebenen Verfahren oder Prozeßflüsse ausführt, ist
es so konfiguriert, daß es
das Andocken, Starten und Ausführen
umgebungsfremder oder fremder Anwendungen ermöglicht.
-
Eine zur Ausführung in einer bestimmten Umgebung
geschriebene Anwendung wird als Umgebungsanwendung bezeichnet. Man
nennt eine Anwendung, die nicht für eine Umgebung geschrieben
worden ist, eine umgebungsfremde oder fremde Anwendung dieser Umgebung.
Eine Anwendung, die nicht der OpenStep-Umgebung entspricht, wird
als Nicht-OpenStep-Anwendung bezeichnet. Eine Umgebung, die nicht die
Umgebung ist, für
die eine Anwendung entwickelt worden ist, ist eine fremde Umgebung.
Verwendet man Ausführungsformen
dieser Erfindung, kann eine Anwendung in einer fremden Umgebung
ausgeführt
werden. Als Alternativerklärung
kann eine fremde Anwendung in einer Umgebung ausgeführ werden.
-
Die 2A-2B illustrieren
die Operation einer Ausführungsform
dieser Erfindung. Mit Bezug auf 2A enthält ein Bildschirm 200 ein
Fenster 204 zur Benutzung der Dateiinformation. Eine Fremdanwendung
wird durch Ziehen des Icons 206 der Fremdanwendung in den
Dockbereich angedockt. Es wird Defaultinformation 210 identifiziert
und zur Verwendung mit der Fremdanwendung gespeichert. Die Defaultinformation 210 enthält Information,
die zum Beispiel zum Lokalisieren der ausführbaren Programmdatei der Fremdanwendung
und Wrapper-Anwendung
benutzt wird (siehe den nachfolgenden Abschnitt mit der Überschrift „Defaultinformation".)
Aus Sicht des Benutzers ist es belanglos, ob das Icon 206 einer
Umgebungsanwendung oder einer Fremdanwendung zugeordnet ist. Die
Dock-Anwendung bestimmt, welcher Anwendungstyp dem Icon 206 zugeordnet
ist und speichert die entsprechende Information in der Defaultinformation 210.
-
Der Benutzer startet eine angedockte,
umgebungsfremde Anwendung genauso wie eine angedockte Umgebungsanwendung.
Bezug nehmend auf 2B wählt der
Benutzer Icon 206 aus. Die Dock-Anwendung konsultiert die
Defaultinformation 210, die der Fremdanwendung zugeordnet
ist. Die Defaultinformation 210 spezifiziert eine Wrapper-Anwendung,
die zum Starten und Verwalten der Fremdanwendung benutzt wird. Die Defaultinformation 210 identifiziert
außerdem
die Fremdanwendung (zum Beispiel eine Kalender-Anwendung).
-
Bei Wahl des Icons 206 durch
den Benutzer wird die dem Icon 206 zugeordnete Fremdanwendung gestartet. 2C bietet ein Beispiel eines
Prozeßüberblicks.
zum Starten und Ausführen
der Fremdanwendung, die gemäß Ausführungsformen
dieser Erfindung dem Icon 206 zugeordnet ist. Über die
Startoperation startet die Wrapper-Anwendung 244 die Fremdanwendung 246.
-
In 2B wird
das Fenster 214 am Bildschirm 200 angezeigt, wenn
die Fremdanwendung gestartet wird. Das Fenster 214 ist
das Hauptfenster der Fremdanwendung (zum Beispiel eine Kalender-Anwendung). Die
Wrapper-Anwendung erzeugt ein Menü, das die Wahlmöglichkeiten,
die Fremdanwendung zu verbergen oder zu verlassen, zur Verfügung stellt.
Der Wrapper-Anwendung wird gemeldet, wenn der Benutzer im Menü 216 eine
Wahl trifft. Wie in 2 C wird ein Statuswechsel
der Fremdanwendung 246 über
den Meldepfad 256 an die Wrapper-Anwendung 244 weitergeleitet. Über den
Kommunikationspfad 258 schickt die Wrapper-Anwendung 244 die
Meldung zu Dock 242
-
WRAPPER-ANWENDUNG
-
Die Wrapper-Anwendung (zum Beispiel
die Wrapper-Anwendung 244 in 2C)
ist eine Umgebungsanwendung. Sie dient als Wrapper (Hülle) für eine umgebungsfremde
Anwendung. Bei der folgenden Beschreibung, in welcher diese Erfindung
mit den Termini der OneStep-Umgebung
beschrieben wird, sollte klar sein, daß diese Erfindung in jeder
beliebigen Umgebung einsetzbar ist.
-
Die Wrapper-Anwendung wird der Fremdanwendung
zugeordnet. Zum Beispiel ist die Wrapper-Anwendung eine OneStep-Anwendung, in
welche die Nicht-OpenStep-Anwendung eingehüllt wird. Bei einer Fremdanwendung,
die mit der Dock-Anwendung der Umgebung angedockt wird, erfolgt
die Auswahl durch Wahl des Anwendungs-Icons (oder Dock-Tile). Wenn
die Fremdanwendung gewählt
ist, startet die Wrapper-Anwendung die Fremdanwendung. Die Fremdanwendung
wird als Tochter (child) des Wrappers gestartet.
-
Jede Fremdanwendung besitzt in der
bevorzugten Ausführungsform
eine Wrapper-Anwendung. Gemäß dieser
Ausführungsform
wird eine Wrapper-Anwendung zur Verwaltung einer einzigen Tochteranwendung
benutzt. Ein Wrapper wird in einer alternativen Ausführungsform
zur Verwaltung mehrerer Fremdanwendungen benutzt.
-
Mit dieser Erfindung besteht die
Möglichkeit,
ein zweites Exemplar der Tochteranwendung zu instantiieren. Das
zweite Exemplar der Tochteranwendung kann durch dieselbe Wrapper-Anwendung verwaltet
werden. Alternativ kann eine zweite Wrapper-Anwendung zur Verwaltung
des zweiten Exemplars der Tochteranwendung benutzt werden.
-
Bei der Benutzung einer einzigen
Wrapper-Anwendung zum Verwalten mehrerer Anwendungen wird eine einzige
Wrapper-Anwendung gestartet. Es wird bestimmt, ob die Wrapper-Anwendung
schon gestartet worden ist. Falls die Wrapper-Anwendung schon gestartet
worden ist, wird sie zum Verwalten der Fremdanwendung benutzt. Die
Wrapper-Anwendung startet einen weiteren Tochterprozeß. Zusätzlich zu
irgendwelchen schon vorhandenen Tochteranwendungen verwaltet die
Wrapper-Anwendung die neue Tochteranwendung. Bei Beendigung eines
Tochterprozesses meldet die Wrapper-Anwendung der Dock-Anwendung
die Beendigung. Falls der Tochterprozeß nicht der letzte Tochterprozeß ist, bleibt
die Wrapper-Anwendung zum Verwalten der verbleibenden Tochterprozesse
aktiv.
-
Einer angedockten Fremdanwendung
wird ein generisches Icon zugeordnet. Die Wrapper-Anwendung kann ein
der Anwendung zugeordnetes Bild erfassen, wenn die Anwendung gestartet
ist. Das generische Icon der Anwendung wird modifiziert, um das
erfaßte
Bild zu integrieren.
-
Während
der Ausführung
der Fremdanwendung wartet die Wrapper-Anwendung auf eine Statusänderung
ihrer Tochter. Die Wrapper-Anwendung meldet beim Auftreten einer
Statusänderung
die Änderung
an die Dock-Anwendung.
-
ANDOCKEN
-
Eine umgebungsfremde Anwendung wird
durch Ziehen eines Icons, das der Anwendung vom Viewer zugeordnet
ist, zum Beispiel zum Dock-Bereich angedockt. Dann bestimmt das
Dock, ob die Anwendung eine Umgebungsanwendung ist. Das Dock bestimmt
zum Beispiel, ob die Anwendung ein Home-Verzeichnis hat und ob das
Verzeichnis ein ausführbares
Programm enthält.
Bei einer Umgebungsanwendung speichert das Dock den Pfadnamen des
Home-Verzeichnisses der Anwendung in einem Satz der Default-Information.
Wenn sie eine umgebungsfremde Anwendung ist, speichert das Dock
den Pfad zur Wrapper-Anwendung zusammen mit dem Namen der umgebungsfremden
Anwendung in der Default-Information.
-
Zum Beispiel ist die umgebungsfremde
Anwendung eine ausführbare
binäre
Programmdatei. In einer Alternative ist die umgebungsfremde Anwendung
ein Script, zum Beispiel ein Shell-Script.
-
Der Dateityp kann vom Dock durch
Untersuchen der Dateiinhalte bestimmt werden (zum Beispiel binäre oder
Shell-Datei).
-
3 bietet
ein Beispiel eines Prozeßflusses
zum Durchführen
einer Andockoperation einer umgebungsfremden Anwendung in einer
Ausführungsform
dieser Erfindung. Ein Bild wird in Schritt 304 (zum Beispiel ein
Bild in einem Datei-Viewer oder -Verwalter) gewählt und in den Andockbereich
gezogen. Bei Schritt 306 bestimmt die Dock-Anwendung, ob die Anwendung
eine Umgebungsanwendung ist. Eine Umgebungsanwendung ist zum Beispiel
in einem „Home-Directory" enthalten,
welches das ausführbare
Programm der Anwendung und Ressourcendateien enthält. Falls
die Dock-Anwendung ein Home-Verzeichnis nicht lokalisieren kann,
nimmt das Dock an, daß die
Anwendung keine Umgebungsanwendung ist.
-
Stellt die Dock-Anwendung fest, daß die Anwendung
eine Umgebungsanwendung ist, wird die Anwendung wie irgendeine andere
Umgebungsanwendung angedockt. Die Dock-Anwendung merkt sich zum
Beispiel die Pfadinformation für
das Home-Verzeichnis der Umgebungsanwendung. Die Dock-Anwendung
zeigt das Icon der angedockten Umgebungsanwendung im Dockbereich
an.
-
Stellt die Dock-Anwendung fest, daß die Anwendung
nicht eine Umgebungsanwendung ist (zum Beispiel eine Fremdanwendung)
geht die Bearbeitung bei Schritt 312 weiter. Die Dock-Anwendung bestimmt
in Schritt 312 die Pfadinformation für die Wrapper-Anwendung. In
Schritt 314 speichert die Dock-Anwendung den Pfad für die Wrapper-
und Fremdanwendungen.
-
In Schritt 316 zeigt die Dock-Anwendung
ein Icon an, das der Fremdanwendung im Dockbereich zugeordnet ist.
Zum Beispiel ist das Icon der Fremdanwendung das Bild eines Terminals
mit einem Label, worin der Name der Fremdanwendung enthalten ist.
Wenn der Name für
das Icon zu lang ist, besteht der Anwendungsname aus einigen Zeichen
des Anwendungsnamens und einem Auslassungszeichen. Weiterhin schließt das Icon
ein Symbol ein (zum Beispiel drei Punkte) zum Anzeigen, ob die entsprechende
Anwendung zur Zeit nicht ausgeführt
wird. Das Durchführen
der Andockoperation endet bei Schritt 318.
-
Eine angedockte Fremdanwendung kann
vom Dock entfernt werden, indem das Icon der Anwendung aus dem Dockbereich
gezogen wird. Die der Anwendung zugeordnete Defaultinformation wird
nicht mehr benötigt.
-
DEFAULTINFORMATION
-
Jede Anwendung hat eine Defaultinformation,
die an einer Standardstelle festgehalten wird. Diese Information
wird zum Beispiel in einer Datei mit dem Namen „Benutzer.defs" in einem Verzeichnis
namens „.openstep"
im Home-Verzeichnis des Benutzers gespeichert. Defaultinformation
können
globale Defaults sein, die alle Anwendungen betreffen, oder lokale
Defaults, die für
eine besondere Anwendung benutzt werden.
-
Eine Defaultinformation der Anwendung
wird zum Lokalisieren des ausführbaren
Programms der Anwendung benutzt. In der bevorzugten Ausführungsform
besteht eine Defaultinformation der Anwendung aus einem Pfadnamen,
der zum Home-Verzeichnis der Wrapper-Anwendung zeigt. Das Home-Verzeichnis
enthält das
ausführbare
Programm der Wrapper-Anwendung. Das Dateiverzeichnis enthält außerdem Ressourcen (zum
Beispiel Bilder), die von der Wrapper-Anwendung benutzt werden.
In der bevorzugten Ausführungsform ist
das Dateiverzeichnis ein Unterverzeichnis der Dock-Anwendungs-Richtung
(direction) (zum Beispiel Workspace.app).
-
Die Defaultinformation einer Fremdanwendung
schließt
außerdem
den Namen des Ausführungsprogramms
der Fremdanwendung ein. Weiterhin kann die Defaultinformation Befehlszeilen-Argumente einschließen, die
zum Beispiel zur Initialisierung der Fremdanwendung benutzt werden.
-
Defaultinformation besteht aus Ketten
von Information, die durch Strichpunkte getrennt sind. Eine Kette
ist einer Anwendung oder mehreren Anwendungen zugeordnet. Nachfolgend
wird ein Beispiel einer Defaultinformation angegeben, welche die
Pfadinformation spezifiziert:
-
Das obige Beispiel dient nur zu Veranschaulichung.
Andere Speichertechniken der Defaultinformation können bei
Ausführungsformen
dieser Erfindung benutzt werden. Die oben illustrierte Defaultkette
enthält
Teilketten. Die erste Kette enthält
Pfadinformation für
die Wrapper-Anwendung.
Sie wirkt wie ein Zeiger zu der Wrapper-Anwendung. Die Andock-Anwendung
benutzt diese Information zum Starten der Wrapper-Anwendung, wenn
ein Benutzer die Fremdanwendung zur Ausführung auswählt.
-
In der folgenden Teilkette ist ein
Zeiger auf die Fremdanwendung enthalten. Die Wrapper-Anwendung greift
auf diese Information zu, um das Ausführungsprogramm der Fremdanwendung
zu lokalisieren und zu starten. Optional kann die Defaultinformation
Befehlszeilen-Argumente einschließen. Diese Argumente können zum
Beispiel von der Fremdanwendung zum Initialisieren ihrer Variablen
benutzt werden.
-
Das vorangehende Beispiel veranschaulicht
Defaultinformation zur Benutzung einer Fremddatei des Binärtyps. Eine
Ausführungsform
dieser Erfindung kann auch zum Andocken, Starten und Ausführen nicht-binärer Dateien
in einer Umgebung benutzt werden (zum Beispiel Shell-Scripts). Nicht-binäre Dateien
werden in der bevorzugten Ausführungsform
in einem Terminalfenster in der Umgebung ausgeführt.
-
Wenn eine angedockten, nicht-binären Anwendung
zur Ausführung
ausgewählt
wird, wird die Defaultinformation zum Lokalisieren der Wrapper-Anwendung,
der Terminalanwendung und der nicht-binären Datei benutzt.
-
Das Folgende ist ein Beispiel einer
Default-Kette zur Benutzung bei einer nicht-binären Datei:
-
Wie bei einer binären Datei enthält die einer
nicht binären
Anwendung zugeordnete Defaultinformation einen Zeiger zu dem Wrapper
und Fremdanwendungen. Die Fremdanwendung ist eine Shell-Datei. Außerdem schließt die Defaultinformation
einen Zeiger zu der Anwendung ein, in der die Datei des Nicht-Binärtyps ausgeführt wird.
Diese Anwendung ist in diesem Fall eine Terminal-Anwendung. Die
Shell-Datei wird im Fenster der Terminal-Anwendung ausgeführt.
-
STARTEN
-
Eine Fremdanwendung wird aus Sicht
des Benutzers genauso wie eine Umgebungsanwendung gestartet. Der
Benutzer wählt
einfach das im Dock lokalisierte Icon aus, das der Fremdanwendung
zugeordnet ist. 4 zeigt
einen Prozeßfluß zum Starten
einer Fremdanwendung in einer Ausführungsform dieser Erfindung.
-
Bei Schritt 402 konsultiert die Dock-Anwendung
die Defaultinformation zum Identifizieren des Pfads und der zu startenden
Anwendung(en). Im Fall einer Fremdanwendung spezifiziert die Defaultinformation
die Wrapper-Anwendung. Die Dock-Anwendung startet die Wrapper-Anwendung in Schritt
404.
-
Falls in Übereinstimmung mit einer Ausführungsform
dieser Erfindung die Wrapper-Anwendung mehrere Fremdanwendungen
verwaltet, wird Schritt 404 zur Bestimmung modifiziert, ob die Wrapper-Anwendung schon
gestartet worden ist. Wenn dies nicht der Fall ist, wird die Wrapper-Anwendung gestartet.
-
Die Defaultinformation wird von der
Wrapper-Anwendung benutzt, um den Pfad und die Identität der Fremdanwendung
zu bestimmen. Die Wrapper-Anwendung startet die Fremdanwendung in
Schritt 406. Bei einer binären
Fremdanwendung startet die Wrapper-Anwendung einfach die Fremdanwendung.
Die Wrapper-Anwendung startet in der bevorzugten Ausführungsform
die Anwendung durch Verzweigen eines Prozesses, der die Fremdanwendung
ausführt.
Der abgezweigte Prozeß ist
eine Tochteranwendung der Wrapper-Anwendung. Der Wrapper etabliert
eine Einrichtung, um mit seinem Tochterprozeß zu kommunizieren. Die Wrapper-Anwendung
benutzt vorzugsweise ein SIGCHLD-Handle, das aufgerufen wird, wenn
ein Tochterprozeß der
Wrapper-Anwendung
endet (zum Beispiel eine Fremdanwendung). Als Alternative erzeugt
zum Beispiel die Wrapper-Anwendung ein Verkettungszeichen, um Meldungen
von ihrer Tochteranwendung zu erhalten.
-
Wenn die Fremdanwendung nicht binär ist und
eine andere Anwendung, eine intermediäre Anwendung, zum Ausführen der
Fremdanwendung benutzt wird, startet die Wrapper-Anwendung die intermediäre Anwendung.
Die Fremdanwendung ist zum Beispiel eine Shell-Datei, die in einem
Fenster der Terminal-Anwendung ausgeführt wird. Die intermediäre Anwendung
ist die Terminal-Anwendung.
Die Wrapper-Anwendung startet die Terminal-Anwendung. Die Terminal-Anwendung startet
das Shell-Script in einem Fenster der Terminal-Anwendung.
-
Beim Starten einer angedockten Umgebungsanwendung
wird ein Menü erzeugt,
das der Benutzer zum Verbergen (Hide) oder Verlassen der Anwendung
benutzen kann. Der gleiche Menütyp
wird in Schritt 408 von der Wrapper-Anwendung erzeugt. Das Tile
der angedockten Anwendung wird modifiziert, um ihren Statuswechsel
in Schritt 408 anzuzeigen (d. h. „Ausführung"). Wenn zum Beispiel
eine angedockte Umgebungsanwendung gestartet wird, wird das Tile
der Anwendung schattiert oder grau dargestellt. Wenn das Starten
abgeschlossen ist, kehrt die Tile zu ihrer ursprünglichen Schattierung zurück. Des
weiteren wird ein Symbol zum Anzeigen, daß die Anwendung nicht ausgeführt wird
(zum Beispiel ein Auslassungszeichen) vom Icon entfernt. Die Wrapper-Anwendung
entfernt vorzugsweise das Symbol von dem Tile und die Dock-Anwendung
schattiert das Icon (während
des Startverfahrens) und kehrt zu ihrer ursprünglichen Schattierung in Schritt
408 zurück (wenn
das Startverfahren abgeschlossen ist).
-
In Schritt 408 kann der Wrapper das
Icon der Anwendung weiterhin anpassen. Die Wrapper-Anwendung kann auf
Wunsch ein dem Hauptfenster der Anwendung zugeordnetes Bild erfassen
(d. h. das Bild, welches in das Icon gezogen werden würde, wenn
die Anwendung als Icon dargestellt würde) und dieses in das Icon
der Anwendung setzen.
-
Vor dem Starten einer Fremdanwendung
wird das Icon einer angedockten Fremdanwendung dem Bild des Terminals
zugeordnet. Der Bildschirm des Terminals enthält ungefähr fünf oder sechs Buchstaben des
Namens der Anwendung. Falls der Name einer Fremdanwendung länger als
5–6 Buchstaben
ist, wird ein Auslassungszeichen an das Ende gehängt, um anzuzeigen, daß der Name
zusätzliche
Buchstaben enthält.
-
Wenn die Fremdanwendung (zum Beispiel
beim Auftreten eines Erzeugen-/Melden-Ereignisses für eine Anwendung
X) gestartet wird, erfaßt
die Wrapper-Anwendung das Bild, das im Iconfenster der Anwendung
enthalten ist. Das Erzeugen-/Melden-Ereignis wird von der Wrapper-Anwendung erfaßt. Die
Wrapper-Anwendung erlangt von dem Erzeugen-/Melden-Ereignis die
Identität
des Hauptfensters der Anwendung. Die Wrapper-Anwendung bestimmt
die Stelle des Icon-Bildspeicherabbilds aus dem Erzeugen-/Melden-Ereignis.
Die Wrapper-Anwendung greift auf das Bild zu und speichert es in
dem Dock-Tile (d. h. das Icon der Fremdanwendung im Dockbereich),
welches der Fremdanwendung im Dock zugeordnet ist.
-
AUSFÜHREN
-
Beim Ausführen der Fremdanwendung wartet
die Wrapper-Anwendung auf ein Signal von ihrer Tochteranwendung
(das heißt
die Fremdanwendung). Die Wrapper-Anwendung benötigt keine Kommunikation mit der
Dock-Anwendung, bis die Fremdanwendung beendet ist. Beim Auftreten
eines Statuswechsels der Fremdanwendung wird die Wrapper-Anwendung
benachrichtigt. Die Wrapper-Anwendung wird wieder tätig und
führt die
erforderliche Verarbeitung auf der Grundlage der Meldung aus. 5 zeigt einen Prozeßfluß zum Ausführen einer
Fremdanwendung in einer Ausführungsform
dieser Erfindung.
-
Die Wrapper-Anwendung wartet in Schritt
502 auf eine Meldung von der Fremdanwendung. Beim Erhalten einer
Meldung wird die Wrapper-Anwendung wieder tätig und führt die Schritte 504, 506 oder
508, je nach Meldungstyp, aus. Falls der Benutzer aus dem zur Fremdanwendung
zugeordneten Menü die „Verbergen"-Operation
gewählt
hat, ordnet die Wrapper-Anwendung das Hauptfenster der Fremdanwendung
in Schritt 504 nicht mehr zu (unmap). Zum „Aufdecken" („unhide")
einer Anwendung (d. h. ihres Hauptfensters) klickt ein Benutzer
typischerweise zweimal auf das Tile der Anwendung im Dock. Falls
ein „Rufdeck"-Befehl
vom Benutzer erfaßt
wird, ordnet die Wrapper-Anwendung das Hauptfenster der Fremdanwendung
in Schritt 506 zu.
-
Falls der Benutzer „Quit/Verlassen"
im Menü auswählt, oder
die Wrapper-Anwendung die Meldung erhält, daß die Fremdanwendung beendet
ist, wird die Wrapper-Anwendung wieder tätig und bearbeitet die Meldung.
Falls die Fremdanwendung noch ausgeführt wird, beendet die Wrapper-Anwendung die Anwendung
in Schritt 508. Dann endet die Wrapper-Anwendung in Schritt 510.
Die Beendigung der Wrapper-Anwendung wird von der Dock-Anwendung
festgestellt.
-
Falls die Wrapper-Anwendung gemäß einer
Ausführungsform
dieser Erfindung mehrere Fremdanwendungen verwaltet, wird Schritt
505 so modifiziert, daß bestimmt
wird, ob die Fremdanwendung die letzte Tochter der Wrapper-Anwendung
ist. Falls sie nicht die letzte Tochter ist, unterrichtet die Wrapper-Anwendung
die Dock-Anwendung, wenn nötig,
ohne zu enden. Sollte zum Beispiel die Dock-Anwendung die Ausführung einer Operation
erforderlich machen, wenn eine angedockte Anwendung beendet wird,
kann die Wrapper-Anwendung die Dock-Anwendung unterrichten, wenn einer ihrer
Tochterprozesse endet. Beim Erhalten der Meldung kann die Dock-Anwendung
die Operation durchführen.
Wenn jedoch kein Bedarf zur Benachrichtigung der Dock-Anwendung
besteht, wenn ein Tochterprozeß endet,
unterrichtet die Wrapper-Anwendung
einfach das Dock, wenn sie endet. In jedem der beiden Fälle endet,
wenn der letzte Tochterprozeß endet,
die Wrapper-Anwendung, wodurch die Dock-Anwendung unterrichtet wird,
daß alle
von der Wrapper-Anwendung verwalteten Fremdanwendungen geendet haben.
-
In Schritt 512 bringt das Dock das
Tile der Anwendung zu ihrem Originalzustand zurück. Der Prozeßfluß endet
in Schritt 514.
-
Somit wird ein Verfahren und eine
Vorrichtung zum Andocken, Starten und Ausführen von Fremdanwendungen in
einer Umgebung zur Verfügung
gestellt.