-
Gebiet der
Erfindung
-
Diese
Erfindung betrifft ein virtuelles Desktop-System und ein Verfahren
zum Organisieren von in einem Computer ausgeführten offenen Anwendungen zur
Anzeige.
-
Grundlagen
der Erfindung
-
Eine
Fensterumgebung ist eine Systemsoftware, die Interaktionen zwischen
einem Benutzer und einem in einem Computer ausgeführten Anwendungsprogramm
durch eine auf einem Bildschirm eines Monitors dargestellte grafische
Anzeige verwaltet. Normalerweise ist die grafische Anzeige so angeordnet,
dass sie der Oberfläche
eines elektronischen "Arbeitsplatzes" (Desktop)ähnelt, und
jedes im Computer ausgeführte
Anwendungsprogramm wird als eines oder mehrere elektronische Blätter dargestellt, die
in als "Fenster" bezeichneten rechteckigen
Bereichen des Bildschirms angezeigt werden.
-
Auf
dem Desktop können
mehrere Fenster gleichzeitig vorhanden sein, wobei jedes Fenster
Daten anzeigt, die von einem anderen Anwendungsprogramm erzeugt
werden. Jedes Anwendungsprogramm zeigt dem Benutzer Daten in seinem
Fenster durch die Darstellung vom Bildern, Grafiken oder Text im
Fensterbereich. Der Benutzer seinerseits kommuniziert mit der Anwendung
durch "Zeigen auf" Standardgrafikobjekte
im Fenster mit Hilfe eines Zeigers, der von einer Zeigereinheit
gesteuert wird, beispielsweise einer Maus, und anschließendes Auswählen der
Objekte oder durch Eingeben von Daten auf einer mit dem Monitor
verbundenen Tastatur. Die Auswahl der Objekte kann durch Betätigen der
Maus zum Bewegen des Zeigers auf die oder in die Nähe der Objekte
und Drücken
und schnelles Loslassen, d. h. "Anklicken", einer Taste auf
der Maus oder durch Steuern eines Cursors über die Tastatur ausgeführt werden.
-
Die
normalerweise in jedem Fensterbereich enthaltenen grafischen Objekte
sind Größenänderungsfelder,
Schaltflächen
und Schiebeleisten. Diese Objekte stellen Benutzerschnittstellenelemente
dar, auf die der Benutzer zum Auswählen oder Bearbeiten mit dem
Zeiger zeigen kann. Beispielsweise kann der Benutzer diese Elemente
bearbeiten, um die Fenster auf dem Bildschirm zu bewegen und ihre
Größen und Erscheinungsformen
zu ändern,
so dass der Desktop auf eine herkömmliche Weise angeordnet wird. Wenn
die Elemente ausgewählt
oder bearbeitet werden, wird das zugrundeliegende Anwendungsprogramm über die
Fensterumgebung informiert, dass die Steuerung vom Benutzer übernommen
wurde.
-
EP-A-0
250 157 beschreibt ein Datenanzeigesystem, in dem Anzeigeeinheiten
mit einem Zentralprozessor verbunden sind und Benutzer im Zentralprozessor
ausgeführte
Anwendungsprogramme auswählen.
Ein Anzeigeverwaltungssteuersystem und ein Fenstertechniksteuermechanismus
(windowing control mechanism) ermöglichen die gleichzeitige Ausführung einer
Vielzahl von Tasks und die Anzeige der Ergebnisse in Bereichen eines
Bildschirms. Zum Fenstertechniksteuermechanismus gehört ein Taskverwaltungssteuerprogramm
(task manager control program), das Folgendes enthält: ein
Mittel zum Interagieren mit dem Bediener über die Anzeigeverwaltungseinrichtung,
um die Einleitung von Anwendungen zu ermöglichen, ein Mittel zum Erzeugen von
Tasks zur Steuerung der Verarbeitung der Anwendung auf eine solche
Weise, dass die Anwendungen entsprechend einer verfügbaren Bedienereingabe
ausgesetzt oder wiederaufgenommen werden können, und ein Mittel zur Kennzeichnung
einer Koordinationssteuereinheit (coordination Controller) für die Anzeigeverwaltungseinrichtung,
die diese aufrufen kann, um der Taskverwaltungseinrichtung das Aussetzen
und Wiederaufnehmen von Anwendungen zu ermöglichen. Die Anzeigeverwaltungseinrichtung
enthält
ein Mittel zum Verknüpfen
von Daten aus jeder Anwendung und zum Erstellen einer Anzeigedarstellung,
die viele Fenster in den verschiedenen Anwendungen auf einem einzigen
Bildschirm zeigt, und ein Mittel zum Aufrufen der von der Taskverwaltungsanwendung
bezeichneten Koordinationssteuereinheit, so dass die Taskverwaltungseinrichtung
auf eine Eingabe wartende Anwendungen aussetzen und Anwendungen
mit einer verfügbaren
Eingabe wiederaufnehmen kann, so dass sie fortgesetzt werden können.
-
Die
US-Patentschrift 5 233 687 beschreibt ein System, das eine Anzeige
und eine Vielzahl von Arbeitsbereichsdatenstrukturen umfasst, die
sich jeweils auf einen entsprechenden Arbeitsbereich beziehen, der
auf der Anzeige dargestellt werden kann. Die Arbeitsbereiche nutzen
Fenster und andere Anzeigeobjekte gemeinsam. Die Datenstruktur jedes Arbeitsbereichs
enthält
für jedes
Fenster in diesem Arbeitsbereich eine als Platzierung (placement)
bezeichnete Verbindungsdatenstruktur, die eine Verbindung zu dem
dieses Fenster bereitstellenden Anzeigesystemobjekt herstellt, das ein
Anzeigesystemobjekt in einem bereits vorhandenen Fenstersystem sein
kann. Die Platzierung enthält
außerdem
Anzeigeeigenschaften des Fensters, wenn es in diesem Arbeitsbereich
angezeigt wird, beispielsweise die Position und die Größe. Daher
kann ein Anzeigesystemobjekt durch eine Platzierung in jeder der
Datenstrukturen des Arbeitsbereichs mit mehreren Arbeitsbereichen
verbunden sein, und das für
jeden dieser Arbeitsbereiche bereitgestellte Fenster kann eindeutige Anzeigeeigenschaften
aufweisen. Das Anzeigesystemobjekt kann ungeachtet des Umschaltens
zwischen einem Arbeitsbereich und einem anderen fortlaufend verwendet
werden, und die Fenster, die es in aufeinanderfolgenden Arbeitsbereichen
bereitstellt, können
bestimmte Merkmale gemeinsam nutzen, so dass sie für den Benutzer
als dasselbe Fenster oder Versionen desselben Fensters erscheinen.
Infolgedessen scheinen die Arbeitsbereiche ein Fenster gemeinsam
zu nutzen. Außerdem
können
Arbeitsbereiche anscheinend ein Fenster gemeinsam nutzen, falls
die Datenstruktur jedes Arbeitsbereichs Daten enthält, die
mit einer Platzierung in das gemeinsam genutzte Fenster eine Verbindung
zu einem anderen Arbeitsbereich herstellen. In jedem der anderen
Arbeitsbereiche ist automatisch ein spezieller Arbeitsbereich enthalten,
so dass die Fenster in diesem Arbeitsbereich mit dem Benutzer in
jeden anderen Arbeitsbereich gehen. Der Benutzer kann eine Umschaltung
zwischen Arbeitsbereichen aufrufen, indem er ein als Tür bezeichnetes
Anzeigeobjekt auswählt,
und es wird automatisch eine Hintertür zum vorhergehenden Arbeitsbereich
erzeugt, so dass der Benutzer nicht in einem Arbeitsbereich festsitzt.
-
Tesler
L: "The Smalltalk
environment", BYTE,
AUGUST 1981, USA, Band 6, Nr. 8, ISSN 0360-5280, Seiten 90 bis 147,
XP002044904, betrifft die Verwendung von mehreren Desktops.
-
Dialogfenster-
und Aktionsfenstermenüs sind
weitere Beispiele für
Benutzerschnittstellenelemente, die einem Benutzer im Allgemeinen
zur Verfügung
stehende Befehlsauswahlen auflisten. Diese Menüs können aktiviert und Befehle
durch einfaches Zeigen auf diese und Anklicken derselben mit dem mausgesteuerten
Zeiger ausgewählt
werden.
-
Eine
Anzahl von verschiedenen handelsüblichen
Fensterumgebungen verwenden die oben beschriebene Anordnung. Zu
diesen Umgebungen gehört
das von Apple Computer, Inc., entwickelte Betriebssystem System
7®,
die von Microsoft Corporation entwickelte grafische Benutzeroberfläche Windows® und
der von International Business Machines Corporation entwickelte
OS/2 Presentation Manager®. Die vorliegende Erfindung
kann auf alle solche Umgebungen angewandt werden und betrifft die
Verwaltung von Anwendungen unter Verwendung einer Desktop-Metapher
(desktop metaphor) zum Gruppieren der Anwendungen durch zusammengehörige Funktionen
oder Tasks.
-
Im
Allgemeinen fördert
die Desktop-Metapher die Leistungsfähigkeit des Benutzers durch
die Bereitstellung einer Umgebung, in der der Benutzer die zum Ausführen von
Arbeitsgängen
benötigten Anwendungen
problemlos verwalten kann. Die oben beschriebenen Fensterumgebungen
stellen normalerweise nur einen einzigen Desktop bereit, der Anwendungen
in vordefinierte "Gruppen" von Anwendungen
organisiert, wobei diese entsprechend ihrer Funktion zusammengesetzt
sind. Jede dieser Anwendungen wird durch ein kleines als "Symbol" bezeichnetes Bild
dargestellt. Obwohl der Benutzer die Symbole und ihre auf dem Desktop
angezeigten zugeordneten Gruppen anordnen, erzeugen und löschen kann,
werden die zugeordneten Anwendungen nicht ausgeführt oder "geöffnet"; das heißt, die oben
beschriebenen Fensterumgebungen ermöglichen normalerweise nicht
das Gruppieren von geöffneten
Anwendungen.
-
Anwendungen
können
durch Auswählen
ihrer zugeordneten Symbole aus einer vordefinierten Gruppe geöffnet werden,
und diese offenen Anwendungen werden normalerweise in "Anwendungsfenstern" ausgeführt, die
auf dem Desktop sichtbar sind. Wenn mehr als eine Anwendung gleichzeitig
geöffnet werden,
kann der Desktop ein unübersichtliches
Erscheinungsbild annehmen. Um freien Platz auf dem Desktop zu schaffen,
ohne die Anwendungen zu verlassen, können die offenen Anwendungsfenster
minimiert werden, so dass sie als Symbole erscheinen, die im Allgemeinen
dieselben Symbole wie die zum Darstellen der ungeöffneten
Anwendung verwendeten Symbole sind. Obwohl ein geöffnetes
Anwendungsprogramm durch ein Symbol dargestellt wird, ist dieses
Symbol kein Teil der vordefinierten Gruppe mehr und erscheint auf
dem Desktop zusammen mit anderen Symbolen, die geöffnete Anwendungen
aus anderen Gruppen darstellen.
-
Dementsprechend
stellt die vorliegende Erfindung ein Verfahren zum Organisieren
von Anwendungsfenstern von in einem Computer ausgeführten offenen
Anwendungen zur Anzeige auf einem Bildschirm bereit, der Bildschirmkoordinaten
aufweist, die einen sichtbaren Bereich von Koordinaten beinhalten,
die eine aktuell sichtbare Ansicht darstellen, wobei das Verfahren
die folgenden Schritte umfasst: Zuordnen eines Bereichs von Bildschirmkoordinaten zu
jedem aus einer Vielzahl von Anzeigebereichen; Positionieren von
Anwendungsfenstern von offenen Anwendungen in jeden der Anzeigebereiche;
und Einstellen der Bildschirmkoordinaten, so dass die Anwendungsfenster
auf dem Bildschirm anzeigt werden; dadurch gekennzeichnet, dass:
der Schritt des Zuordnens eines Bereichs von Bildschirmkoordinaten
zu jedem aus einer Vielzahl von Anzeigebereichen das Zuordnen eines
entsprechenden Bereichs von Bildschirmkoordinaten zu jedem aus einer
Vielzahl von Desktop-Anzeigebereichen umfasst, so dass jeder Desktop-Anzeigebereich eine
Breite hat, die größer als
die Breite des Bildschirms ist; der Schritt des Positionierens von
Anwendungsfenstern von offenen Anwendungen in jeden der Anzeigebereiche
die Verwendung einer Desktop-Verwaltungseinrichtung
umfasst, um Gruppen der Anwendungsfenster innerhalb des Bereichs
von Anzeigekoordinaten der Desktop-Anzeigebereiche zur Zuordnung
zu den Desktop-Anzeigebereichen zu positionieren, wobei die Funktionen,
die von den offenen Anwendungen ausgeführt werden, Anwendungsfenster
in der Gruppe haben, die einem Desktop-Anzeigebereich zugeordnet ist, der entsprechend
der Benutzerauswahl durch Funktion oder Task zusammengesetzt ist; der
Schritt des Einstellens der Bildschirmkoordinaten zum Anzeigen der
Anwendungsfenster auf dem Bildschirm das Umschalten der Bildschirmkoordinaten eines
ausgewählten
Desktop-Anzeigebereichs auf den sichtbaren Bereich umfasst, um die
Anwendungsfenster der dem Desktop-Anzeigebereich zugeordneten Gruppe
zu bewegen; und der Bereich der jedem der Desktop-Anzeigebereiche
zugeordneten Bildschirmkoordinaten so ist, dass Fenster, die keinem
aktuell angezeigten Desktop- Anzeigebereich zugeordnet
sind, auf dem Bildschirm nicht sichtbar sind.
-
Die
Erfindung schafft die Voraussetzungen zum Organisieren von "offenen" Anwendungen eines Computers
in Gruppen von Programmen, die allgemeine Funktionen oder Tasks
ausführen.
Die Gruppen von Programmen werden als "Desktops" bezeichnet, und das virtuelle Desktop-System
stellt eine Desktop-Verwaltungseinrichtung
zum Zuordnen von Bereichen von Bildschirmkoordinaten zu diesen Desktops
vor der Zuordnung von offenen Anwendungen zu diesen bereit. Insbesondere
ist die Desktop-Verwaltungseinrichtung ein Systemsoftwareprogramm,
das eine Vielzahl von Desktop-Gruppen enthält und das eine Benutzerschnittstelle
zum Erzeugen und anschließenden
Verwalten der Anzeige von ausgewählten
offenen Anwendungen und Desktops bereitstellt. Diese ausgewählten offenen
Anwendungen werden in Anwendungsfenstern auf einem Bildschirm des
Computers dargestellt, wenn zwischen Desktops im virtuellen Desktop-Systems
hin- und hergeschaltet wird.
-
Außerdem stellt
die vorliegende Erfindung vorteilhafterweise die Gruppierung von
zusammengehörigen
offenen Anwendungen in einer Anordnung bereit, die Gruppen von zusammengehörigen Anwendungen
visuell voneinander trennt.
-
Unter
einem Aspekt der vorliegenden Erfindung wird eine Anordnung bereitgestellt,
durch die die Desktop-Verwaltungseinrichtung
jedem Desktop Bereiche von Bildschirmkoordinaten zuordnet und anschließend Anwendungsfenster
zur Zuordnung zu jenen Desktops in diesen Bereichen positioniert.
In der hierin beschriebenen veranschaulichenden Ausführungsform
ermöglicht
das virtuelle Desktop-System eine Positionierung von Anwendungsfenstern bei
Bildschirmkoordinaten im Bereich von z. B. minus 16.767 bis 16.768
Fenstereinheiten; jedoch ist zu jedem Zeitpunkt nur eine Teilmenge
dieses Bereichs, die eine aktuelle Ansicht definiert, auf dem Bildschirm sichtbar.
-
Um
die einem ausgewählten
Desktop zugeordneten Anwendungen anzuzeigen, wird eine aktuell auf
dem Bildschirm angezeigte Desktop- -Ansicht auf die dem ausgewählten Desktop
zugeordneten Koordinaten umgeschaltet. Das Umschalten zwischen den
Desktops wird vorzugsweise in Verbindung mit der Desktop-Verwaltungseinrichtung
und einer herkömmlichen
Fensteranwendungs-Programmierschnittstelle ausgeführt. Anwendungsfenster,
die nicht dem ausgewählten
Desktop zugeordnet sind, sind nicht sichtbar, da sie außerhalb
des angezeigten Ansichtsbereichs positioniert werden, dessen Bildschirmkoordinaten
vorzugsweise festgelegt sind.
-
In
vielen Systemen kann sich die Breite eines Bildschirms in Fenstereinheiten
mit der Bildauflösung ändern, und
zu einem bestimmten Desktop gehörende
Anwendungen können
auf einen anderen Desktop "überhängen", wodurch Anwendungen,
die nicht zur Anzeige auf dem Bildschirm vorgesehen sind, in den sichtbaren
Bereich des Bildschirms verschoben werden. Dementsprechend ist der
Bereich von jedem Desktop zugeordneten Fenstereinheiten vorzugsweise
mindestens zweimal so groß wie
die maximale Breite des Bildschirms. Eine Vergrößerung des Koordinatenbereichs
jedes Desktops stellt sicher, dass Anwendungsfenster, die keinem
aktuell angezeigten Desktop zugeordnet sind, auf dem Bildschirm
nicht sichtbar sind.
-
Unter
einem anderen Aspekt der Erfindung enthält jeder Desktop eine Datenstruktur
zum Speichern einer Liste von allen seinen offenen Anwendungen zusammen
mit den Größen und
Fensterpositionen dieser Anwendungen. Die Liste wird verwendet,
um die Position jedes Anwendungsfensters mit dem dem Desktop zugeordneten
Koordinatenbereich zu vergleichen, so dass der Desktop feststellen
kann, ob das Fenster zu ihm gehört;
dies ist wichtig, um eine gemeinsame Nutzung von Anwendungen zu
ermöglichen.
Die gemeinsame Nutzung von Anwendungen unter Desktops kann erforderlich
sein, da einige Anwendungen lediglich die Ausführung einer Kopie ihrer selbst
zu einem bestimmten Zeitpunkt ermöglichen. Wie hierin beschrieben
wird, ist die Desktop-Verwaltungseinrichtung für die Koordination der gemeinsamen
Nutzung von Anwendungen zuständig.
-
Unter
noch einem anderen Aspekt der Erfindung enthält die Desktop-Verwaltungseinrichtung
außerdem
eine Datenstruktur zum Speichern einer Liste von allen Desktops
nach dem Namen/der Funktion und dem Bildschirmkoordinatenbereich.
Der Inhalt dieser Datenstruktur wird von der Desktop-Verwaltungseinrichtung
zur Feststellung verwendet, welche Anwendungen den Desktops zugeordnet
sind; solche Informationen können
bei der Lösung
eines Konflikts bezüglich
der gemeinsamen Nutzung von Anwendungen und beim Verlassen des virtuellen
Desktopsystems nützlich
sein.
-
Die
gemeinsame Nutzung von Anwendungen kann beispielsweise geeignet
sein, wenn ein Fenster außerhalb
des aktuellen Ansichtsbereichs "aktiv" wird, wodurch angezeigt
wird, dass ein anderer Desktop die aktive Anwendung enthält. Die
Desktop-Verwaltungseinrichtung
wartet auf dieses Ereignis und leitet, falls die Anwendung entliehen
werden kann, eine gemeinsame Nutzung der Anwendung auf eine geeignete
Weise ein, z. B. setzt sie die aktive Anwendung in den aktuellen
Ansichtsbereich. Falls die Anwendung nicht zwischen Desktops entliehen werden
kann, informiert die Desktop-Verwaltungseinrichtung den Benutzer,
dass die aktive Anwendung nicht gezeigt werden kann. Wenn der Benutzer
anschließend
die virtuelle Desktop-Umgebung verlässt, überträgt die Desktop-Verwaltungseinrichtung
Nachrichten an die Desktops, die diese auffordern, ihre zugeordneten
Anwendungen zu zeigen. Dadurch wird sichergestellt, dass offene
Anwendungen beim Verlassen des Desktop-Verwaltungsprogramms nicht verborgen
bleiben.
-
Unter
einem weiteren Aspekt wird ein virtuelles Desktop-System zum Organisieren
von Anwendungsfenstern von in einem Computer ausgeführten offenen
Anwendungen zur Anzeige auf einem Bildschirm bereitgestellt, der
Bildschirmkoordinaten aufweist, die einen sichtbaren Bereich von
Koordinaten beinhalten, die eine aktuell sichtbare Ansicht darstellen,
wobei das virtuelle Desktop-System Folgendes umfasst: ein Mittel
zum Zuordnen eines Bereichs von Bildschirmkoordinaten zu jedem aus
einer Vielzahl von Anzeigebereichen; ein Mittel zum Positionieren von
Anwendungsfenstern von offenen Anwendungen in jeden der Anzeigebereiche;
und ein Mittel zum Einstellen der Bildschirmkoordinaten, so dass
die Anwendungsfenster auf dem Bildschirm anzeigt werden; dadurch
gekennzeichnet, dass: das Mittel zum Zuordnen eines Bereichs von
Bildschirmkoordinaten zu jedem aus einer Vielzahl von Anzeigebereichen ein
Mittel zum Zuordnen eines entsprechenden Bereichs von Bildschirmkoordinaten
zu jedem aus einer Vielzahl von Desktop-Anzeigebereichen umfasst, so dass jeder
Desktop-Anzeigebereich eine Breite hat, die größer als die Breite des Bildschirms ist;
das Mittel zum Positionieren von Anwendungsfenstern von offenen
Anwendungen in jeden der Anzeigebereiche eine Desktop-Verwaltungseinrichtung
umfasst, die für
das Positionieren von Gruppen der Anwendungsfenster innerhalb des
Bereichs von Anzeigekoordinaten der Desktop-Anzeigebereiche zur
Zuordnung zu den Desktop-Anzeigebereichen geeignet ist, wobei die
Funktionen, die von den offenen Anwendungen ausgeführt werden,
Anwendungsfenster in der Gruppe haben, die einem Desktop-Anzeigebereich zugeordnet
ist, der entsprechend der Benutzerauswahl zusammengesetzt ist; das
Mittel zum Einstellen der Bildschirmkoordinaten zum Anzeigen der
Anwendungsfenster auf dem Bildschirm ein Mittel zum Umschalten der
Bildschirmkoordinaten eines ausgewählten Desktop-Anzeigebereichs auf
den sichtbaren Bereich umfasst, um die Anwendungsfenster der dem
Desktop-Anzeigebereich zugeordneten Gruppe zu bewegen; und der Bereich
der jedem der Desktop-Anzeigebereiche
zugeordneten Bildschirmkoordinaten so ist, dass Fenster, die keinem
aktuell angezeigten Desktop-Anzeigebereich
zugeordnet sind, auf dem Bildschirm nicht sichtbar sind.
-
Nun
werden Ausführungsformen
der vorliegenden Erfindung lediglich beispielhaft mit Bezugnahme
auf die begleitenden Zeichnungen beschrieben, in denen:
-
1 ein
schematisches Blockschaltbild eines Computersystems ist, beispielsweise
eines Personal-Computer-Systems,
in dem ein erfindungsgemäßes virtuelles
Desktop-System vorteilhaft eingesetzt werden kann;
-
2 eine Übersichtsdarstellung
ist, die die Interaktionen zwischen einer Vielzahl von Anwendungsprogrammen
und dem virtuellen Desktop-System gemäß der Erfindung zeigt;
-
3 eine Übersichtsdarstellung
des virtuellen Desktop-Systems
von 2 ist, das ein neuartiges Desktop-Verwaltungsprogramm
gemäß der Erfindung
enthält;
-
4 eine Übersichtsdarstellung
eines neuartigen Desktop-Verwaltungsprogramms
von zusammengehörigen
offenen Anwendungen ist, das der Desktop-Verwaltungseinrichtung von 3 zugeordnet
ist;
-
5 eine
schematische Darstellung ist, die die Zuordnung von Bildschirmkoordinaten
und zugeordneter Fensterpositionen von offenen Anwendungen für die Desktop-Programme
veranschaulicht, deren Breite zweimal so groß wie die Breite eines Computerbildschirms
von 1 ist;
-
6 ein
Flussdiagramm ist, das die Folge von Schritten zur Zuordnung von
Bildschirmkoordinaten und Fensterpositionen zu den Desktops und
ihre zugeordneten Anwendungsfenster von 5 darstellt;
-
7 ein
Beispiel eines virtuellen Desktop-Systems veranschaulicht;
-
8 ein
Flussdiagramm ist, das das Umschalten zwischen Desktops gemäß der Ausführungsform
von 5 darstellt;
-
9 ein
Flussdiagramm ist, das die gemeinsame Nutzung von Anwendungen gemäß der Erfindung
darstellt; und
-
10 ein
Flussdiagramm ist, das die Folge von Schritten zum Verlassen des
virtuellen Desktop-Systems der Erfindung darstellt.
-
1 ist
eine schematische Darstellung eines Computersystems 100,
das eine Zentraleinheit (CPU) 110 umfasst, die durch bidirektionale
Busse 112 und 116 zwischen einen Speicher 114 und
eine Ein-/Ausgabe- (E/A-) Schaltungsanordnung 118 geschaltet
ist. Der Speicher 114 umfasst normalerweise einen Arbeitsspeicher
(RAM) zur zeitweiligen Speicherung von Daten, zu denen ein Anwendungsprogramm
gehört,
und einen Nur-Lese-Speicher
(ROM) zur ständigen
Speicherung der Konfiguration und der grundlegenden Betriebsbefehle
des Computers, beispielsweise Teile eines Betriebssystems. Wie hierin später beschrieben
wird, stehen das Anwendungsprogramm und das Betriebssystem miteinander
in Wechselwirkung, um die Arbeitsgänge der CPU 110 und
des Computersystems 100 zu steuern.
-
Die
E/A-Schaltungsanordnung 118 ist ihrerseits über einen
bidirektionalen Bus 122 mit einem Kommunikationsnetz 120,
beispielsweise einer Telefonleitung, und mit Cursorsteuereinheiten
verbunden, beispielsweise mit einer Tastatur 124 (über das Kabel 126)
und einer Maus 130 (über
das Kabel 128). Die Maus 130 enthält normalerweise
mindestens eine Taste 134, die von einem Benutzer des Systems betätigt wird.
Außerdem
ist ein herkömmlicher
Monitor 132 mit einem Bildschirm 135 über ein
Kabel 138 mit der E/A- Schaltungsanordnung 118 verbunden. Auf
dem Bildschirm 135 wird ein Zeiger (oder Cursor) 140 angezeigt,
und seine Position kann über
die Maus 130 oder die Tastatur 124 gesteuert werden, wie
allgemein bekannt ist.
-
Insbesondere
empfängt
die E/A-Schaltungsanordnung 118 Daten, beispielsweise Steuer-
und Datensignale, von der Maus 130 und der Tastatur 124 und übermittelt
diese Daten zur CPU 110 zur Übertragung über das Netz 120 oder
zur Anzeige auf dem Bildschirm 135. Es muss verstanden
werden, dass die E/A-Schaltungsanordnung
die zum Bilden einer Schnittstelle mit dem Netz, der Maus, der Tastatur
und dem Anzeigemonitor benötigte
Hardware und Software enthält,
z. B. Puffer, Adapter und Protokolle.
-
Das
Computersystem 100 ist vorzugsweise ein Personal Computer
der von International Business Machines Corporation vertriebenen
Computerreihe IBM PS/1®, obwohl die Erfindung
auch in Verbindung mit jedem beliebigen Computer ausgeführt werden
kann. Diese Computer weisen eine Betriebssystemsoftware auf, von
der sie gesteuert und koordiniert werden, beispielsweise das IBM
OS/2® Betriebssystem.
Außerdem
wird vorzugsweise eine Fensterumgebung, beispielsweise die grafische
Benutzeroberfläche
Windows®,
als grafische Anzeige auf dem Bildschirm 135 angezeigt,
um Interaktionen zwischen einem Benutzer und dem Computer 100 zu ermöglichen.
Die grafische Anzeige ist normalerweise so angeordnet, dass sie
einem einzigen Desktop 142 ähnelt, und jedes Anwendungsprogramm
wird in einem Anwendungsfenster 144 des Bildschirms 135 ausgeführt. Normalerweise
können
mehrere andere Fenster 144 gleichzeitig auf dem Desktop
vorhanden sein, wobei jedes Fenster Daten anzeigt, die von einer
anderen Anwendung erzeugt werden.
-
Die
Fensterumgebung ist im Allgemeinen ein Teil der Betriebssystemsoftware,
zu der eine Gruppe von Dienstprogrammen zur Steuerung der Funktionsweise
des Computersystems 100 gehört. Das Betriebssystem seinerseits
steht in Wechselwirkung mit Anwendungsprogrammen, um eine Funktionalität auf höherer Ebene
bereitzustellen, wozu eine direkte Schnittstelle mit dem Benutzer
gehört.
Insbesondere verwenden die Anwendungsprogramme Betriebssystemfunktionen
durch die Ausgabe von Taskbefehlen an das Betriebssystem, das sodann
die angeforderte Task ausführt.
Beispielsweise kann ein Anwendungsprogramm anfordern, dass das Betriebssystem
bestimmte Daten in den Fenstern 144 zur Darstellung für den Benutzer
anzeigt.
-
Wie
erwähnt
wurde, organisiert die Fensterumgebung normalerweise Anwendungssymbole
in vordefinierte Gruppen von Anwendungen, jedoch ermöglicht sie
nicht die Gruppierung von Symbolen von offenen Anwendungen, die
entsprechend ihrer Funktion oder Task zusammengehören. Das
heißt,
sobald eine Anwendung ausgeführt
wird, ist ihr Fenster (oder ihr Symbol, falls sie minimiert wurde),
kein Teil der vordefinierten Gruppe mehr. Ein Merkmal der vorliegenden
Erfindung ist jedoch die Bereitstellung von zusätzlichen Dienstprogrammen,
die bei Aufruf das Ausführen
von Vorgängen
veranlassen, die einem Benutzer die Organisation von offenen Anwendungen
in Gruppen ermöglichen,
die entsprechend ihrer Funktionen oder Tasks zusammengesetzt sind.
Dieses neue Verhalten des Systems wird durch die Interaktion dieser
neuen Dienstroutinen mit einer Reihe von vorhandenen, dem Betriebssystem
zugeordneten Systemroutinen zustande gebracht. Zusammen stehen diese
Systemsoftwareroutinen mit dem Anwendungsprogramm in Wechselwirkung,
um ein neuartiges virtuelles Desktop-System zu erzeugen, wie es
hierin beschreiben wird.
-
2 ist
eine schematische Darstellung der Interaktion einer Vielzahl von
bei 202 und 216 gezeigten Anwendungsprogrammen
und dem virtuellen Desktop-System 300. Das System 300 befindet
sich in einem Betriebssystem 204, das gleichzeitig mit den
Anwendungsprogrammen in einem Computersystem 200 ausgeführt werden
kann. Jedes Programm 202 und 216 bildet eine Schnittstelle
mit dem Betriebssystem 204, wie durch die Pfeile 206 und 220 schematisch
dargestellt wird. Zum Anzeigen von Daten auf einem Computerbildschirm
erzeugen und übertragen
die Anwendungsprogramme 202 und 216 Anforderungen
an das virtuelle Desktop-System, das seinerseits eine direkte Schnittstelle
mit einem Bildschirmpuffer 210 bildet, wie durch den Pfeil 208 schematisch
dargestellt wird. Der Inhalt des Bildschirmpuffers 210 wird über das
Kabel 222 einem Computermonitor 224 zugeführt.
-
Das
neuartige Desktop-System 300 stellt ein Mittel zum Organisieren
von auf dem Bildschirm 135 ausgeführten "offenen" Anwendungen in Desktop-Gruppen bereit,
die entsprechend allgemeinen Funktionen zusammengesetzt sind. Diese
Desktop-Gruppen
sind als Desktop-Anzeigebereiche auf dem Computerbildschirm erkennbar. 3 ist
eine Übersichtsdarstellung
des virtuellen Desktop-Systems 300, das eine Fensterverwaltungseinrichtung 310 und
eine neuartige Desktop-Verwaltungseinrichtung 350 umfasst.
Die Interaktion zwischen der Fensterverwaltungseinrichtung 310 und
der Desktop-Verwaltungseinrichtung 350 wird teilweise unter Verwendung
von Funktionsaufrufen einer herkömmlichen Windows® Anwendungsprogrammierschnittstelle (API)
ausgeführt,
wie durch den Pfeil 320 schematisch dargestellt wird.
-
Insbesondere
ist die Fensterverwaltungseinrichtung 310 eine Systemsoftwareroutine,
die im Allgemeinen für
die Verwaltung der Fenster zuständig ist,
die ein Benutzer während
der Arbeitsgänge
der Anwendungsprogramme des Computers sieht. Das heißt, die
allgemeine Aufgabe der Fensterverwaltungseinrichtung besteht darin,
die Position und die Größe der Fenster
und der Fensterbereiche laufend zu verfolgen, die in Verbindung
mit dem neuartigen virtuellen Desktop-System aufgeklappt und neu
entworfen werden müssen.
Zu diesem Zweck kommuniziert die Fensterverwaltungseinrichtung 310 mit
allen Anwendungsprogrammen und koordiniert zwischen den Anwendungen,
um sicherzustellen, dass Fensteranzeigen sich nicht gegenseitig überlappen.
Die Fensterverwaltungseinrichtung ist allgemein bekannt und in handelsüblichen
Fensterumgebungen enthalten.
-
Die
Desktop-Verwaltungseinrichtung 350 ist außerdem ein
Systemsoftwareprogramm, das eine Vielzahl von Desktop-Programmgruppen 400 umfasst.
Wie hierin beschrieben wird, ordnet die Desktop-Verwaltungseinrichtung
jedem Desktop 400 einen Bereich von nichtüberlappenden
Bildschirmkoordinaten zu und ordnet diesen Desktops 400 anschließend offene
Anwendungen durch die Anwendungsfensterposition zu. Die Zuordnung
von Desktop-Bereichen und offenen Anwendungen wird vorzugsweise
in Verbindung mit einer der Verwaltungseinrichtung 350 zugeordneten
Datenstruktur 360 ausgeführt. Diese Datenstruktur 360 ist
vorzugsweise eine Liste des Namens/der Funktion und der Bildschirmkoordinaten
aller in der Desktop-Verwaltungseinrichtung 350 enthaltenen
Desktops 400. In der veranschaulichenden Ausführungsform
der Erfindung sind vorzugsweise vier (4) Desktops in der Desktop-Verwaltungseinrichtung 350 des
virtuellen Desktop-Systems 300 enthalten; für Fachleute
ist es jedoch klar, dass gemäß den Grundgedanken
der Erfindung eine beliebige Anzahl von Desktops von der Desktop-Verwaltungseinrichtung 350 unterstützt werden
kann.
-
Die
Desktop-Verwaltungseinrichtung 350 stellt außerdem eine
Schnittstelle für
einen Benutzer zur Verwaltung der Anzeige von ausgewählten dieser offenen
Anwendungen in Anwendungsfenstern 144 auf dem Bildschirm 135 bereit.
Diese Desktop-Verwaltungseinrichtungs-Schnittstelle ähnelt im
Allgemeinen der vom Programmverwaltungsdienstprogramm der grafischen
Benutzeroberfläche
Windows® bereitgestellten
Benutzerschnittstelle. Dieses Merkmal der Erfindung ermöglicht einem
Benutzer außerdem
das Erzeugen und Anzeigen von beliebigen aus der Vielzahl von Desktops 400,
von denen jeder eine Gruppe von offenen Anwendungen enthält, die
entsprechend dem Namen oder der Task zusammengesetzt sind.
-
Der
Benutzer kann beispielsweise einen Desktop 400 für Faxübertragung/-empfang
erzeugen, der Software umfasst, die zum Erstellen und Übertragen
eines Faxdokumentes vom Computer von 1 über das
Netz 120 zu einem Ziel benötigt wird. 4 veranschaulicht
einen solchen "Fax"-Desktop 400,
der ein Textprozessoranwendungsprogramm 410, ein Anwendungsprogramm 420 vom
Rotationskarteityp und ein Faxkommunikationsprogramm 430 umfasst.
Hier ermöglicht
das Textprozessorprogramm 410 dem Benutzer das Erstellen
eines Textdokumentes, das für
ein Ziel mit einer durch das Rotationskarteiprogramm 420 ermittelten
Adresse vorgesehen ist. Das Kommunikationsprogramm 430 leitet
sodann die Übertragung
des Dokumentes über
das Netz an diese Adresse ein.
-
Im
Allgemeinen kann ein Desktop von einem Benutzer erzeugt werden,
indem er ein Aktionsfenstermenü oder
ein Dialogfenstermenü von
der von der Desktop-Verwaltungseinrichtung 350 bereitgestellten Benutzerschnittstelle
abruft. Die Aktionsfenster- und Dialogfenstermenüs sind Benutzerschnittstellenelemente,
die u. a. eine Liste von Befehlsauswahlen zum Erzeugen und Auswählen von
Desktops und zum verlassen des virtuellen Desktop-Systems bereitstellen.
Anschließend
können
Anwendungen zu einem Desktop hinzugefügt werden, z. B. durch das Öffnen von
Anwendungsfenstern auf diesem Desktop oder durch "Ziehen und Ablegen" (dragging and dropping)
von Anwendungssymbolen auf einen Desktop mit der Maus 130,
was auch durch ein Symbol auf dem Desktop-Verwaltungseinrichtungs-Bildschirm
dargestellt werden kann. Ein Dialog- oder "Kind"-Fenster,
das von einem Anwendungsprogramm in einem Desktop automatisch erzeugt
werden kann, positioniert sich selbst in Bezug auf sein Elternfenster
und wird diesem Desktop zugeordnet.
-
Der
Desktop 400 enthält
außerdem
eine Datenstruktur 450 zum Speichern einer Liste aller
diesem Desktop zugeordneten offenen Anwendungen zusammen mit den
Größen und
Fensterpositionen dieser Anwendungsfenster. Diese Liste kann beim Vergleich
der Position eines Anwendungsfensters mit dem Bereich von diesem
Desktop zugeordneten Fensterpositionskoordinaten nützlich sein,
so dass der Desktop feststellen kann, ob ein bestimmtes Anwendungsfenster
zu ihm gehört.
-
Insbesondere
wird jedem Desktop 400 von der Desktop-Verwaltungseinrichtung 350 ein
Bereich von Bildschirmkoordinaten zugeordnet, die sodann ausgewählte Anwendungsfenster
zur Zuordnung zu diesem Desktop innerhalb dieser Bereiche positioniert.
Das virtuelle Desktop-System 300, zu dem die Fensterverwaltungseinrichtung 310 gehört, unterstützt die
Positionierung von Anwendungsfenstern bei Bildschirmkoordinaten
im Bereich von z. B. minus 16.767 bis 16.768 Fenstereinheiten. Normalerweise ist
nur eine als aktuelle Ansicht bezeichnete Teilmenge dieses Bereichs
auf dem Bildschirm sichtbar. In der veranschaulichenden Ausführungsform
der Erfindung beträgt
die maximale Breite der Bildauflösung des
Bildschirms 135 vorzugsweise 640 Fenstereinheiten; dementsprechend
umfasst die aktuelle Ansicht vorzugsweise einen Bereich von 0 bis
640 Fenstereinheiten. Diese Auflösung
kann jedoch von Bildschirm zu Bildschirm verschieden sein, wodurch bewirkt
wird, dass Anwendungen, die zur Anzeige auf den Bildschirmen vorgesehen
sind, außerhalb
ihrer sichtbaren Bereiche verschoben werden.
-
Im
Allgemeinen erhält
die Desktop-Verwaltungseinrichtung 350 die Auflösung des
Bildschirms durch Ausgeben von der herkömmlichen API zugeordneten Funktionsaufrufen.
Beispielsweise kann die Desktop-Verwaltungseinrichtung eine Funktionsaufrufnachricht <GetSysMetrics> an die Fensterverwaltungseinrichtung 310 ausgeben,
um die Bildauflösung
des Bildschirms anzufordern. Auf diesen Funktionsaufruf hin rücküberträgt die Fensterverwaltungseinrichtung
die angeforderten Daten, und die Desktop-Verwaltungseinrichtung
ordnet jedem Desktop einen Bereich von Fenstereinheiten zu, der
vorzugsweise mindestens zweimal so groß wie die maximale Breite des
Bildschirms ist.
-
5 zeigt
die Breiten von Desktop-Anzeigebereichen 510 bis 530,
die zweimal so groß wie
die Breite eines Bildschirms sind. Jedem Desktop wird vorzugsweise
ein Bereich von Bildschirmkoordinaten von 1280 Fenstereinheiten
zugeordnet, und den offenen Anwendungen jedes Desktops werden Fensterpositionen
innerhalb dieser Bereiche zugeordnet. Eine Vergrößerung des Koordinatenbereichs
jedes Desktops stellt folglich sicher, dass Anwendungsfenster, die
keinem aktuell angezeigten Desktop zugeordnet sind, auf dem Bildschirm
nicht sichtbar sind.
-
Insbesondere
werden dem Desktop 510 die Bildschirmkoordinaten 0 bis
1280, dem Desktop 520 die Koordinaten 1280 bis 2560 und
dem Desktop 530 die Koordinaten 2560 bis 3840 zugeordnet.
-
Diese
Koordinatenbereiche werden in der Datenstruktur 360 der
Desktop-Verwaltungseinrichtung 350 entsprechend dem Namen
und der Funktion des Desktops gespeichert. Wie erwähnt wurde,
ordnet die Desktop-Verwaltungseinrichtung 350 außerdem jedem
Desktop unter Verwendung der herkömmlichen API offene Anwendungsfenster
entsprechend der Fensterposition zu; dieser Schnittstelle zugeordnete
zusätzliche
Funktionsaufrufe werden weiter unten in Verbindung mit den 6 und 8 bis 10 beschrieben.
Insbesondere kommuniziert die Desktop-Verwaltungseinrichtung mit der Fensterverwaltungseinrichtung
durch den Austausch von Funktionsaufrufnachrichten, die die Anwendungsfenster 512 und 514 im
Desktop 510, das Anwendungsfenster 522 im Desktop 520 und
die Anwendungsfenster 532 und 534 im Desktop 530 positionieren.
Anschließend
werden die Fensterpositionen aller offenen Anwendungsfenster in
der Datenstruktur 450 gespeichert.
-
6 ist
ein Flussdiagramm, das die Folge von Schritten zum zuordnen von
Bildschirmkoordinaten und Fensterpositionen zu den Desktops und
ihre zugeordneten Anwendungsfenster darstellt. Die Routine beginnt
im Schritt 600 und geht weiter zum Schritt 602,
wo die Desktop-Verwaltungseinrichtung jedem vom Benutzer erzeugten
Desktop Bildschirmkoordinatenbereiche zuordnet. Wie erwähnt wurde, wird
jedem Desktop vorzugsweise ein Bereich von Bildschirmkoordinaten
zugeordnet, der zweimal so groß wie
die maximale Breite des Bildschirms ist, oder 1280 Fenstereinheiten
in der veranschaulichenden Ausführungsform.
Im Schritt 604 gibt der Benutzer einen Befehl an die Desktop-Verwaltungseinrichtung
aus, der die Zuordnung einer Anwendung zu einem ausgewählten Desktop
anfordert. Auf diese Anforderung hin gibt die Desktop-Verwaltungseinrichtung
im Schritt 606 eine Funktionsaufrufnachricht <SetWindowPos> an die Fensterverwaltungseinrichtung 310 aus,
um die Fensterposition der Anwendung in den ausgewählten Desktop
zu setzen, und die Routine endet im Schritt 608.
-
Zum
Anzeigen der einem ausgewählten Desktop
zugeordneten offenen Anwendungen wird eine aktuell auf dem Bildschirm
angezeigte Desktop-Ansicht verschoben, d. h. auf die dem ausgewählten Desktop
zugeordneten Koordinaten umgeschaltet. Wie erwähnt wurde, hat der aktuell
angezeigte Ansichtsbereich einen feststehenden Bildschirmkoordinatenbereich
von 640 Fenstereinheiten. Anwendungsfenster, die nicht
dem für
die aktuelle Ansicht ausgewählten
Desktop zugeordnet sind, sind nicht sichtbar, da sie außerhalb
des sichtbaren Ansichtsbereichs positioniert werden. Das Umschalten zwischen den
Desktops wird vorzugsweise unter Verwendung der herkömmlichen
API ausgeführt,
wie im folgenden Flussdiagramm von 8 beschrieben wird.
-
Hier
beginnt die Umschaltroutine im Schritt 800 und geht weiter
zum Schritt 802, wo der Benutzer einen Befehl an die Desktop-Verwaltungseinrichtung ausgibt,
der die Anzeige eines ausgewählten
Desktops anfordert, der sich aktuell nicht im Ansichtsbereich befindet.
Die Anforderung des Benutzers wird normalerweise über die
oben beschriebenen Aktionsfenster- oder Dialogfenstermenüs aufgerufen.
Im Schritt 804 gibt die Desktop-Verwaltungseinrichtung eine
Funktionsaufrufnachricht <ShowView> an den ausgewählten Desktop
aus, wodurch angefordert wird, dass der Desktop seine zugeordneten
Anwendungen entsprechend der Fensterposition zeigt. Der ausgewählte Desktop
greift sodann auf seine Datenstruktur zu, um festzustellen, welche
Anwendungsfenster einschließlich
der Größen und
Positionen dieser Fenster diesem zugeordnet sind, wie im Schritt 806 gezeigt
wird, und rücküberträgt diese
Daten an die Desktop-Verwaltungseinrichtung. Im Schritt 808 gibt
die Desktop-Verwaltungseinrichtung eine Funktionsaufrufnachricht <SetWindowPos> an die Fensterverwaltungseinrichtung
aus, um die Bildschirmkoordinaten des ausgewählten Desktops entsprechend den
erhaltenen Daten auf die aktuelle Ansicht zu setzen. Dies wird vorzugsweise
durch Verschieben jedes Anwendungsfensters auf die aktuelle Ansicht ausgeführt. Die
Routine endet im Schritt 810.
-
Wie
erwähnt
wurde, ist die Desktop-Verwaltungseinrichtung 350 für die Koordination
der gemeinsamen Nutzung von Anwendungen zwischen Desktops zuständig, wenn
zu einem bestimmten Zeitpunkt nur eine Kopie einer Anwendung ausgeführt werden kann.
Eine gemeinsame Nutzung von Anwendungen kann geeignet sein, wenn
ein Fenster außerhalb
des aktuellen Ansichtsbereichs "aktiv" wird, wodurch angezeigt
wird, dass ein anderer Desktop die aktive Anwendung enthält. Der
Prozess der Koordination einer solchen gemeinsamen Nutzung von Anwendungen
wird im Flussdiagramm von 9 gezeigt.
-
Die
Routine beginnt im Schritt 900 und geht weiter zum Schritt 902,
wo die Desktop-Verwaltungseinrichtung ein Fenster "sucht", das außerhalb
des aktuellen Ansichtsbereichs aktiv wird. Insbesondere überwacht
die Desktop-Verwaltungseinrichtung Nachrichten
zwischen der Fensterverwaltungseinrichtung und Anwendungsprogrammen,
wobei sie im Schritt 904 nach einem Befehl ACTIVATE sucht.
Auf die Ausgabe eines Befehls ACTIVATE hin stellt die Desktop-Verwaltungseinrichtung
fest, welchem Desktop die aktive Anwendung zugeordnet ist, wie im Schritt 906 dargestellt
wird, in dem sie eine Funktionsaufrufnachricht <ShowView> an die Desktops ausgibt. Im Schritt 908 stellt
die Desktop-Verwaltungseinrichtung
fest, ob die aktive Anwendung zwischen den Desktops entliehen werden
kann, indem sie den Benutzer z. B. über ein Dialogfeld zur Eingabe
auffordert, ob die Anwendung entliehen werden kann. Falls die Anwendung
nicht entliehen werden kann, weil sie z. B. gesperrt oder passwortgeschützt ist,
kehrt die Routine lediglich zur Wiederholung zurück zum Schritt 902.
Falls der Benutzer jedoch das Entleihen der Anwendung gestattet,
leitet die Desktop-Verwaltungseinrichtung
auf eine entsprechende Weise eine gemeinsame Nutzung der Anwendung ein,
z. B. indem sie die aktive Anwendung im aktuellen Anzeigebereich
positioniert, wie im Schritt 910 gezeigt wird; dies wird
durch das Ausgeben eines Funktionsaufrufs <SetWindowPos> von der Desktop- Verwaltungseinrichtung an die Fensterverwaltungseinrichtung
ausgeführt.
Anschließend
kehrt die Routine zur Wiederholung zurück zum Schritt 902. Selbstverständlich endet
die Routine, wenn das virtuelle Desktop-System verlassen wird oder
falls der Computer ausgeschaltet wird.
-
Schließlich veranschaulicht
das Flussdiagramm von 10 die Folge von Schritten,
die verwendet werden, um das virtuelle Desktop-System auf eine Weise
zu verlassen, die sicherstellt, dass alle offenen Anwendungen vor
dem Verlassen der Programme des Systems geschlossen werden. Diese Routine
ist besonders vorteilhaft für
offene Anwendungsfenster, die im Hintergrund der Desktop-Umgebung
ausgeführt
werden und dem Benutzer beim Verlassen des Systems verborgen bleiben.
-
Die
Routine beginnt im Schritt 1000 und geht weiter zum Schritt 1002,
wo der Benutzer einen Befehl zum Verlassen des virtuellen Desktop-Systems an
die Desktop-Verwaltungseinrichtung
ausgibt. Dies kann durch Auswählen
eines Ende-Befehls aus den Menüs
der Desktop-Verwaltungseinrichtungs-Schnittstelle
ausgeführt
werden. Im Schritt 1004 gibt die Desktop-Verwaltungseinrichtung
Funktionsaufrufnachrichten <ShowView> an die Desktops aus,
wodurch diese aufgefordert werden, ihre zugeordneten Anwendungen
zu zeigen. Im Schritt 1006 greift jeder Desktop auf seine
Datenstruktur zu, um festzustellen, welche Anwendungen diesem zugeordnet
sind, und rücküberträgt die angeforderten
Daten an die Desktop-Verwaltungseinrichtung. Im Schritt 1008 gibt
die Desktop-Verwaltungseinrichtung Funktionsaufrufnachrichten <SetWindowPos> an die Fensterverwaltungseinrichtung
aus, um die Bildschirmkoordinaten jedes Desktops entsprechend den erhaltenen
Daten auf die aktuelle Ansicht zu setzen, und die Routine endet
im Schritt 1010.