CH698761B1 - Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, Computervorrichtung und Computerprogrammprodukt. - Google Patents

Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, Computervorrichtung und Computerprogrammprodukt. Download PDF

Info

Publication number
CH698761B1
CH698761B1 CH01036/04A CH10362004A CH698761B1 CH 698761 B1 CH698761 B1 CH 698761B1 CH 01036/04 A CH01036/04 A CH 01036/04A CH 10362004 A CH10362004 A CH 10362004A CH 698761 B1 CH698761 B1 CH 698761B1
Authority
CH
Switzerland
Prior art keywords
windows
objects
window
computer
user
Prior art date
Application number
CH01036/04A
Other languages
English (en)
Inventor
Bas Ording
John Louch
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of CH698761B1 publication Critical patent/CH698761B1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Image Generation (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Digital Computer Display Output (AREA)
  • Circuit For Audible Band Transducer (AREA)

Abstract

Benutzerschnittstelle für ein Computersystem, welche einen Mechanismus bereitstellt, um den zur Verfügung stehenden Platz auf einer Computeranzeige auf eine Weise zu verwalten, welche die Navigation zwischen mehreren Fenstern erleichtert, die einander überlagern. Die Schnittstelle umfasst einen von dem Benutzer auswählbaren Modus, in welchem die Fenster repositioniert und, falls notwendig, hinsichtlich ihrer Grösse geändert werden, so dass alle geöffneten Fenster gleichzeitig innerhalb des Bereichs der Anzeige betrachtet werden können, wodurch ein jedes Fenster einfach zum Zugriff ausgewählt werden kann. Die Präsentation der Fenster wird somit gewissermassen «geebnet», so dass alle Fenster in der gleichen virtuellen Tiefe erscheinen anstatt einander zu überlappen. Durch diesen Ansatz ist es nicht notwendig, Fenster zu minimieren, um auf eines zuzugreifen, welches durch ein anderes überlagert wird, wodurch es dem Benutzer ermöglicht wird, die Inhalte aller Fenster sichtbar und zugreifbar zu halten. Untermengen von Fenstern können auf gleiche Weise repositioniert werden, oder es können alle Fenster aus dem Anzeigebereich entfernt werden, um auf Objekte auf dem Desktop zuzugreifen.

Description


  [0001]    Die Erfindung betrifft im Allgemeinen den Bereich von Betriebssystemen von Computern und insbesondere eine Benutzerschnittstelle zu einem Computer, welche die Art der Darstellung von mehreren einander überlappenden Objekten verwaltet. Die Erfindung betrifft hierbei ein Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, eine Computervorrichtung mit einem Computer, einer Anzeigevorrichtung und einer Benutzerschnittstelle, sowie ein Computerprogrammprodukt, welches ein Computerprogramm zur Implementierung einer Benutzerschnittstelle auf einer, einen Computer und eine Anzeigevorrichtung umfassenden Computervorrichtung enthält.

  

[0002]    Die erhöhte Leistungsfähigkeit, welche mit jeder neuen Generation von Personalcomputern verfügbar wird, gibt den Benutzern immer grössere Möglichkeiten, verschiedene Aufgaben zu bearbeiten. Ein Benutzer ist nicht mehr darauf beschränkt, lediglich eine einzige Aufgabe zu einer bestimmten Zeit auf einem Personalcomputer zu bearbeiten. Vielmehr ist die zeitgleiche Bearbeitung von mehreren Aufgaben ("multi-tasking") eine übliche Betriebsweise des Computers geworden. Solches "multi-tasking" kann innerhalb eines einzigen Anwendungsprogramms auftreten, indem beispielsweise ein Benutzer mehrere Dokumente innerhalb eines Textverarbeitungsprogramms oder eines Graphikprogramms geöffnet hat. Entsprechend kann multi-tasking auch über mehrere verschiedene Anwendungen hinweg auftreten.

   Der Benutzer kann beispielsweise einen Web-Browser geöffnet haben, um auf eine oder mehrere Webseiten im Internet zuzugreifen, während zur gleichen Zeit sowohl ein elektronisches Mailprogramm läuft, um Nachrichten zu lesen, als auch ein Textverarbeitungsprogramm läuft, um den Inhalt von Nachrichten oder Webseiten in ein oder mehrere Dokumente einzufügen.

  

[0003]    Bei graphischen Benutzerschnittstellen, welche Fenster zur Darstellung von Daten einsetzen, können jeder Aufgabe, die der Benutzer ausführt, ein oder mehrere Fenster zugeordnet sein. Beispielsweise wird jedes Dokument, welches in einem Textverarbeitungsprogramm geöffnet ist, seine Inhalte in einem separaten Fenster dargestellt haben. Zusätzlich können verschiedene Funktionen, welche durch das Programm ausgeführt werden, wie beispielsweise Rechtschreibprüfung, Druckerverarbeitung und dergleichen, jeweils ein oder mehrere sekundäre Fenster zugeordnet haben, um eine Status-Information und/oder eine Benutzereingabe bereitzustellen. Auf ähnliche Weise stellt jedes andere Anwendungsprogramm, welches auf dem Computer arbeitet, dem Benutzer ein oder mehrere Fenster dar.

   Wenn beispielsweise ein Browser eingesetzt wird, um auf eine Anzahl von verschiedenen Typen von Websites zuzugreifen, zum Beispiel eine http-Site, eine ftp-Site und eine news-Site, so kann jede Site in einem entsprechend verschiedenen Fenster dargestellt werden.

  

[0004]    Man kann sich vorstellen, dass, wenn mehrere Aufgaben auf einem Computer ausgeführt werden, die Anzahl der Fenster, welche gleichzeitig dargestellt werden, eine erhebliche Grösse annehmen kann. Für den unerfahrenen Benutzer können mehrere offene Fenster eine Quelle der Frustration oder Verwirrung sein. Insbesondere werden die Fenster in einer geschichteten Weise dargestellt. Jedem Fenster ist eine relative Tiefe zugeordnet, wobei das Fenster, auf welches zuletzt zugegriffen wurde bzw. das aktive Fenster, im Vordergrund der Anzeige erscheint und jedes andere Fenster "hinter" dem aktiven Fenster angeordnet ist, und zwar in der umgekehrten Reihenfolge, in welcher auf sie zugegriffen wurde.

   Als Folge davon kann ein interessierendes Fenster durch andere Fenster, auf welche später zugegriffen wurde, komplett überlagert sein, wodurch der Blick auf dieses Fenster blockiert ist. Der Benutzer weis möglicherweise nicht, wie er zu diesem gewünschten Fenster navigieren kann, ohne all die Fenster, welche das interessierende Fenster überlagern, zu schliessen, zu minimieren oder zu repositionieren, was nämlich nicht die von dem Benutzer beabsichtigte Operation mit diesen Fenstern wäre. Selbst für den erfahreneren Benutzer kann eine grosse Anzahl von geöffneten Fenstern eine ungeordnete Schnittstelle darstellen, welche seine Fähigkeit, auf eine gewünschte Information in einem bestimmten Fenster zuzugreifen, schmälert.

  

[0005]    Ein Ansatz zur Lösung dieses Problems ist in der am 4. Januar 2000 eingereichten US-Anmeldung Nr. 09/447,419 der Anmelderin beschrieben. Bei diesem Ansatz kann ein Einzel-Fenster-Betrachtungsmodus ausgewählt werden, in welchem ein einziges Fenster oder höchstens einige wenige Fenster, welche der gerade aktiven Aufgabe zugeordnet sind, für den Benutzer dargestellt werden. Alle anderen Fenster, welche gerade nicht aktive Aufgaben betreffen, werden automatisch minimiert, um hierdurch die Menge an Information zu reduzieren, welche dem Benutzer zu einer gegebenen Zeit dargestellt wird.

  

[0006]    Anstatt die meisten der Fenster auf einen minierten Zustand zu reduzieren, können es einige Benutzer beispielsweise bevorzugen, die Fenster für alle laufenden Aufgaben geöffnet zu halten. Beispielsweise kann es wünschenswert sein, mehrere Fenster offen zu halten, um es zu ermöglichen, dass deren Inhalte einfach von einem Fenster in ein anderes Fenster kopiert werden können. Wenn die Anzahl der offenen Fenster zunimmt, wird jedoch die Fähigkeit des Benutzers, das Fenster zu lokalisieren, welches den gewünschten Inhalt enthält, beeinträchtigt. Während der Fall der überlappenden Fenster die Möglichkeit von Schwierigkeiten für den Benutzer einfach veranschaulicht, ist dies nicht die einzige Situation, in welcher überlappende Objekte eine Quelle von Unannehmlichkeiten für den Benutzer sein können.

  

[0007]    Beispielsweise können mehrere Symbole bzw. Icons in einem Ordner übereinander liegen, wodurch verhindert wird, dass der Benutzer das interessierende Symbol bzw. Icon lokalisieren kann. Im Allgemeinen kann fast jede Art von Objekt, welche in einer graphischen Benutzerschnittstelle dargestellt wird, vor einem anderen Objekt erscheinen und dadurch die Arbeit des Benutzers stören.

  

[0008]    Ausgehend hiervon liegt der Erfindung die Aufgabe zugrunde, die Navigation zwischen mehreren Fenstern zu erleichtern.

  

[0009]    Die Aufgabe wird gemäss den unabhängigen Ansprüchen der Erfindung gelöst.

  

[0010]    Es wird darauf hingewiesen, dass unabhängig einer eventuell anderslautenden Angabe nur diejenigen der nachstehend angegebenen Ausführungsbeispiele als Ausführungsformen der Erfindung anzusehen sind, die für eine Fachperson ersichtlich vom Umfang der in den beiliegenden Ansprüchen definierten Erfindung erfasst sind. Von den Patentansprüchen nicht abgedeckte Sachverhalte sind als aus dem Stand der Technik zur Erläuterung herangezogene technische Zusatzinformation für die Fachperson zu werten.

  

[0011]    Gemäss einem Aspekt der vorliegenden Erfindung umfasst ein Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer: Darstellen der Objekte in einer geschichteten Ansicht, bei der wenigstens ein Objekt ein anderes Objekt überlagern und wenigstens einen Teil der Inhalte des anderen Objekts verdecken kann, Umschalten zu einer nicht geschichteten Ansicht in Antwort auf einen ersten Befehl, wobei bei der nicht geschichteten Ansicht eine vorbestimmte Menge von Objekten ohne Überlapp dargestellt werden, während ihre relativen Grössen und Konfigurationen beibehalten werden, und Zurückkehren zu der geschichteten Ansicht in Antwort auf eine Aktion des Benutzers.

  

[0012]    Gemäss einem weiteren Aspekt der Erfindung umfasst eine Computervorrichtung einen Computer, eine Anzeigevorrichtung und eine Benutzerschnittstelle, die zur Ausführung eines wie oben bezeichneten Verfahrens ausgebildet ist. Die Benutzerschnittstelle umfasst einen ersten Modus, in welchem mehrere Objekte in einer geschichteten Umgebung in Positionen dargestellt werden, in welchen ein Objekt ein anderes Objekt überlappen und wenigstens einige Inhalte des anderen Objekts verdecken kann, und einen zweiten Modus, in welchem die mehreren Objekte zeitweise von ihren Positionen in dem ersten Modus zu jeweiligen Bereichen innerhalb der auf der Anzeigevorrichtung sichtbaren Anzeigefläche bewegt werden, so dass der Inhalt jedes der mehreren Objekte ohne Überlapp sichtbar ist, während die relativen Grössen und Konfigurationen der mehreren Objekte beibehalten werden,

   und wobei die Objekte daraufhin zu ihren Positionen zurückgeführt werden, welche sie in dem ersten Modus einnahmen. Eine solche Benutzerschnittstelle einer Computervorrichtung stellt einen Mechanismus zur Verwaltung des auf einer Anzeigevorrichtung der Computervorrichtung verfügbaren Raums zur Verfügung, der das Betrachten von mehreren übereinanderliegenden Objekten erleichtert.

  

[0013]    Die Benutzerschnittstelle umfasst somit zumindest einen benutzerwählbaren Modus bzw. Betriebsweise, in welchem bzw. in welcher die Objekte umarrangiert werden und, wenn nötig, ihre Grösse geändert wird, so dass die Objekte gleichzeitig im Wesentlichen in ihrer Gesamtheit innerhalb der Fläche der Anzeigevorrichtung betrachtet werden können, wodurch ein jedes der Objekte einfach für den Zugriff auswählbar ist. Insbesondere wird die Darstellung der Objekte hierbei "geebnet", so dass alle Objekte in im Wesentlichen einer gleichen virtuellen Tiefe erscheinen anstatt einander zu überlappen. Sobald das gewünschte Objekt ausgewählt ist, kehrt die Anzeige in die normale geschichtete Darstellung zurück, und zwar entweder automatisch oder in Antwort auf einen weiteren Befehl des Benutzers.

   Bei diesem Ansatz ist es nicht nötig, die Fenster zu minimieren oder die Objekte anderweitig innerhalb der Anzeige manuell zu bewegen, um auf ein durch ein anderes Objekt überlagertes Objekt zuzugreifen, wodurch es für den Benutzer möglich wird, eine gleichbleibende Arbeitsumgebung beizubehalten.

  

[0014]    Gemäss einem weiteren Aspekt der Erfindung wird ein Computerprogrammprodukt angegeben, welches ein Computerprogramm zur Implementierung einer Benutzerschnittstelle auf einer, einen Computer und eine Anzeigevorrichtung umfassenden, Computervorrichtung enthält, wobei die Benutzerschnittstelle zur Ausführung eines wie oben angegebenen Verfahrens auf der Computervorrichtung ausgebildet ist und einen ersten Modus aufweist, in welchem mehrere Objekte in einer geschichteten Umgebung in Positionen dargestellt werden, in welchen ein Objekt ein anderes Objekt überlappen und wenigstens einige Inhalte des anderen Objekts verdecken kann, und einen zweiten Modus aufweist, in welchem die mehreren Objekte zeitweise von ihren Positionen in dem ersten Modus zu jeweiligen Bereichen innerhalb der auf der Anzeigevorrichtung sichtbaren Anzeigefläche bewegt werden,

   so dass der Inhalt jedes der mehreren Objekte ohne Überlapp sichtbar ist, während die relativen Grössen und Konfigurationen der mehreren Objekte beibehalten werden, und wobei die Objekte daraufhin zu ihren Positionen zurückgeführt werden, welche sie in dem ersten Modus einnahmen.

  

[0015]    Die Erfindung wird in ihren abhängigen Ansprüchen weitergebildet.

  

[0016]    Vorzugsweise umfasst der Schritt des Umschaltens in die nicht geschichtete Ansicht ein Repositionieren von einigen oder allen Objekten der Gruppe, so dass sie in jeweiligen Bereichen der Anzeige erscheinen.

  

[0017]    Vorzugsweise umfasst der Schritt des Repositionierens ein Bewegen der Objekte von ihren ursprünglichen Positionen zu den jeweiligen Bereichen während einer wahrnehmbaren Zeitdauer, um einen Animationseffekt zu erzeugen.

  

[0018]    Vorzugsweise umfasst das Verfahren einen Schritt des Dimmens eines Desktopbereichs der Benutzerschnittstelle während die Objekte bewegt werden.

  

[0019]    Vorzugsweise umfasst der Schritt des Umschaltens ferner einen Schritt des Änderns einer Grösse der Objekte derart umfasst, dass einige oder alle der Objekte wenigstens einer Gruppe von Objekten im Wesentlichen innerhalb eines definierten Grenzbereichs der Anzeige in der nicht geschichteten Ansicht erscheinen.

  

[0020]    Vorzugsweise werden die Grössen einer oder sämtlicher repositionierter Objekte in Übereinstimmung mit einem gemeinsamen Faktor geändert, um deren relative Grössen und/oder Aspektverhältnisse beizubehalten.

  

[0021]    Vorzugsweise umfassen die Objekte eine Menge von Fenstern.

  

[0022]    Vorzugsweise umfasst die Menge von Fenstern ein geöffnet dargestelltes Primärfenster.

  

[0023]    Vorzugsweise umfasst das Verfahren ferner einen Schritt des Ziehens eines Nicht-Fenster-Objekts von einem der Fenster der Menge von Fenstern zu einem anderen Fenster der Menge von Fenstern, während die nicht geschichtete Ansicht dargestellt wird.

  

[0024]    Vorzugsweise umfasst das Verfahren ferner einen Schritt des Bewegens aller Fenster heraus aus einem Bereich der Anzeige in Antwort auf einen zweiten Befehl, um eine Desktop-Ansicht darzustellen.

  

[0025]    Vorzugsweise umfassen die Objekte Symbole bzw. Icons und/oder Bilder.

  

[0026]    Vorzugsweise umfasst die Menge eine Untermenge von allen Objekten auf der Anzeige, welche miteinander in Beziehung stehen. Hierbei sind die miteinander in Beziehung stehenden Objekte vorzugsweise Fenster, welche einem gemeinsamen Anwendungsprogramm zugeordnet sind. Vorzugsweise ist das gemeinsame Anwendungsprogramm diejenige Anwendung, welche aktiv ist, wenn der Befehl gegeben wird.

  

[0027]    Vorzugsweise umfasst das Verfahren einen Schritt des Repositionierens und Anzeigens einer anderen Menge von Fenstern, welche einem anderen Anwendungsprogramm zugeordnet sind, und zwar in Antwort auf einen während der nicht geschichteten Ansicht gegebenen vorbestimmten Befehl.

  

[0028]    Vorzugsweise umfasst das Verfahren einen Schritt des Beibehaltens von nicht-in-Beziehung stehenden Fenstern in ihren ursprünglichen Positionen.

  

[0029]    Vorzugsweise umfasst das Verfahren ferner einen Schritt des Dimmens einer Erscheinung der nicht-in-Beziehung stehenden Fenster.

  

[0030]    Vorzugsweise umfasst das Verfahren ferner die Schritte: Erfassen einer Benutzeraktion, welche eine Auswahl eines der repositionierten Objekte in der nicht geschichteten Darstellung bezeichnet, und Anzeigen des ausgewählten Objekts im Vordergrund der Anzeige nach der Zurückführung der Objekte in ihre ursprünglichen Positionen.

  

[0031]    Vorzugsweise umfasst der Repositionierungsschritt die Schritte: Bestimmen eines Vektors, welcher relative Positionen von zwei einander überlappenden Objekten angibt, und Bestimmen von Bewegungsrichtungen für die einander überlappenden Objekte in Übereinstimmung mit dem Vektor.

  

[0032]    Vorzugsweise werden die Objekte auf iterative Weise repositioniert, wobei eine Richtung und ein Betrag der Bewegung während jeder Iteration bestimmt werden.

  

[0033]    Vorzugsweise umfasst jede Iteration die Schritte: Bestimmen einer Richtung und eines Betrags der Bewegung für jedes zu repositionierende Objekt, Skalieren des Betrags der Bewegung durch einen moderierenden Faktor, und Bewegen des Objekts um den skalierten Betrag.

  

[0034]    Vorzugsweise wird der moderierende Faktor für die jeweiligen Iterationen variiert.

  

[0035]    Vorzugsweise umfasst das Verfahren ferner einen Schritt des Berechnens eines externen Kraftwerts, um die Objekte innerhalb eines Grenzbereichs zu halten, und Addieren des Kraftwerts zu den Beträgen der Bewegung.

  

[0036]    Vorzugsweise umfasst das Verfahren ferner Schritte des Bestimmens, ob die Objekte nach der letzten Iteration ausserhalb eines definierten Grenzbereichs liegen, und Ändern der Grösse der Objekte derart, dass sie innerhalb des Grenzbereichs liegen, sofern sie ausserhalb des Grenzbereichs liegen.

  

[0037]    Vorzugsweise umfasst die Aktion des Benutzers eine Auswahl eines der Objekte.

  

[0038]    Vorzugsweise umfasst die Aktion des Benutzers die Gabe eines zweiten Befehls.

  

[0039]    Vorzugsweise umfasst die Aktion des Benutzers eine Positionierung eines Zeigers in einem vorbestimmten Bereich der Anzeige.

  

[0040]    Vorzugsweise umfasst der Bereich der Anzeige eine vorbestimmte Ecke der Anzeige.

  

[0041]    Vorzugsweise wird der Befehl von einem Programm ausgegeben.

  

[0042]    Vorzugsweise gibt das Programm den Befehl in Antwort auf eine Erfassung einer spezifizierten Bedingung aus.

  

[0043]    Vorzugsweise umfasst das Verfahren Schritte zum Darstellen von einem oder mehreren Fenstern in einer ersten Ansicht derart, dass die Fenster einen Blick des Benutzers auf Objekte auf dem Desktop der Benutzerschnittstelle wenigstens teilweise verdecken, zeitweisen Verschieben der Fenster aus ihren verdeckenden Positionen in einer zweiten Ansicht, und zwar in Antwort auf einen ersten Benutzerbefehl, Zurückführen der Fenster in ihre ursprünglichen Positionen in der ersten Ansicht, und zwar in Antwort auf einen zweiten Benutzerbefehl, Auswählen eines Objekts in einem der Fenster oder von dem Desktop, während die erste Ansicht oder die zweite Ansicht angezeigt wird, und Platzieren des ausgewählten Objekts auf dem Desktop bzw. in einem der Fenster, nachdem in die jeweils andere Ansicht umgeschaltet wurde.

  

[0044]    Vorzugsweise umfasst der Schritt des zeitweisen Entfernens der Fenster die Schritte des Anzeigens eines Randbereichs entlang wenigstens einer Kante des Desktops und ein Bewegen der Fenster zu Positionen innerhalb des Randbereichs.

  

[0045]    Vorzugsweise wird der Schritt des Zurückführens der Fenster durch ein Ziehen des ausgewählten Objekts zu dem Randbereich initiiert.

  

[0046]    Vorzugsweise umfasst das Verfahren ferner einen Schritt des Dimmens einer Erscheinung der Fenster, welche Anwendungen zugeordnet sind, die von der einen Anwendung verschieden sind.

  

[0047]    Vorzugsweise umfasst das Verfahren in Antwort auf eine andere Benutzeraktion während der Zeit, während der die der einen Anwendung zugeordneten Fenster repositioniert sind, die Schritte: Repositionieren derjenigen Fenster, welche einer zweiten Anwendung zugeordnet sind, so dass diese in einem jeweiligen Bereich der Anzeige ohne Überlapp in dem Vordergrund der Anzeige erscheinen, und Dimmen der Fenster, welche der einen Anwendung zugeordnet sind.

  

[0048]    Vorzugsweise umfasst das Programm eine Komponente eines Betriebssystems für das Computersystem.

  

[0049]    Vorzugsweise ist das Programm in einem Anwendungsprogramm enthalten, welches auf dem Computersystem läuft.

  

[0050]    Vorzugsweise ist das Programm in einem Plug-In-Modul enthalten, welches mit einem Betriebssystem des Computersystems zusammenwirkt.

  

[0051]    Weitere Merkmale der Erfindung und durch diese erzielte Vorteile werden aus der nachfolgenden Beschreibung von bevorzugten Ausführungsformen im Zusammenhang mit den beiliegenden Figuren deutlicher. Hierbei zeigt
<tb>Fig. 1<sep>ein allgemeines Blockdiagramm eines Computersystems, in welchem die vorliegende Erfindung implementiert sein kann,


  <tb>Fig. 2<sep>ein Blockdiagramm, welches die Beziehung zwischen einigen Software- und Hardwarekomponenten des Computersystems zeigt,


  <tb>Fig. 3 bis 8<sep>Bildschirmschnappschüsse ("screen shots"), welche ein Beispiel von Wirkungen zeigen, welche mit der vorliegenden Erfindung erreicht werden können,


  <tb>Fig. 9 bis 15<sep>beispielhafte Darstellungen eines Algorithmus zum Repositionieren von Fenstern,


  <tb>Fig. 16<sep>ein Flussdiagramm, welches den Algorithmus zusammenfasst,


  <tb>Fig. 17<sep>die Verwendung eines Rands für jedes Fenster,


  <tb>Fig. 18<sep>ein Beispiel einer Abwandlung der Erfindung,


  <tb>Fig. 19a bis 19d
und
Fig. 20abis 20d<sep>schematische Darstellungen von Bearbeitungen in einem "Zeige Desktop"-Ansichtsmodus,


  <tb>Fig. 21<sep>ein Beispiel der Anzeige in dem "Zeige Desktop"-Modus,


  <tb>Fig. 22<sep>eine Tafel zur Auswahl von Benutzeroptionen, um verschiedene Ansichtsmoden auszuwählen, und


  <tb>Fig. 23a bis 23d<sep>schematische Darstellungen des "Nur Anwendung"-Ansichtsmodus.

  

[0052]    Um ein Verständnis der vorliegenden Erfindung zu erleichtern, wird diese nachfolgend unter Bezugnahme auf die Ansicht von mehreren offenen Fenstern auf einem Desktop einer Computeranzeige beschrieben. Es wird jedoch klar sein, dass die der Erfindung zugrunde liegenden Prinzipien nicht auf diese bestimmte Anwendung beschränkt sind. Diese können vielmehr auf jede Umgebung angewendet werden, in welcher mehrere Objekte einander überlagern und es für den Benutzer wünschenswert ist, ein jedes von diesen in im Wesentlichen seiner Gesamtheit zu betrachten.

  

[0053]    Zudem werden hin und wieder Merkmale der Erfindung im Kontext ihrer Implementierung in der Benutzerschnittstelle des Macintosh (<(R)>-Betriebssystems (Mac OS<(R)>) beschrieben, welches von Apple Computer, Inc. bereitgestellt wird. Diese Merkmale sind ebenso zutreffend und anwendbar auf andere Arten von graphischen Benutzerschnittstellen. Entsprechend sollten bestimmte Aspekte der Implementierung, welche nachfolgend beschrieben, nicht als eine Beschränkung der Anwendbarkeit der Erfindung auf eine Vielzahl von verschiedenen Benutzerschnittstellen von Computern betrachtet werden.

  

[0054]    Die vorliegende Erfindung ist gerichtet auf die Darstellung von Objekten in einem Computersystem für einen Benutzer, wie etwa die Darstellung von Fenstern, Symbolen bzw. Icons, Bildern usw. Die Hardwarekomponenten eines Computersystems von dem Typ, in welchem die Erfindung implementiert werden kann, werden nachfolgend kurz beschrieben, um ein grundlegendes Verständnis der Arbeitsweise der Erfindung in dem System zur Erzeugung der gewünschten Ergebnisse zu bieten. Unter Bezugnahme auf Fig. 1 umfasst ein beispielhaftes Computersystem einen Computer 10, welcher verschiedene mit diesem verbundene externe Peripheriegeräte 12 aufweist. Der Computer 10 umfasst eine zentrale Verarbeitungseinheit 14 und dieser zugeordneten Speicher.

   Dieser Speicher umfasst im Allgemeinen einen Hauptspeicher, welcher typischerweise in Form eines Wahlzugriffspeichers (random access memory) 16 implementiert ist, einen statischen Speicher, welcher einen Nur-Lese-Speicher (read-only memory) 18 umfassen kann, und eine Permanent-Speichervorrichtung, wie etwa eine magnetische oder optische Platte 20. Die CPU 14 kommuniziert mit jedem dieser Speicher über einen internen Bus 22. Die Peripheriegeräte 12 umfassen eine Dateneingabevorrichtung, wie etwa eine Tastatur 24, eine Zeiger- oder Cursorsteuervorrichtung 26, wie etwa eine Maus, einen Trackball, einen Stift oder dergleichen. Eine oder mehrere Anzeigevorrichtungen 28, wie etwa ein CRT-Monitor oder ein LCD-Bildschirm, stellen eine sichtbare Anzeige von Information dar, welche verschiedene Komponenten der graphischen Benutzerschnittstelle umfasst.

   Permanent-Kopien von gewünschter Information können über einen Drucker 30 oder eine ähnliche Vorrichtung bereitgestellt werden. Eine Netzwerkverbindung 31 stellt für den Computer einen Zugang zu einem oder mehreren Servern bereit, welche als Gateways, Dateispeichersysteme, Nachrichtensysteme oder dergleichen arbeiten können. Jede dieser externen Peripherievorrichtungen 12 kommuniziert mit der CPU 14 über einen oder mehrere Ein-Ausgabeschnittstellen 32 des Computers.

  

[0055]    Eine wesentliche Komponente bei der Arbeit eines Benutzers mit dem Computer ist die Benutzerschnittstelle, das heisst die Art und Weise, in welcher der Computer dem Benutzer Information über die Anzeigevorrichtung 28 bereitstellt. Im Hinblick darauf, die Computerarbeit für den Benutzer so angenehm und intuitiv wie möglich zu machen, setzen viele Computersysteme eine graphische Benutzerschnittstelle ein. Die graphische Benutzerschnittstelle kann ein Element des Betriebssystems des Computers bilden, wie dies bei dem Mac OS(R)-Betriebssystem und dem von Microsoft Corporation bereitgestellten Windows(R)-Betriebssystem der Fall ist. In anderen Fällen kann die graphische Benutzerschnittstelle ein separates Anwendungsprogramm umfassen, welches mit dem Betriebssystem zusammenwirkt oder welches in das Betriebssystem integriert ist.

  

[0056]    Eine der grundlegenden Komponenten der meisten graphischen Benutzerschnittstellen ist das Fenster. Im Grunde arbeitet das Fenster als ein Behälter für einen bestimmten Typ von Daten, welche für den Benutzer dargestellt werden sollen, wie etwa der Text in einem Textverarbeitungsdokument, graphische Bilder in einem Zeichnungsdokument oder der Inhalt einer Internet-Webseite. Ein jedes Anwendungsprogramm, welches auf dem Computer ausgeführt wird, stellt seine zugehörigen Daten innerhalb eines separaten Fensters dar. So stellt Fig. 2 ein Beispiel dar, in welchem drei Anwendungsprogramme 34, wie etwa ein Textverarbeitungsprogramm, ein Web-Browser-Programm und ein elektronisches Mail-Programm sämtlich gleichzeitig auf einem Computer laufen.

   Ein Teil des Codes für diese Programme oder deren gesamter Code ist in den Hauptspeicher 16 für den Zugriff durch die CPU 14 geladen. Wann immer eines dieser Programme Daten zur Darstellung für den Benutzer hat, sendet es eine Anforderung an das Betriebssystem 36 des Computers, mit welcher ein Fenster für die Darstellung der Daten angefordert wird. Diese Anforderung wird einem Fenster-Manager 38 zugeführt, welcher Instruktionen an einen Anzeige-Treiber 40 sendet, um die Struktur des Fensters auf der Anzeige 28 zu erzeugen, und er informiert das Anwendungsprogramm über den Bereich, innerhalb welchem dessen Daten dargestellt werden können.

  

[0057]    Wenn alle drei Anwendungsprogramme gleichzeitig auf dem Computer laufen, können drei verschiedene Fenster dargestellt werden, welche jeweils den drei Programmen zugeordnet sind. Zu einer jeden gegebenen Zeit ist eines dieser Fenster das aktive Fenster, nämlich das Fenster, welches zu der gegenwärtigen Aufgabe gehört und Benutzereingaben von der Tastatur 24 und der Cursorsteuervorrichtung erhält. Wenn der Benutzer in eines der anderen Fenster klickt, um eine neue Aufgabe auszuführen, wird dieses Fenster das aktive Fenster und das vormals aktive Fenster wird inaktiv.

   Der Fenster-Manager reagiert auf die Betätigung der Cursorsteuervorrichtung 26, um die Anzeigen des aktiven Fensters und der nicht aktiven Fenster entsprechend zu ändern, beispielsweise indem Merkmale der inaktiven Fenster in ihrer Intensität reduziert bzw. gedämpft bzw. gedimmt werden, oder Farbe aus der Darstellung von deren Komponenten entfernt wird, und indem das aktive Fenster in den Vordergrund der Anzeige gebracht wird. Zudem reagiert der Fenster-Manager auf andere Benutzeraktionen, um Daten für jedes Fenster zu speichern. Wenn somit der Benutzer eine Position des Fensters ändert oder dessen Grösse ändert, so wird diese Information gespeichert, so dass, wenn das Fenster das nächste Mal geöffnet wird, dieses mit der Grösse und an der Position erscheint, wie diese zuletzt durch den Benutzer eingestellt wurden.

  

[0058]    Es ist auch möglich, mehrere Fenster unter der Steuerung eines einzigen Anwendungsprogramms zu öffnen. Wenn zum Beispiel der Benutzer mit mehreren Dokumenten in einem Textverarbeitungsprogramm arbeitet, wird jedes Dokument in einem separaten Fenster angezeigt. Ferner können verschiedene Teile des gleichen Dokuments in jeweils verschiedenen Fenstern dargestellt werden. Somit ist es denkbar, dass eine erhebliche Anzahl von Fenstern auf der Anzeige 28 des Computers geöffnet sein kann, insbesondere bei Benutzern, welche eine Anzahl von verschiedenen Aufgaben auf ihrem Computer bearbeiten. Fig. 3 zeigt ein Beispiel einer Computeranzeige, welche eine Mehrzahl von Fenstern enthält, welche sich als ein Ergebnis von all den Aufgaben akkumulieren können, welche sich aus all den Aufgaben ergeben, welche während eines typischen Arbeitstages mit dem Computer ausgeführt werden.

  

[0059]    Während die Möglichkeit, auf einer Computeranzeige eine Mehrzahl von Fenstern gleichzeitig offen zu halten, vorteilhaft ist, da sie dem Benutzer die Möglichkeit gibt, auf Informationen, welche einer Mehrzahl von verschiedenen Aufgaben zugeordnet sind, zuzugreifen, so kann doch in einigen Situationen eine solche Anzeige die Arbeit des Benutzers beeinträchtigen. Beispielsweise können viele geöffnete Fenster die Fähigkeit des Benutzers beeinträchtigen, zu einem bestimmten gewünschten Teil der Information zu navigieren. Insbesondere werden die Fenster in einer geschichteten, einander überlagernden Umgebung dargestellt. Jedesmal wenn ein neues Fenster geöffnet wird, erscheint dieses im Vordergrund der Anzeige und kann mit anderen Fenstern überlappen oder diese vollständig abdecken.

   Entsprechend wird, wenn auf ein früher geöffnetes Fenster zugegriffen und dieses aktiv gemacht wird, dieses in den Vordergrund gebracht, und es kann ebenfalls andere Fenster überlagern oder diese verdecken. Hierdurch wird das Fenster, auf welches am längsten nicht mehr zugegriffen wurde, hinter allen anderen Fenstern zu liegen kommen, was es schwierig macht, dieses aufzufinden.

  

[0060]    Selbstverständlich kann der Benutzer ein gewünschtes Fenster lokalisieren, indem er alle anderen Fenster schliesst, welche über diesem dargestellt werden. Jedoch kann eine solche Massnahme der Absicht des Benutzers zuwider laufen, da das Schliessen des Fensters die Aufgabe beendet, welche der Information in diesem Fenster zugeordnet ist. Wenn diese Aufgabe noch nicht beendet ist, wird der Benutzer das Fenster nicht schliessen wollen. Als eine Alternative kann der Benutzer alle diese Fenster manuell bewegen oder in einen bestimmten Aufnahmebereich, wie etwa ein Dock bzw. eine Leiste oder dergleichen minimieren, oder er kann alle laufende Anwendungen verdecken. Jedoch führt eine jede dieser Aktionen zu einer Veränderung der Arbeits-Umgebung, was nicht wünschenswert sein muss.

   Zudem wird eine weitere Bemühung des Benutzers notwendig sein, um die Umgebung wieder in ihren ursprünglichen Zustand zu bringen.

  

[0061]    Gemäss der vorliegenden Erfindung wird diesen Problemen, welche im Zusammenhang mit einer Überzahl an Fenstern stehen, dadurch begegnet, dass bei einer Benutzerschnittstelle wahlweise eine "geebnete", das heisst virtuell zweidimensionale Anzeige der zu betrachtenden geöffneten Fenster bereitgestellt wird. Im Allgemeinen wird dieses Einebnen dadurch erreicht, dass jedes zu betrachtende geöffnete Fenster in einem jeweiligen Bereich der gesamten Anzeigefläche positioniert wird, wobei dies zusammen mit einer gegebenenfalls notwendigen Änderung der Grösse des Fensters erfolgt, um ein Überlappen der Fenster zu vermeiden. Als ein Ergebnis ist die Gesamtheit jedes Fensters von Interesse für den Benutzer sichtbar. Aus dieser Ansicht kann der Benutzer jedes gewünschte Fenster, welches auf der Anzeige geöffnet ist, einfach lokalisieren.

   Nachdem die Auswahl stattgefunden hat, wird die Anzeige in die normale Betrachtungsweise zurückgebracht, wobei das ausgewählte Fenster im Vordergrund erscheint und alle anderen Fenster an ihren vorherigen Positionen erscheinen. Die Wirkung, welche mit der vorliegenden Erfindung erreicht wird, ist in der Folge von in den Fig. 3bis 8 dargestellten Bildschirmschnappschüssen bzw. Screen-Shots gezeigt. Wie vorangehend bereits erläutert, zeigt Fig. 3 ein Beispiel einer typischen Computeranzeige, welche eine Mehrzahl von offenen Fenstern 42 bis 50 enthält. Das Fenster 42 ist das aktive Fenster, und es erscheint deshalb im Vordergrund. Da die Anzeige eine geschichtete Ansicht der Fenster zeigt, scheint jedes der anderen Fenster 44 bis 50 hinter einem oder mehreren der anderen Fenster angeordnet zu sein. Somit ist ein Attribut eines jeden Fensters dessen Schicht bzw.

   Tiefe im Bezug zu den anderen Fenstern. Nach der Beendigung einer dem Fenster 42 zugeordneten Aufgabe, kann der Benutzer wünschen, auf das Fenster 46 zuzugreifen. Aus Gründen der einfacheren Erläuterung sind äussere Kanten des Fensters 46 hinter dem Fenster 44 sichtbar. Es kann jedoch auch sein, dass das Fenster 44 grösser ist als das Fenster 46, so dass das Fenster 46 von dem Benutzer gar nicht gesehen werden kann.

  

[0062]    Gemäss der vorliegenden Erfindung wird die Fähigkeit des Benutzers, auf das Fenster 46 oder jedes andere teilweise oder vollständig abgedeckte Fenster zuzugreifen dadurch verbessert, dass die Fenster zeitweise umgeordnet werden, und zwar in eine virtuell nicht geschichtete oder "eingeebnete" Anordnung. Um einen solchen Betrachtungsmodus auszulösen, kann der Benutzer bei einer Ausführungsform der Erfindung ein geeignetes Steuerelement, wie zum Beispiel eine vorbestimmte Taste oder Kombination von Tasten auf der Tastatur, einen Steuerknopf in einem der Fenster, eine Auswahl aus einem Menü 52 oder dergleichen, betätigen. Als eine Alternative kann der Benutzer einen gesprochenen Befehl abgeben.

   Bei anderen Ausführungsformen kann der Auslöser zum Eintritt in den alternativen Betrachtungsmodus von einer anderen Quelle als dem Benutzer kommen, beispielsweise kann ein Programm diesen Modus über eine Anwendungsprogramm-Schnittstelle ("application programming interface, API") anfordern. Beispielsweise kann das Betriebssystem, ein Anwendungsprogramm oder eine andere Komponente des Computersystems den alternativen Betrachtungsmodus in Antwort auf eine bestimmte Bedingung initiieren.

  

[0063]    Wenn dieser Betrachtungsmodus angefordert wird, gehen die Fenster von der anfänglichen geschichteten Darstellung der Fig. 3 in eine geebnete bzw. Einzelschichtdarstellung der Fig. 5über. Fig. 4stellt einen Zwischenzustand dar, während die Fenster sich von der Mehrschichtdarstellung der Fig. 3 zu der virtuellen Einzelschichtdarstellung der Fig. 5bewegen. Es wird deutlich, dass die Fenster sich voneinander weg bewegen und deren Grösse abnimmt. Diese Bewegung findet vorzugsweise während einer wahrnehmbaren Zeitdauer statt, so dass der Benutzer den Übergang von der geschichteten Darstellung zu der geebneten Darstellung sichtbar wahrnehmen kann. In dem in Fig. 5gezeigten Endzustand nimmt jedes der Fenster seinen eigenen Platz innerhalb der Fläche der Anzeige ein, und zwar ohne Überlapp, das heisst die Orte der Fenster sind voneinander verschieden.

   Um diese Erscheinungsform zu erreichen, werden die Fenster umpositioniert und in ihrer Grösse reduziert, falls dies notwendig ist. Zudem wird der Desktopbereich 51 der Anzeige vorzugsweise abgedunkelt, um Symbole bzw. Icons und andere Hintergrundobjekte zu dimmen, und hierdurch die in diesem Modus betrachteten Fenster herauszuheben.

  

[0064]    Aus der virtuellen Einzelschichtdarstellung der Fig. 5 kann der Benutzer einfach ein gewünschtes Fenster oder ein Objekt in einem der Fenster auswählen. Beispielsweise kann der Benutzer eine Datei in dem Fenster 42 auswählen und diese in einen Ordner in dem zuvor abgedeckten Fenster 46 ziehen. Um die Identität jedes Fensters insbesondere dann zu verbessern, wenn deren Grösse deutlich reduziert ist, kann eine Textbezeichnung in das Fenster eingezeichnet werden, über welchem der Cursor bzw. der Zeiger positioniert ist. Diese Bezeichnung (in der Figur nicht gezeigt) kann den Titel oder den Namen des Fensters anzeigen.

  

[0065]    In dem dargestellten Beispiel hat der Benutzer dann das Fenster 46 ausgewählt, welches in Fig. 6durch die Anordnung des Cursors und die Schattierung dargestellt ist. Nach der Durchführung der Auswahl kehren die Fenster in ihre ursprünglichen Grössen und Positionen auf der Grundlage der in dem Fenster-Manager 38 gehaltenen Daten zurück, wie dies mit den Fig. 7und 8dargestellt ist, um wieder die geschichtete Darstellung bzw. Ansicht zu zeigen.

   Die Rückkehr zu dieser Ansicht kann automatisch in Antwort auf die Auswahl eines Fensters erwirkt werden oder sie kann das Ergebnis einer bestätigenden Aktion auf Seiten des Benutzers sein, wie beispielsweise eine Umschaltaktion mit der Taste oder dem Knopf, welche benutzt wurden, um den Einzelschichtbetrachtungsmodus zu initiieren, oder durch Auswahl eines Kommandos aus einem Menü, durch Betätigen eines Steuerelements in der Benutzerschnittstelle usw. Bei Rückkehr zu der normalen geschichteten Darstellung bzw. Ansicht wurde das Tiefenattribut für das ausgewählte Fenster 46 in Folge seiner Auswahl durch den Benutzer geändert, so dass es nun im Vordergrund erscheint, was es dem Benutzer ermöglicht, auf dessen Inhalte einfach zuzugreifen.

  

[0066]    Die Erfindung nutzt die Tatsache, dass der Inhalt jedes Fensters typischerweise in einem Speicher gepuffert ist, welcher dem Anzeigetreiber 40 zugeordnet ist. Somit sind alle Pixeldaten für jedes Fenster verfügbar, um als Teile von überlappenden Fenstern dargestellt zu werden, wodurch es vermieden wird, Daten von den Anwendungen 34 anzufordern oder von den Anwendungen zu verlangen, den alternativen Betrachtungsmodus berücksichtigen zu müssen. Wenn jedoch die gesamten Fensterinhalte nicht gepuffert sind, sind die Prinzipien der Erfindung gleichwohl anwendbar. In diesem Fall können die Anwendungen aufgerufen werden, die Inhalte ihrer Fenster erneut darzustellen, sobald diese repositioniert wurden.

  

[0067]    Die Funktionalität der vorliegenden Erfindung kann in einer Anzahl von verschiedenen Umgebungen liegen. In dem Fall des in Fig. 2 schematisch dargestellten beispielhaften Computersystems kann sie in dem Fenster-Manager ausgeführt sein. In anderen Fällen kann sie in einem separaten Programm ausgeführt sein, welches Anwendungsfenster oder andere Schnittstellenelemente auslegt, beispielsweise in einem Plug-in-Modul. Sie kann auch in einem Anwendungsprogramm vorhanden sein.

  

[0068]    In einer bevorzugten Ausführungsform der Erfindung werden die neuen Positionen für die Fenster dann, wenn der Benutzer den Einzel-Schicht-Ansichtsmodus beispielsweise durch Drücken einer vorbestimmten Funktionstaste initiiert, im Hintergrund berechnet, während die Fenster an ihren ursprünglichen Positionen verbleiben. Sobald die neuen Positionen berechnet sind, bewegen sich die Fenster dann auf eine geglättete Weise von ihren ursprünglichen geschichteten Positionen zu den berechneten nichtgeschichteten Positionen. Ein Algorithmus zur Berechnung der neuen Positionen wird unter Bezugnahme auf ein in den Fig. 9 bis 13 dargestelltes erläuterndes Beispiel beschrieben. In diesem Beispiel überlappen drei Fenster A, B und C einander in dem normalen Ansichtsmodus, wie dies in Fig. 9gezeigt ist.

   Sobald der Benutzer eine Aktion ausführt, um den virtuellen Einzel-Schicht-Ansichtsmodus zu initiieren, liegt ein erster Schritt in der Verarbeitung darin, die Fläche zu definieren, in welcher die Fenster betrachtet werden sollen. Die gesamte Fläche der Anzeige ist durch das Rechteck 54 in Fig. 9 dargestellt. Gemäss einer Ausführungsform kann es akzeptabel sein, dass die Fenster diese gesamte Fläche einnehmen dürfen. In anderen Fällen kann es jedoch geeignet sein, die Fenster von bestimmten Bereichen der Anzeige fern zu halten. Beispielsweise kann es wünschenswert sein, den Menübalken 52 immer sichtbar zu halten, und es den Fenstern nicht zu erlauben, mit diesem zu überlappen. Auf ähnliche Weise könnte die Anzeige ein Dock bzw. einen Randbalken 56 zum Speichern von Steuerelementen, minimierten Fenstern oder dergleichen enthalten.

   Dieses Dock kann am unteren Rand der Anzeige erscheinen, wie dies in Fig. 9 dargestellt ist, oder es kann an den Seiten der Anzeige erscheinen, und es kann gewünscht sein, diese Komponente ebenfalls immer sichtbar zu halten. Unter Berücksichtigung dieser Überlegungen wird eine Grenze bestimmt, welche durch das Rechteck 58 dargestellt ist, um die Fläche zu definieren, innerhalb welcher sich Fenster bewegen können.

  

[0069]    Sobald die Grenze 58 definiert ist, wird eine Zielposition für jedes Fenster bestimmt. In einer Ausführungsform der Erfindung versucht der Algorithmus die Positionen der Fenster relativ zueinander beizubehalten, soweit dies möglich ist. In dieser Ausführung wird deshalb für ein jedes Paar von einander überlappenden Fenstern ein Vektor erstellt, welcher gewünschte Bewegungen der Fenster relativ zueinander identifiziert. In dem Beispiel der Fig. 9bezeichnet der Vektor VAC die Richtungen der Bewegung der Fenster A und C relativ zueinander. Dieser Vektor wird bestimmt, indem eine Linie zwischen den Mittelpunkten CA und Cc jedes der beiden Fenster gezeichnet wird. Auf ähnliche Weise werden Vektoren VABund VBC bestimmt, indem Linien durch die Mittelpunkte eines jeden Paars von einander überlappenden Fenstern gezeichnet werden.

  

[0070]    Für ein jedes Paar von Fenstern wird der Betrag des Überlapps sowohl in horizontaler wie auch in vertikaler Richtung bestimmt. In dem Beispiel der Fig. 9ist der horizontale Überlapp der Fenster A und B als [Delta]XAB bezeichnet, und der vertikale Überlapp ist [Delta]YAB. Entsprechend wird der Überlapp zwischen den Fenstern A und C als [Delta]XAC und [Delta]YAC, und der Überlapp zwischen den Fenstern B und C wird als [Delta]XBC und [Delta]YBC gemessen. Diese [Delta]-Werte repräsentieren Distanzen, über welche sich die jeweiligen Fenster voneinander weg bewegen müssen, um den Überlapp zu eliminieren. Die Distanzen können in Einheiten von beispielsweise Pixeln oder jeglicher anderer geeigneter Metrik gemessen werden.

  

[0071]    Bei einer Implementierung der Erfindung ist es bevorzugt, die Fenster entlang der Vektoren VAC, VABusw. zu bewegen, um hierdurch ihre relativen Positionen zueinander beizubehalten, soweit dies möglich ist. In Übereinstimmung mit diesem Ziel ist es ebenfalls wünschenswert, die Fenster um so geringe Beträge wie möglich zu bewegen, welche notwendig sind, um den Überlapp zu eliminieren. Aus Fig. 10 ist beispielsweise ersichtlich, dass zwei Fenster D und E in horizontaler Richtung eine beachtliche Grösse von Überlapp [Delta]XDE aufweisen, während sie in der vertikalen Richtung einen relativ kleinen Überlapp [Delta]YDE aufweisen. Beispielsweise kann [Delta]XDE 20 betragen, während [Delta]YDE 3 ist.

   Sobald die Fenster in vertikaler Richtung um wenigstens drei Pixel voneinander weg bewegt sind, ist eine weitere relative Bewegung zwischen diesen Fenstern nicht nötig, selbst wenn sie in horizontaler Richtung weiterhin "überlappen", wie dies in Fig. 11 gezeigt ist.

  

[0072]    Deshalb wird, als ein weiteres Merkmal der Erfindung, dann, wenn die Werte für [Delta]XDE und [Delta]YDE bestimmt sind, der kleinere Wert von diesen ausgewählt. Der Wert des anderen der beiden Parameter wird dann als eine Funktion des ausgewählten Werts und der Neigung des Vektors berechnet. Somit wird in dem oben angegebenen Beispiel, wo [Delta]XDE= 20 und [Delta]YDE = 3 ist, und unter der Annahme, dass die Neigung des Vektors VDE =1,5 ist, [Delta]YDEbei seinem errechneten Wert von 3 beibehalten, da es der kleinere der beiden Werte ist, und [Delta]XDEwird auf den angepassten Wert von 3/1,5 = 2 gesetzt.

  

[0073]    Diese ermittelten [Delta]-Werte werden dann zwischen den Fenstern in jedem Paar aufgeteilt. Unter erneuter Bezugnahme auf Fig. 9 sei angenommen, dass der angepasste Wert für [Delta]XAC = 12 Pixel ist. Gemäss einem Ansatz können die Werte zwischen den beiden Fenstern gleich aufgeteilt werden. In diesem Fall wird dem Fenster A ein Wert von [Delta]xA, C = -6 zugeordnet, was einer Bewegung um sechs Einheiten nach links entspricht, und dem Fenster C wird ein Wert von [Delta]xC, A = +6 zugeordnet. Gemäss einem anderen Ansatz wird der Betrag der Bewegung jedes Fensters gewichtet, und zwar in einer inversen Beziehung zu dessen Grösse, so dass ein grösseres Fenster sich weniger weit bewegt als ein kleineres Fenster.

   Wenn die Fläche des Fensters A dreimal grösser ist als die des Fensters C, so werden die Relativbewegungen den Fenstern mit einem Verhältnis von 1:3 zugeordnet. Somit wird dem Fenster A ein Wert von [Delta]xA, C = -3 zugeordnet, und dem Fenster C wird ein Wert [Delta]xC, A = +9 zugeordnet.

  

[0074]    Unter der Annahme, dass die überlappenden Fenster A und B in etwa die gleiche Fläche aufweisen, wird der [Delta]x-Wert zwischen diesen gleich gewichtet. Wenn [Delta]XAB = 30, wird dem Fenster A ein Wert von [Delta]xA, B= -15 zugeordnet, und dem Fenster B wird ein Wert von [Delta]xB, A = +15 zugeordnet.

  

[0075]    Alle der einem gegebenen Fenster zugeordneten [Delta]x-Werte werden dann algebraisch summiert, um einen Bewegungswert für dieses Fenster zu berechnen. In dem Fall, in dem in dem vorangegangenen Beispiel gewichtet wird, ist der Wert [Delta]xAder horizontalen Bewegung für das Fenster A deshalb -18. Auf die gleiche Weise wird der Wert für die vertikale Bewegung [Delta]YA bestimmt. In diesem Fall wird die Komponente dieses Wertes für den Überlapp zwischen den Fenstern A und B, das heisst [Delta]yA, B, positiv sein, während die dem Überlapp zwischen den Fenstern A und C zuzuordnende Komponente [Delta]yA, C negativ sein wird. Im Ergebnis wird die gesamte Grösse der vertikalen Bewegung wahrscheinlich relativ klein sein.

   Auf ähnliche Weise werden die Werte für die horizontalen und vertikalen Bewegungen [Delta]X und [Delta]Y für jedes der Fenster B und C entsprechend berechnet.

  

[0076]    Die berechneten Bewegungswerte werden dann dazu benutzt, Zielpositionen für die Fenster zu bestimmen. Die Bestimmung der Zielpositionen für die Fenster wird auf eine iterative Weise durchgeführt. Hierzu werden die berechneten [Delta]X- und [Delta]Y-Werte mit einem geeigneten Moderierungsfaktor multipliziert, und neue Positionen für die Fenster werden in Übereinstimmung mit diesen moderierten Grössen berechnet. Wenn beispielsweise der Moderierungsfaktor 0,5 ist, werden nach der ersten Iteration die drei Fenster sich um die halbe Distanz bewegt haben, welche notwendig ist, um den Überlapp zu eliminieren, wie dies in Fig. 12 dargestellt ist. Die vorangegangenen Schritte werden dann zyklisch wiederholt, bis der Überlapp zwischen den Fenstern eliminiert ist oder wenigstens im Wesentlichen eliminiert ist.

   Der Moderierungsfaktor kann für jede Iteration gleich sein, oder er kann variiert werden, um die Rate zu ändern, mit der sich die Fenster während des Vorgangs bewegen. Beispielsweise kann ein relativ grosser Moderierungsfaktor zu Beginn des Vorgangs eingesetzt werden, und er kann dann während späterer Iterationen verringert werden, so dass die effektive Fensterbewegung relativ schnell beginnt und dann abgebremst wird, wenn sie sich dem Endzustand annähert. Andererseits kann der Moderierungsfaktor von gross nach klein abnehmen, so dass die Fensterbewegung langsam beginnt und dann beschleunigt, wenn das Ausmass des Überlapps abzunehmen beginnt.

  

[0077]    Andere Bedingungen können auch herangezogen werden, um einen geeigneten Moderierungsfaktor zu bestimmen. Wenn es beispielsweise einen signifikanten Betrag an Überlapp zwischen den Fenstern gibt, wie dies durch den grössten der gemessenen [Delta]-Werte angezeigt wird, kann es bevorzugt sein, mit kleinen Bewegungsschritten zu beginnen, um hierdurch eine relative Positionierung beizubehalten. Ein kleiner Betrag von Überlapp würde andererseits den Einsatz eines grösseren Moderierungsfaktors erlauben, um die Anzahl von Iterationen zu reduzieren, welche notwendig sind, um die Zielpositionen zu definieren.

  

[0078]    Als eine weitere Bedingung kann die Anzahl der zu repositionierenden Fenster herangezogen werden. Wenn die Anzahl der Fenster klein ist, beispielsweise 2 oder 3 kann von Anfang an ein grösserer Moderierungsfaktor eingesetzt werden. Wenn umgekehrt die Anzahl der Fenster gross ist, kann ein kleinerer Moderierungsfaktor bevorzugt sein, um, insbesondere dann, wenn Wichtung eingesetzt wird, die Möglichkeit zu vermeiden, dass ein kleines Fenster über ein benachbartes Fenster "hüpft".

  

[0079]    Wenn die neuen Positionen für die Fenster berechnet sind, werden einige von diesen sich der Grenze 58 annähern. Unter Bezugnahme auf Fig. 13erstrecken sich nach einigen Iterationen die Fenster A und B über die horizontalen Dimensionen der Grenze 58 hinaus. Um die Ausnutzung der zur Verfügung stehenden Anzeigefläche zu maximieren, wird deshalb eine externe Kraft wahlweise zu den Bewegungsberechnungen hinzu addiert. Zu diesem Zweck wird ein umgrenzendes Rechteck 59 für alle Fenster bestimmt. Dieses umgrenzende Rechteck umgreift ebenfalls die Grenze 58. Wenn somit alle der Fenster innerhalb der Grenze 58 enthalten sind, fällt das umgrenzende Rechteck 59 mit der Grenze 58 zusammen.

   Wenn jedoch irgendeine der berechneten Positionen für die Fenster über die Grenze hinausreicht, wie dies in Fig. 13 gezeigt ist, fällt das umgrenzende Rechteck nicht mehr mit der Grenze zusammen.

  

[0080]    Während jeder Iteration wird das Aspektverhältnis des umgebenden Rechtecks 5 9 mit dem Aspektverhältnis der Grenze 58 verglichen. In dem Beispiel der Fig. 13kann die Grenze 58 ein Aspektverhältnis von 5:3 bzw. 1,67 aufweisen, während das umgebende Rechteck ein Aspektverhältnis von 6:3, das heisst 2 aufweist. Entsprechend wird ein horizontaler externer Kraftwert zu der Bewegung des Vektors für jedes Fenster addiert, welches sich über die Grenze 58 hinaus erstreckt. In dem Beispiel der Fig. 13 wird ein positiver Wert zu dem Bewegungsvektor für das Fenster A addiert, um dieses nach rechts zu drängen, und ein negativer Kraftwert wird zu dem Bewegungsvektor des Fensters B addiert. Die Grösse dieser Kraft kann eine Funktion der Differenz zwischen den Aspektverhältnissen der Grenze 58 und dem umgebenden Rechteck 59 sein.

  

[0081]    Der vorangehende Vorgang wird über eine ausreichende Anzahl von Iterationen durchgeführt, um Zielpositionen für jedes Fenster in dem geebneten Betrachtungsmodus zu berechnen. Die Zahl der Iterationen kann festgelegt sein oder sie kann in Abhängigkeit von verschiedenen Faktoren variieren. Beispielsweise kann der Vorgang beendet werden, wenn der Überlapp zwischen allen Fenstern eliminiert ist oder wenn er einen geeigneten minimalen Wert von beispielsweise weniger als 1% der Fensterflächen erreicht hat. Als eine weitere Bedingung kann es wünschenswert sein, den Vorgang hinsichtlich der Zeit zu begrenzen, so dass der Benutzer nicht zu lange zwischen der Eingabe des Kommandos für den geebneten Ansichtsmodus und dem Beginn der Fensterbewegung warten muss.

  

[0082]    Es ist möglich, dass die Fenster eine Patt-Position vor der letzten Iteration des Vorgangs erreichen. Beispielsweise kann ein Fenster während einer Iteration sich etwas nach links bewegen, um einen Überlapp mit einem zweiten Fenster zu reduzieren. Dies kann jedoch einen Überlapp mit einem dritten Fenster oder ein Hinausragen über die Grenze verursachen, in welchem Fall es sich in der nächsten Iteration nach rechts bewegt. In der Patt-Situation können die Fenster somit einfach an Ort und Stelle springen anstatt sich in die nichtüberlappenden Positionen zu bewegen. Um eine solche Situation zu erfassen, kann die Position jedes Fensters über eine geeignete Anzahl der zuletzt durchgeführten Iterationen, beispielsweise zehn Iterationen, gemittelt werden.

   Wenn sich ein solcher gleitender Mittelwert über aufeinander folgende Iterationen nicht ändert, können geeignete Schritte unternommen werden, um das Patt zu eliminieren. Beispielsweise kann die externe Kraft reduziert werden, um es den Fenstern zu erlauben, sich weiter nach ausserhalb der Grenze im Hinblick auf ein Auffinden optimaler Positionen zu bewegen.

  

[0083]    Wie in dem Beispiel der Fig. 9, 12 und 13 gezeigt ist, kann es nicht möglich sein, die Fenster A und B vollständig voneinander zu trennen und sie hierbei innerhalb der Grenze 58 zu halten, wenn sie ihre ursprüngliche Grössen beibehalten. Entsprechend werden die Grössen der Fenster in einem weiteren Schritt herunterskaliert, wenn dies nötig ist. Fig. 14 zeigt die Zielpositionen für die Fenster, nachdem die letzten Berechnungen gemacht wurden. Hier wird dann eine Bestimmung dahingehend durchgeführt, ob die Dimensionen des umgebenden Rechtecks 59 grösser sind als die der Grenze 58. Wenn dies so ist, werden die Grössen der Fenster um einen Betrag herunterskaliert, welcher dem Verhältnis der Dimensionen der beiden Rechtecke entspricht, wie dies in Fig. 15gezeigt ist.

   Obwohl nur ein Fenster über die Grenze hinausragen könnte, ist es bevorzugt, den Skalierungsfaktor auf alle Fenster anzuwenden, so dass diese ihre relativen Grössen in dem Einzel-Schicht-Modus beibehalten. Zudem sollte die Skalierung gleichmässig auf sowohl die horizontale Richtung als auch die vertikale Richtung angewendet werden, so dass die Konfigurationen, wie beispielsweise die Aspektverhältnisse, der Fenster beibehalten werden.

  

[0084]    Sobald die endgültigen Ziele und der Skalierungsfaktor bestimmt sind, werden die Fenster dann hinsichtlich Position und gegebenenfalls Grösse geändert. Diese Vorgänge finden vorzugsweise als eine Animation statt, in welcher die Fenster von ihren ursprünglichen Positionen zu den Zielpositionen und Grössen während einer wahrnehmbaren Zeitdauer übergehen. Beispielsweise kann die Bewegung und Grössenänderung auf lineare Weise während einer Zeitdauer von zwei bis fünf Sekunden stattfinden. Somit ist der iterative Vorgang für den Benutzer transparent, und nur ein glatter Übergang von der ursprünglichen Position zu der alternativen Ansicht wird dargestellt.

  

[0085]    Das Flussdiagramm der Fig. 16fasst eine Implementierung der allgemeinen Prozedur zusammen, welche mit dem vorangehend erläuterten Vorgang ausgeführt wird. In Antwort auf den Empfang eines Kommandos zum Ändern der Anzeige in den geebneten Ansichtsmodus in einem Schritt 60 wird die Grenze 58 für die Anzeigefläche in einem Schritt 62 bestimmt. Diese Grenze kann während des Schrittes berechnet werden, oder sie kann vordefiniert sein, in welchem Fall sie während des Schritts 62 aus dem Speicher geholt wird. Hiernach wird eine Liste von Überlapp-Deltas für jedes Paar von überlappenden Fenstern in einem Schritt 64 erzeugt, und es wird in einem Schritt 65 eine Bestimmung dahingehend durchgeführt, ob alle Deltas einen Wert von Null aufweisen, das heisst es überlappende Fenster nicht gibt, oder ob diese einen geeigneten kleinen Wert aufweisen.

   Wenn dies so ist, kann der Repositionierungsvorgang an diesem Punkt aufhören. Wenn wenigstens zwei Fenster überlappen, wird der Bewegungsvektor für jedes Paar von überlappenden Fenstern in einem Schritt 66 bestimmt. Das kleinere der beiden Deltas für jedes Paar von Fenstern wird in einem Schritt 68 ausgewählt, und ein angepasster Wert wird für das andere Delta in einem Schritt 70 berechnet, und zwar in Übereinstimmung mit dem ermittelten Vektor. In einem Schritt 72 werden dann die sich ergebenden Deltas zwischen den Fenstern jedes Paares aufgeteilt, und zwar als vorzeichenbehaftete Werte, um eine links/rechts- oder oben/unten-Bewegung zu bezeichnen. In einem Schritt 74 werden die Aspektverhältnisse der Grenze 58 und des umgebenden Rechtecks 59 miteinander verglichen.

   Wenn diese nicht gleich sind, wird in einem Schritt 76 ein externer Kraftwert für die Fenster berechnet, welche über die Grenze hinausragen. Die gleitenden Mittelwerte für diese Fenster werden dann in einem Schritt 78 überprüft, um festzustellen, ob sie sich ändern. Wenn dies nicht der Fall ist, wird in einem Schritt 80 die externe Kraft reduziert oder abgeschaltet.

  

[0086]    Ein zusammengesetzter Deltawert wird dann in einem Schritt 82 für jedes Fenster berechnet, und diese Werte werden in Übereinstimmung mit dem Moderierungsfaktor in Schritt 84 skaliert, um den Betrag und die Richtung der Bewegung für jedes Fenster zu bestimmen.

  

[0087]    Die Bewegungsvektoren werden auf die gegenwärtigen Fensterpositionen in einem Schritt 68 angewendet, um neue Zielpositionen zu bestimmen, und der Prozess kehrt dann zu Schritt 64 zurück, wo der Betrag des Überlapps der Fenster an den neuen Positionen für die nächste Iteration gemessen wird. Der Prozess führt dann als Schleife durch jeden der Schritte 64 bis 86, und neue Zielpositionen werden berechnet, bis in dem Schritt 65 festgestellt wird, dass es keine überlappenden Fenster gibt oder eine andere Endbedingung erreicht ist. Es sind nun die Zielpositionen bestimmt.

  

[0088]    Sobald die Zielpositionen auf diese Weise bestimmt sind, wird die Grösse des umgebenden Rechtecks 59 mit der Grenze 58 in einem Schritt 88 verglichen. Wenn eine Dimension des umgebenden Rechtecks die der Grenze übersteigt, wird der Übersteigungsbetrag bestimmt und dazu verwendet, in einem Schritt 90 einen Skalierungsfaktor zu bestimmen. Dann werden in einem Schritt 92 die Fenster zu den Zielpositionen auf der Anzeige bewegt und, wenn dies notwendig ist, in Übereinstimmung mit dem Skalierungsfaktor hinsichtlich ihrer Grösse geändert.

  

[0089]    Die ursprünglichen Positionen und Grössen der Fenster werden jedoch durch den Fenster-Manager 38 beibehalten. Wenn nachfolgend der Benutzer den Befehl gibt, zu der geschichteten Ansicht zurückzukehren, bewegen sich die Fenster zu ihren ursprünglichen Positionen und Grössen, und dies wiederum bevorzugt innerhalb einer wahrnehmbaren Zeitdauer. Wenn der Benutzer ein bestimmtes Fenster ausgewählt hat, während diese in der geebneten Ansicht waren, ändert der Fenster-Manager die relativen Tiefenwerte der Fenster entsprechend, so dass das ausgewählte Fenster in dem Vordergrund erscheint, wenn diese in die ursprünglichen Positionen zurückkehren. Wenn das ausgewählte Fenster ein Mitglied einer logischen Gruppe ist, kann es bevorzugt sein, alle Fenster dieser Gruppe in den Vordergrund zu bringen.

   Beispielsweise kann eine Fenstergruppe alle Fenster umfassen, welche einer Anwendung zugeordnet sind. Eine weitere Art von Gruppe kann ein Primärfenster und jegliches Sekundärfenster sein, wie etwa eine Werkzeugpalette, ein Dialogfenster usw., welche dem Primärfenster zugeordnet sind.

  

[0090]    Innerhalb dieses allgemeinen Rahmens sind eine Vielzahl von Variationen möglich. Beispielsweise kann es wünschenswert sein, zu jedem Fenster eine Grenze hinzuzufügen, um hierdurch zwischen diesen eine Lücke zu erhalten, wenn sie repositioniert werden. Beispielsweise kann, wie in Fig. 17 dargestellt, ein Rand 94 aus einer geeigneten Anzahl von Pixeln zu der Kante jedes Fensters 96 addiert werden. Hierbei ist es bevorzugt, verrundete Ecken der Ränder 94 bereitzustellen, um es den Fenstern 96 zu ermöglichen, diagonal aneinander vorbeizugleiten. Der Rand kann unsichtbar sein, oder er kann für den Benutzer dargestellt werden, um die Erscheinung eines Hofes (Halo) um jedes Fenster bereitzustellen.

  

[0091]    Als eine weitere Abwandlung kann es hilfreich sein, zu versuchen, Fenster der gleichen Anwendung zusammenzuhalten, um beispielsweise Herausschneide-und-Einfüge (cut and past) Operationen zu erleichtern. Um ein solches Ergebnis zu ermöglichen, kann ein "Anziehungsfaktor" für solche Fenster berechnet werden. Beispielsweise kann ein Vektor zwischen jedem Paar von Fenstern erstellt werden, welche zu der gleichen Anwendung gehören, und ein Anziehungswert kann berechnet werden, welcher dazu führt, dass diese sich entlang des Vektors aufeinander zu bewegen. Dieser Wert kann eine Funktion des Abstandes zwischen den Fenstern sein, beispielsweise ein Zehntel des Abstands zwischen deren Mittelpunkten. Er wird in die algebraische Addition der [Delta]X- und [Delta]Y-Werte der Fenster einbezogen, um deren zusammengesetzte Bewegungswerte zu berechnen.

  

[0092]    In dem Beispiel der Fig. 3bis 8 werden alle geöffneten Fenster auf der Anzeige repositioniert, um sichtbar und vollständig zugänglich zu sein, und zwar in Antwort auf den Befehl, welcher den geebneten Ansichtsmodus initiiert. In Abwandlungen dieser Ausführungsform können zusätzliche Befehle enthalten sein, um eine Untermenge der geöffneten Fenster für den Benutzer darzustellen. Beispielsweise kann die Betätigung einer ersten Funktionstaste dazu führen, dass sämtliche der geöffneten Fenster repositioniert werden, wie dies in den Fig. 3bis 8 gezeigt ist, während die Betätigung einer zweiten Funktionstaste dazu führen kann, dass nur die Fenster, welche der aktiven Anwendung zugeordnet sind, in den Vordergrund gebracht und repositioniert werden.

   In einem solchen Fall können die Fenster, welche inaktiven Anwendungen zugeordnet sind, in ihren ursprünglichen Positionen verbleiben, wobei sie gedimmt werden können, während die aktiven Fenster repositioniert werden.

  

[0093]    Eine dritte Funktionstaste kann einem Kommando zugeordnet werden, welches einen "Zeige Desktop"-Ansichtsmodus initiiert. In einer Ausführungsform dieses Modus' scheinen alle Fenster aus der Anzeige herauszugleiten, so dass der Benutzer auf die Symbole bzw. Icons auf dem Desktop zugreifen kann. Fig. 18 zeigt zum Beispiel die Fenster, wie sie sich aus der Anzeige herausbewegen, so dass der Desktop und dessen Symbole bzw. Icons sichtbar werden. Um dies zu erreichen, wird die Grenze 58 wie ein stationäres Fenster behandelt. Der vorangehend erläuterte Algorithmus wird dann ausgeführt, um die anderen Fenster zu repositionieren, so dass ein Überlapp mit dem stationären Fenster eliminiert wird, was dazu führt, dass sie aus der Anzeigefläche herausbewegt werden.

  

[0094]    Der "Zeige Desktop"-Ansichtsmodus erleichtert die Wechselwirkung sowohl zwischen Objekten auf dem Desktop als auch zwischen Objekten auf dem Desktop und geöffneten Fenstern. Zur Erläuterung zeigt Fig. 19aschematisch eine Situation, in welcher eine Anzahl von überlappenden Fenstern F bis K Desktopsymbole 100 verdecken. Wenn der Benutzer wünscht, auf eines dieser Symbole bzw. Icons zuzugreifen, wird der "Zeige Desktop"-Ansichtsmodus initiiert, beispielsweise durch drücken und gedrückt halten einer vorbestimmten Taste oder Kombination von Tasten. Als Folge davon bewegen sich die Fenster nach ausserhalb der Grenze 58 und somit nach ausserhalb des Betrachtungsbereichs, wie dies in Fig. 19b durch gestrichelte Umrisse dargestellt ist.

   In diesem Zustand kann der Benutzer die Symbole 100 auf dem Desktop betrachten, ein gewünschtes aus diesen, beispielsweise 100a, auswählen, und dieses zu jedem gewünschten Ort auf dem Desktop oder auf jedes andere Symbol ziehen. Wenn die Taste freigegeben wird, kehren die Fenster an ihre ursprünglichen Positionen innerhalb des Blickfelds, das heisst die in Fig. 19agezeigten Positionen, zurück, wobei die Symbole bzw. Icons wieder verdeckt sind.

  

[0095]    In einer bevorzugten Ausführungsform der Erfindung kann der Benutzer den "Zeige Desktop" Betrachtungsmodus einsetzen, um Information zwischen Fenstern und verdeckten Bereichen des Desktop zu übertragen. Wenn der Benutzer, unter erneuter Bezugnahme auf Fig. 19b, den "Zeige Desktop" Betrachtungsmodus verlässt, während er das Symbol bzw. Icon 100a zieht, beispielsweise durch Freigabe der dritten Funktionstaste, bleibt das gezogene Symbol bzw. Icon oberhalb der Fenster sichtbar, wie dies in Fig. 19c gezeigt ist. In diesem Zusammenhang bedeutet der Begriff "ziehen" ("drag") nicht notwendigerweise, dass sich das Symbol bewegt, während die Fenster an ihre ursprüngliche Positionen zurückkehren.

   Vielmehr muss der Benutzer nur weiterhin die Maustaste gedrückt halten oder eine ähnliche Aktion ausführen, welche die Auswahl des Symbols beibehält, während der "Zeige Desktop" Betrachtungsmodus verlassen wird. Sobald die Fenster an ihre ursprünglichen Positionen zurückgekehrt sind, kann der Benutzer das Symbol weiterhin auf jedes gewünschte Fenster ziehen, wie dies in Fig. 19d gezeigt ist, und es in dem Inhalt dieses Fensters ablegen ("drop"). Während das Ziehen eines einzigen Symbols bzw. Icons in dem dargestellten Beispiel gezeigt ist, so ist es möglich, dass mehrere Symbole bzw. Icons auf dem Desktop ausgewählt und als eine Gruppe auf ein Fenster gezogen werden.

  

[0096]    Umgekehrt kann der Benutzer ein Objekt 100b, welches in einem geöffneten Fenster enthalten ist, auswählen und, während er in dem normalen Betrachtungsmodus ist, beginnen, dieses Objekt zu ziehen, wie dies in Fig. 20agezeigt ist. Durch Drücken der Taste oder Ausführen einer geeigneten Massnahme zur Einleitung des "Zeige Desktop" Ansichtsmodus und fortgesetztes Ziehen des Objekts, verschwinden die geöffneten Fenster aus der Ansicht, währen das ausgewählte Objekt 100b sichtbar bleibt, wie dies in Fig. 20b dargestellt ist. Der Benutzer kann dann das Objekt auf einem Symbol bzw. Icon 100c auf dem Desktop, wie zum Beispiel einer Festplatte, ablegen, welches zuvor durch die Fenster verdeckt war, wie dies in Fig. 20c gezeigt ist. Daraufhin kehren die Fenster an ihre normalen Positionen zurück, wie dies in Fig. 20dgezeigt ist.

  

[0097]    Somit ermöglicht es der "Zeige Desktop" Betrachtungsmodus dem Benutzer, geöffnete Fenster zeitweise aus der Ansicht zu entfernen, um einen Zugriff auf Objekte des Desktops zu ermöglichen, welche durch diese Fenster verdeckt sind, und sodann die Fenster in ihre ursprünglichen Positionen zurückkehren zu lassen. Diese Operation wird einfach ermöglicht, ohne die Fenster repositionieren, hinsichtlich ihrer Grösse ändern oder minimieren zu müssen. Die Wechselwirkung zwischen Objekten auf dem Desktop und den Inhalten der Fenster kann somit, in anderen Worten, erreicht werden, ohne die Fensterumgebung zu stören.

  

[0098]    Alternative Techniken zum Entfernen der Fenster können eingesetzt werden, um den Desktop freizulegen. Anstatt die Fenster aus dem Bildschirm herausgleiten zu lassen, kann beispielsweise die Betätigung der dritten Funktionstaste dazu führen, dass alle Fenster sofort verborgen werden oder dass sie langsam aus der Darstellung ausgeblendet werden, während die Taste gedrückt wird. Auf ähnliche Weise können verschiedene Arten von dreidimensionalen Animationen verwendet werden, wie etwa eine virtuelle Drehung des gesamten Bildschirms um eine Achse, was dazu führt, dass die gesamte Ansicht der Fenster aus der Ansicht herausgedreht wird, während die Darstellung des Desktops in die Ansicht hineingedreht wird.

  

[0099]    Anstatt die Fenster in dem "Zeige Desktop"-Modus vollständig aus der Ansicht zu entfernen, kann es bevorzugt sein, dass eine Kante jedes Fensters an dem Rand der Anzeige sichtbar bleibt oder dass die Fenster dargestellt bleiben, beispielsweise mittels dargestellter Griffleisten oder dargestellter anderer Elemente, wie etwa Schubkästen, entlang des Randes der Anzeige. Solange der "Zeige Desktop"-Modus einen zeitweisen Ansichtsmodus bereitstellt, in dem die Fenster die Objekte bzw. Icons 100 nicht bedecken, wird die Möglichkeit der Wechselwirkung zwischen den Fenstern und den Objekten auf dem Desktop erleichtert.

  

[0100]    Fig. 21 zeigt ein Beispiel dieses Konzepts. Wenn der Benutzer die geeignete Aktion ausführt, um in den "Zeige Desktop" Modus zu gehen, wird ein durchsichtiger Bildschirmrand 102 eingeblendet, während die Fenster sich an den Rand der Anzeige bewegen. Die Fenster bewegen sich nicht vollständig aus der Anzeige heraus. Vielmehr verbleibt ein Teil 104 jedes Fensters unter dem Rand 102 sichtbar, was dem Benutzer bestätigt, dass die Fenster nicht verschwunden sind. Dies kann beispielsweise dadurch erreicht werden, dass der Rand 58 so definiert wird, dass er mit dem Inneren des Rands 102 zusammenfällt. Als eine Alternative zu jedem anderen Mechanismus zur Rückkehr in die normale Ansicht oder in Ergänzung hierzu kann der Benutzer auf die Fläche des Rands 104 klicken oder ein Objekt, wie etwa ein Symbol bzw.

   Icon auf den Rand ziehen, was dazu führt, dass die Fenster in ihre ursprünglichen Positionen zurückkehren.

  

[0101]    In den beschriebenen Beispielen betrifft der "Zeige Desktop" Betrachtungsmodus die gesamte Fläche der Anzeige. In einigen Fällen kann es bevorzugt sein, lediglich diejenigen Fenster zu verlagern, welche einen vorbestimmten Teil der Anzeige bedecken. Wenn der Benutzer beispielsweise interessierende Symbole bzw. Icons typischerweise in einem bestimmten Bereich, beispielsweise dem oberen linken Quadranten oder entlang der rechten Kante gruppiert, dann ist es nicht notwendig, Fenster zu entfernen, welche in anderen Bereichen erscheinen. In diesem Fall kann der "Zeige Desktop" Betrachtungsmodus so konfiguriert werden, dass lediglich die Fenster verlagert werden, welche in einem bezeichneten Teil der Anzeige erscheinen.

   Dies kann beispielsweise dadurch erreicht werden, dass das begrenzende Rechteck 58 so dimensioniert wird, dass es nur den interessierenden Bereich und nicht den grössten oder gesamten Bereich der Anzeigefläche abdeckt.

  

[0102]    Vorangehend wurden Funktionstasten als Mechanismus beschrieben, um in die verschiedenen Anzeigemoden überzugehen. Es können jedoch eine Anzahl anderer Ansätze eingesetzt werden. Fig. 22 zeigt ein Beispiel einer Vorzugsauswahltafel bzw. einer Steuertafel, mit welcher der Benutzer geeignete Mechanismen auswählen kann.

  

[0103]    Die Bedeutungen der Textfelder in Fig. 22sind wie folgt: "Active Screen Corners" bedeutet "Aktive Bildschirmecken"; "All Windows" bedeutet "Alle Fenster"; "Application Windows" bedeutet "Anwendungsfenster"; "Start Screen Saver" bedeutet "Starte Bildschirmschoner"; "Disable Screen Saver" bedeutet "Schalte Bildschirmschoner ab"; "Keyboard and Mouse" bedeutet "Tastatur und Maus"; "Right Mouse Button" bedeutet "Rechte Maustaste"; "Left Control" bedeutet "Links Steuerung"; "For more choices press Shift, Control, Option or Command Keys while menu is open." bedeutet "Für weitere Auswahlmöglichkeiten, drücke Umschalten, Steuerung, Option oder Befehlstasten während das Menü offen ist."

  

[0104]    Wie in dem unteren Teil der Tafel gezeigt ist, hat der Benutzer die rechte Maustaste ausgewählt, um den "Alle Fenster"-Modus auszuwählen, er hat die linke Steuerungstaste auf der Tastatur ausgewählt, um den "Anwendung Fenster" Modus auszuwählen, und er hat die F10-Funktionstaste ausgewählt, um den "Zeige Desktop"-Modus auszuwählen.

  

[0105]    Zusätzlich zu den Tasten und Mausknöpfen kann der Benutzer aktive Bildschirmecken dazu bestimmen, die Betrachtungsmoden auszulösen. Wenn der Benutzer während des Betriebs den Zeiger in einer der bestimmten Ecken des Bildschirms positioniert, wird der ausgewählte Betrachtungsmodus initiiert. In dem dargestellten Beispiel wurde die obere linke Ecke des Bildschirms für den "Alle Fenster"-Modus ausgewählt, und die obere rechte Ecke wurde für den "Anwendung Fenster"-Modus bestimmt. Ein Menü 106 der zur Verfügung stehenden Auswahlmöglichkeiten ist für die untere rechte Ecke gezeigt. Aus diesem Menü kann der Benutzer den "Desktop" Modus oder eine andere Art von Funktionalität bestimmen. Ein besonderer Vorteil für die Verwendung von aktiven Bildschirmecken liegt darin, dass, wenn der Benutzer versucht, ein Objekt, wie etwa ein Symbol bzw.

   Icon, auf ein verdecktes Fenster zu ziehen, die Anzeige durch Ziehen des Objekts zu der aktiven Ecke der Anzeige automatisch in den Einzel-Schicht-Modus schalten wird, so dass das verdeckte Fenster erscheinen wird und das Symbol bzw. Icon darauf abgelegt werden kann. Durch diesen Ansatz muss sich der Benutzer während der Ziehen-und-Ablege-Operation ("drag and drop Operation") nur auf eine Vorrichtung konzentrieren, nämlich die Maus oder eine andere Zeigersteuervorrichtung, und er muss diese lediglich auf kontinuierliche natürliche Weise bewegen. Der Benutzer muss den Vorgang nicht unterbrechen, um etwa ein anderes Element, wie etwa eine Taste auf der Tastatur zu aktivieren.

  

[0106]    Vorzugsweise kann der Benutzer zwischen verschiedenen Arten von Einzel-Schicht-Moden auswählen. Beispielsweise kann der Benutzer, während er in dem "Anwendung Fenster"-Modus ist, die Anzeige in den "Alle Fenster"-Modus umschalten, indem er eine geeignete Taste drückt oder den Zeiger zu der aktiven Ecke des Bildschirms bewegt. Wenn dies der Fall ist, werden die Fenster, welche in den Hintergrund gedimmt sind, auf ihre normalen Helligkeitswerte zurückgestellt, und alle Fenster werden in Übereinstimmung mit der vorangehenden Beschreibung repositioniert. In diesem Fall werden die Anwendungsfenster, welche bereits im Vordergrund sind, ausgehend von ihren gegenwärtigen Positionen in dem "Anwendung Fenster"-Modus herausbewegt, anstatt sie in ihre ursprünglichen Positionen zurückzuführen, welche sie eingenommen hatten bevor dieser Modus initiiert wurde.

   Entsprechend werden die Fenster, wenn der Benutzer den Desktopmodus aus einem der anderen Einzel-Schicht-Moden auswählt, ausgehend von ihren gegenwärtigen Positionen in diesem anderen Modus sich aus dem Bildschirm herausbewegen.

  

[0107]    Während des "Anwendung Fenster"-Modus kann der Benutzer zwischen den verschiedenen Anwendungen umschalten, welche gerade laufen. Fig. 23a erläutert ein Beispiel einer Anzeige, welche eine Anzahl von geöffneten Fenstern enthält, welche verschiedenen Anwendungen zugeordnet sind. Die mit "A" bezeichneten Fenster sind einer Anwendung zugeordnet, diejenigen welche mit "B" bezeichnet sind, sind einer zweiten Anwendung zugeordnet, und die, welche mit "C" bezeichnet sind, gehören zu einer dritten Anwendung.

   Durch Drücken der zweiten Funktionstaste oder durch Aktivieren eines anderen Steuerelements, welches den "Anwendung Fenster"-Modus aktiviert, werden die Fenster, welcher der im Vordergrund befindlichen Anwendung zugeordnet sind, in diesem Fall der Anwendung "A", repositioniert und gegebenenfalls hinsichtlich ihrer Grösse geändert, um sie in einer Einzel-Schicht-Ansicht darzustellen, wie dies in Fig. 23b gezeigt ist.

  

[0108]    Die den anderen Anwendungen zugeordneten Fenster verbleiben in ihren ursprünglichen Positionen im Hintergrund in einem gedimmten Zustand, was durch die gestrichelten Umrisse angedeutet ist.

  

[0109]    Wenn in dieser Darstellung der Benutzer ein bestimmtes Steuerelement betätigt, wie etwa beispielsweise die Tabulator-Taste drückt, kann die Anzeige auf diejenigen Fenster umschalten, welche der unmittelbar vor der Anwendung "A" aktivierten Anwendung zugeordnet sind. Es werden dann, wie in Fig. 23c gezeigt, die Fenster für die Anwendung "B" in den Vordergrund gebracht, repositioniert und gegebenenfalls hinsichtlich ihrer Grösse geändert. Gleichzeitig werden die zu der Anwendung "A" zugehörigen Fenster gedimmt. Sie können in ihren Einzel-Schicht-Positionen verbleiben anstatt in ihre ursprünglichen Positionen der Fig. 23a zurückzukehren.

   Jede darauffolgende Aktivierung des Steuerelements veranlasst die Anzeige, diejenigen Fenster zyklisch zu durchlaufen, welche einem jeden der geöffneten Anwendungsprogramme zugeordnet sind, und zwar in der Reihenfolge von der zuletzt bearbeiteten Anwendung zu den zuvor bearbeiteten Anwendungen hin oder in jeglicher anderer geeigneten Reihenfolge. Somit führt das nächste Drücken der Tabulator-Taste, wie in Fig. 23d gezeigt, dazu, dass die Fenster der Anwendung "C" in der Einzel-Schicht-Ansicht dargestellt werden. Das gleiche Steuerelement kann ebenfalls dahingehend wirksam sein, in dem "Alle Fenster" Modus das Umschalten der Ansicht auf den "Anwendung Fenster" Modus auszulösen.

  

[0110]    Um die vorangehend beschriebene Funktionalität zu erzielen, arbeitet der Computer vorzugsweise in einem Moden-Zustand, wenn einer der Einzel-Schicht-Betrachtungsmoden ausgewählt ist. In einem solchen Zustand empfängt der Fenster-Manager oder jeglicher anderer Prozess, welcher die Funktionalität der vorliegenden Erfindung bereitstellt, eine Benachrichtigung von einem Ereignis-Manager für alle Ereignisse, wie etwa Tastaturnavigation, Mausklicks usw. Diese Ereignisse kommen unter seiner Steuerung und stören sich nicht mit dem Betrieb von irgendeinem der Anwendungsprogramme, welche gerade ausgeführt werden. Ein solcher Zustand der Steuerung erlaubt es dem Betriebssystem ebenfalls, Ziehen-und-Ablegen-Aktionen (drag and drop actions) und andere Benutzerschnittstellen-Aktivitätstypen zu behandeln, welche in dem Computersystem auftreten.

  

[0111]    Wie vorangehend erläutert, verbleibt der Desktop gedimmt, wenn der "Alle Fenster"-Modus ausgewählt ist, um hierdurch die betrachteten Fenster herauszuheben. Ähnlich sind, wenn der "Anwendung Fenster"-Modus ausgewählt ist, die Fenster, welche der aktiven Anwendung nicht zugeordnet sind, ebenso wie der Desktop, gedimmt. Diese Dimm-Funktionen können erreicht werden, indem ein Hintergrundfenster erzeugt wird, welches die gesamte Grenzfläche 58 abdeckt und welches einen variablen Opazitätswert bzw. eine variable Lichtdurchlässigkeit oder Trübung aufweist. Dieses Fenster wird in einer geeigneten Ebene in der Reihe von Fenstern eingefügt, um die gewünschten Ergebnisse zu erreichen.

   Wenn beispielsweise der "Alle Fenster"-Modus gewählt ist, wird das Hintergrundfenster in der hinterstmöglichen Ebene eingefügt, so dass es lediglich den Blick auf die Objekte auf dem Desktop verdeckt, jedoch nicht den auf eines der geöffneten Fenster. Der Opazitätswert dieses Hintergrundfensters kann von einem Wert von 0% auf einen Wert von 60% während der Animation übergehen, in welcher die Fenster repositioniert und hinsichtlich ihrer Grösse geändert werden.

  

[0112]    Für den "Anwendung Fenster"-Modus wird das Hintergrundfenster in einer Ebene hinter den Ebenen der Fenster der aktiven Anwendung jedoch vor allen anderen Fenstern eingefügt. Wiederum kann die Opazität von 0% bis 60% oder jeglichem anderen geeigneten Wert übergehen, während die Anwendungsfenster repositioniert werden.

  

[0113]    Wenn zwischen dem "Alle Fenster"-Modus und dem "Anwendung Fenster"-Modus umgeschaltet wird, werden vorzugsweise zwei Hintergrundfenster verwendet, beispielsweise kann in dem "Alle Fenster"-Modus das hinterste Hintergrundfenster mit einem Opazitätswert von 60% dargestellt werden. Wenn daraufhin der "Anwendung Fenster"-Modus ausgewählt wird, wird ein zweites Hintergrundfenster hinter die Anwendungsfenster eingefügt, und zwar mit einem anfänglichen Opazitätswert von 0%. Dann tritt der Übergang zwischen den beiden Moden auf, und es kann ein umgekehrtes Ein- bzw. Ausblenden zwischen den beiden Hintergrundfenstern auftreten. Beispielsweise wird das hintere Hintergrundfenster ausgeblendet, indem seine Opazität von 60% auf 0% übergeht, während das vordere Hintergrundfenster eingeblendet wird, indem seine Opazität von 0% auf 60% übergeht. Die Raten des Ein- bzw.

   Ausblendens der beiden Fenster sind so aufeinander abgestimmt, dass die Fenster der inaktiven Anwendungen im Bezug auf die Fenster der aktiven Anwendung gedimmt verbleiben und die Gedimmtheit des Desktops im Wesentlichen konstant gehalten wird. Entsprechend wird beim Übergang von dem "Anwendung Fenster"-Modus zu dem "Alle Fenster"-Modus die umgekehrte Operation ausgeführt, so dass die nicht aktiven Fenster wieder erscheinen, während der Desktop auf einem konstanten Wert der Dimmung verbleibt.

  

[0114]    Es gibt einige Typen von Sekundärfenstern, welche während des geebneten Betrachtungsmodus nicht auf der Anzeige erscheinen müssen. Beispielsweise würde eine Werkzeugpalette in diesem Modus typischerweise nicht auswählbar sein. In einem solchen Fall können die Fenster eines solchen Typs deshalb von dem Bildschirmraum entfernt werden, während die auswählbaren Primärfenster in dem geebneten Modus repositioniert und gezeigt werden.

  

[0115]    In anderen Fällen kann es wünschenswert sein, gewisse Typen von Sekundärfenstern auf der Anzeige zu belassen. Beispielsweise kann es hilfreich sein, ein Ergänzungselement, wie beispielsweise einen "Drawer" betrachten zu können, welches sich ausgehend von einem Primärfenster erstreckt. In diesem Fall sollte das Ergänzungselement zusammen mit dem Primärfenster verbleiben, von welchem es ausgeht. Um dies zu erreichen, kann das Primärfenster und das Ergänzungselement als ein einziges zusammengesetztes Fenster behandelt werden, so dass diese zusammenbleiben, wenn die Repositionierung stattfindet.

  

[0116]    In den vorangehend beschriebenen Beispielen werden die Fenster in Richtungen repositioniert, welche Vektoren entsprechen, die einander überlappende Fenster verbinden, um hierdurch deren relative Positionen so weit wie möglich beizubehalten. In einer weiteren Implementierung kann eine hiervon verschiedene Regel verwendet werden, um die Fensterplazierung zu bestimmen. Beispielsweise kann das vorderste Fenster in der oberen linken Ecke der Grenzfläche 58 platziert werden. Das Fenster in der nächsten Tiefenebene könnte unmittelbar rechts hiervon oder darunter positioniert werden usw., so dass die Fenster in Reihen oder Spalten auf der Anzeige und in Übereinstimmung mit ihren relativen Tiefenebenen erscheinen.

   Zu diesem Zweck kann ein sichtbares oder unsichtbares Netzmuster auf der Anzeige erstellt werden, und die ursprünglichen Bewegungsvektoren für jedes Fenster können sich ausgehend von dem Ort des Fensters zu einer bestimmten Zelle in dem Netz erstrecken. Als eine Variante von diesem Ansatz, können die Fenster nach Anwendungen gruppiert werden, so dass die Fenster, welche zu einer Anwendung gehören, in der oberen linken Ecke erscheinen und diejenigen für eine andere Anwendung in der oberen rechten Ecke erscheinen, usw.

  

[0117]    Wie vorangehend bereits erläutert, ist die Erfindung nicht auf die Anzeige von Fenstern in einer graphischen Benutzerschnittstelle beschränkt. Sie kann vielmehr auf jeden Typ von Objekt angewendet werden, welcher durch ein anderes Objekt verdeckt werden kann. Sie kann beispielsweise dazu verwendet werden, um Symbole bzw. Icons oder Thumbnail-Bilder in einem Ordner zu repositionieren, so dass der Benutzer ein jedes gewünschtes dieser Objekte lokalisieren und auswählen kann. Sie kann auch auf eine Kombination von verschiedenen Typen von Objekten angewendet werden, wie zum Beispiel Menüs, Objekte, Icons, Fenster, Steuerstreifen usw., so dass sie alle gleichzeitig durch den Benutzer betrachtet werden können.

  

[0118]    Ferner ist die Fähigkeit zur Repositionierung von Objekten derart, dass sie alle gleichzeitig betrachtet werden können, nicht auf Objekte beschränkt, welche auf der Anzeige des Computers erscheinen. Sie kann auch angewendet werden auf das Drucken von Bildern. Sie kann beispielsweise dazu eingesetzt werden, mehrere photographische Bilder, welcher auf einer einzigen Seite gedruckt werden sollen, zueinander auszurichten.

  

[0119]    Wie vorangehend unter Bezugnahme auf Fig. 17erläutert, kann ein geeigneter positiver Rand vorgesehen sein, um die Fenster in dem geebneten Modus mit einem Abstand voneinander zu präsentieren. Es ist jedoch auch denkbar, die Fenster in dem geebneten Modus derart zu repositionieren und gegebenenfalls hinsichtlich ihrer Grösse zu ändern, dass primäre Hauptinhalte und -elemente der Fenster einander nicht abdecken, während einige Sekundärinhalte und -elemente, wie etwa Rollbalken, Menübalken und Rahmenelemente und dergleichen der Fenster einander noch überlappen. Ferner können diese Sekundärinhalte und -elemente in dem geebneten Modus gedimmt oder gar nicht dargestellt sein.

  

[0120]    Zusammenfassend ist somit ersichtlich, dass die Benutzerschnittstelle der vorliegenden Erfindung einen effektiven Mechanismus bereitstellt, um auf ein beliebiges Objekt aus einer Anzahl von Objekten, welche dem Benutzer gleichzeitig präsentiert werden, zuzugreifen. Durch Repositionieren der Objekte in einander ausschliessenden Bereichen der Anzeige oder der Seite und durch gegebenenfalls notwendiges Ändern der Grösse der Objekte, ermöglicht die vorliegende Erfindung es dem Benutzer, die Inhalte jedes Objekts einfach zu erfassen. Während die Objekte in dem geebneten Betrachtungsmodus sind, kann der Benutzer ein jedes aus diesen auswählen. Für den Fall von Fenstern wird das ausgewählte Fenster das aktive Fenster, wenn die Anzeige in den normalen Betrachtungsmodus zurückkehrt.

   Zudem kann der Benutzer, während auf alle der Objekte gleichzeitig zugegriffen werden kann, andere Arten von Operationen ausführen, wie etwa eine Anlage für eine Emailnachricht von einem Fenster zu einem anderen Fenster ziehen, welches ansonsten verdeckt wäre. Entsprechend kann der Benutzer ein jedes beliebige Fenster schliessen, welches nicht mehr länger benötigt wird, oder er kann solche Fenster minimieren, welche gerade nicht geöffnet sein müssen.

Claims (41)

1. Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, wobei das Verfahren die Schritte umfasst zum:
- Darstellen der Objekte in einer geschichteten Ansicht, bei der wenigstens ein Objekt ein anderes Objekt überlagern und wenigstens einen Teil der Inhalte des anderen Objekts verdecken kann,
- Umschalten zu einer nicht geschichteten Ansicht in Antwort auf einen ersten Befehl, wobei bei der nicht geschichteten Ansicht eine vorbestimmte Menge von Objekten ohne Überlapp dargestellt werden, während ihre relativen Grössen und Konfigurationen beibehalten werden, und
- Zurückkehren zu der geschichteten Ansicht in Antwort auf eine Aktion des Benutzers.
2. Verfahren nach Anspruch 1, wobei der Schritt des Umschaltens in die nicht geschichtete Ansicht ein Repositionieren von allen Objekten der Gruppe umfasst, so dass sie in jeweiligen Bereichen der auf einer Computeranzeige sichtbaren Anzeigefläche erscheinen.
3. Verfahren nach Anspruch 2, wobei der Schritt des Repositionierens ein Bewegen der Objekte von ihren ursprünglichen Positionen zu den jeweiligen Bereichen während einer wahrnehmbaren Zeitdauer umfasst, um einen Animationseffekt zu erzeugen.
4. Verfahren nach Anspruch 3, ferner umfassend einen Schritt des Dimmens eines Desktopbereichs der Benutzerschnittstelle während die Objekte bewegt werden.
5. Verfahren nach einem der Ansprüche 1 bis 4, wobei der Schritt des Umschaltens ferner einen Schritt des Änderns einer Grösse der Objekte derart umfasst, dass alle Objekte wenigstens einer Gruppe von Objekten innerhalb eines definierten Grenzbereichs der auf einer Computeranzeige sichtbaren Anzeigefläche in der nichtgeschichteten Ansicht erscheinen.
6. Verfahren nach Anspruch 5, wobei die Grössen sämtlicher repositionierter Objekte in Übereinstimmung mit einem gemeinsamen Faktor geändert werden, um deren relative Grössen und/oder Aspektverhältnisse beizubehalten.
7. Verfahren nach einem der Ansprüche 1 bis 6, wobei die Objekte eine Menge von Fenstern umfassen.
8. Verfahren nach Anspruch 7, wobei die Menge von Fenstern ein geöffnetes dargestelltes Primärfenster umfasst.
9. Verfahren nach Anspruch 7 oder 8, ferner umfassend einen Schritt des Ziehens eines Nicht-Fenster-Objekts von einem der Fenster der Menge von Fenstern zu einem anderen Fenster der Menge von Fenstern, während die nicht-geschichtete Ansicht dargestellt wird.
10. Verfahren nach einem der Ansprüche 7 bis 9, ferner umfassend einen Schritt des Bewegens aller Fenster heraus aus einem Bereich der auf einer Computeranzeige sichtbaren Anzeigefläche in Antwort auf einen zweiten Befehl, um eine Desktop-Ansicht darzustellen.
11. Verfahren nach einem der Ansprüche 1 bis 10, wobei die Objekte Symbole bzw. Icons umfassen.
12. Verfahren nach einem der Ansprüche 1 bis 11, wobei die Objekte Bilder umfassen.
13. Verfahren nach einem der Ansprüche 1 bis 12, wobei die Menge von Objekten eine Untermenge von allen Objekten auf der auf einer Computeranzeige sichtbaren Anzeigefläche umfasst, welche miteinander in Beziehung stehen.
14. Verfahren nach Anspruch 13, wobei die miteinander in Beziehung stehenden Objekte Fenster sind, welche einem gemeinsamen Anwendungsprogramm zugeordnet sind.
15. Verfahren nach Anspruch 14, wobei das gemeinsame Anwendungsprogramm das zum Zeitpunkt des Umschaltens aktive Anwendungsprogramm ist.
16. Verfahren nach Anspruch 15, ferner umfassend einen Schritt des Repositionierens und Darstellens einer anderen Menge von Fenstern, welche einem anderen Anwendungsprogramm zugeordnet sind, und zwar in Antwort auf einen während der nicht geschichteten Ansicht gegebenen vorbestimmten Befehl.
17. Verfahren nach einem der Ansprüche 14, 15 oder 16, ferner umfassend einen Schritt des Beibehaltens von nicht-in-Beziehung stehenden Fenstern in ihren ursprünglichen Positionen.
18. Verfahren nach Anspruch 17, ferner umfassend einen Schritt des Dimmens einer Erscheinung der nicht-in Beziehung stehenden Fenster.
19. Verfahren nach einem der Ansprüche 1 bis 18, ferner umfassen die Schritte:
- Erfassen einer Benutzeraktion, welche eine Auswahl eines der repositionierten Objekte in der nicht geschichteten Darstellung bezeichnet, und
- Darstellen des ausgewählten Objekts im Vordergrund der auf einer Computeranzeige sichtbaren Anzeigefläche nach der Zurückführung der Objekte in ihre ursprünglichen Positionen.
20. Verfahren nach einem der Ansprüche 1 bis 19, wobei der Repositionierungsschritt die Schritte umfasst:
- Bestimmen eines Vektors, welcher relative Positionen von zwei einander überlappenden Objekten angibt, und
- Bestimmen von Bewegungsrichtungen für die einander überlappenden Objekte in Übereinstimmung mit dem Vektor.
21. Verfahren nach Anspruch 20, wobei die Objekte auf iterative Weise repositioniert werden, wobei eine Richtung und ein Betrag der Bewegung während jeder Iteration bestimmt werden.
22. Verfahren nach Anspruch 21, wobei jede Iteration die Schritte umfasst:
- Bestimmen einer Richtung und eines Betrags der Bewegung für jedes zu repositionierende Objekt,
- Skalieren des Betrags der Bewegung durch einen moderierenden Faktor, und
- Bewegen des Objekts in der bestimmten Richtung um den skalierten Betrag.
23. Verfahren nach Anspruch 22, wobei der moderierende Faktor für die jeweiligen Iterationen variiert wird.
24. Verfahren nach einem der Ansprüche 21 bis 23, ferner umfassend einen Schritt des Berechnens eines externen Kraftwerts, um die Objekte innerhalb eines Grenzbereichs zu halten, und Addieren des Kraftwerts zu den Beträgen der Bewegung.
25. Verfahren nach einem der Ansprüche 21 bis 24, ferner umfassend Schritte des Bestimmens, ob die Objekte nach der letzten Iteration ausserhalb eines definierten Grenzbereichs liegen, und Ändern der Grösse der Objekte derart, dass sie innerhalb des Grenzbereichs liegen, sofern sie ausserhalb des Grenzbereichs liegen.
26. Verfahren nach einem der Ansprüche 1 bis 25, wobei die Aktion des Benutzers eine Auswahl eines der Objekte umfasst.
27. Verfahren nach einem der Ansprüche 1 bis 26, wobei die Aktion des Benutzers die Gabe eines zweiten Befehls umfasst.
28. Verfahren nach einem der Ansprüche 1 bis 27, wobei die Aktion des Benutzers eine Positionierung eines Zeigers in einem vorbestimmten Bereich der auf einer Computeranzeige sichtbaren Anzeigefläche umfasst.
29. Verfahren nach Anspruch 28, wobei der Bereich der auf einer Computeranzeige sichtbaren Anzeigefläche eine vorbestimmte Ecke der auf einer Computeranzeige sichtbaren Anzeigefläche umfasst.
30. Verfahren nach einem der Ansprüche 1 bis 29, wobei der erste Befehl von einem Programm ausgegeben wird.
31. Verfahren nach Anspruch 30, wobei das Programm den ersten Befehl in Antwort auf eine Erfassung einer spezifizierten Bedingung ausgibt.
32. Verfahren nach einem der Ansprüche 7 bis 31 wobei das Verfahren ferner Schritte umfasst zum:
- Darstellen von einem oder mehreren Fenstern in einer ersten Ansicht derart, dass die Fenster einen Blick des Benutzers auf Objekte auf dem Desktop der Benutzerschnittstelle verdecken,
- zeitweisen Verschieben der Fenster aus ihren verdeckenden Positionen in einer zweiten Ansicht, und zwar in Antwort auf einen ersten Benutzerbefehl,
- Zurückführen der Fenster in ihre ursprünglichen Positionen in der ersten Ansicht, und zwar in Antwort auf einen zweiten Benutzerbefehl,
- Auswählen eines Objekts in einem der Fenster oder von dem Desktop, während die erste Ansicht oder die zweite Ansicht angezeigt wird, und
- Platzieren des ausgewählten Objekts auf dem Desktop bzw. in einem der Fenster, nachdem in die jeweils andere Ansicht umgeschaltet wurde.
33. Verfahren nach Anspruch 32, wobei der Schritt des zeitweisen Verschiebens der Fenster die Schritte des Darstellens eines Randbereichs entlang wenigstens einer Kante des Desktops und ein Bewegen der Fenster zu Positionen innerhalb des Randbereichs umfasst.
34. Verfahren nach Anspruch 33, wobei der Schritt des Zurückführens der Fenster durch ein Ziehen des ausgewählten Objekts zu dem Randbereich initiiert wird.
35. Computervorrichtung, umfassend:
- einen Computer (10);
- eine Anzeigevorrichtung (28);
- und eine Benutzerschnittstelle,
- wobei die Benutzerschnittstelle dazu ausgebildet ist, das Verfahren gemäss einem der Ansprüche 1 bis 34 auszuführen, wobei die Benutzerschnittstelle einen ersten Modus, in welchem mehrere Objekte in einer geschichteten Umgebung in Positionen dargestellt werden, in welchen ein Objekt ein anderes Objekt überlappen und wenigstens einige Inhalte des anderen Objekts verdecken kann, und einen zweiten Modus umfasst, in welchem die mehreren Objekte zeitweise von ihren Positionen in dem ersten Modus zu jeweiligen Bereichen innerhalb der auf der Anzeigevorrichtung sichtbaren Anzeigefläche bewegt werden, so dass der Inhalt jedes der mehreren Objekte ohne Überlapp sichtbar ist, während die relativen Grössen und Konfigurationen der mehreren Objekte beibehalten werden, und wobei die Objekte daraufhin zu ihren Positionen zurückgeführt werden, welche sie in dem ersten Modus einnahmen.
36. Computervorrichtung nach Anspruch 35, wobei die Objekte Fenster umfassen.
37. Computervorrichtung nach einem der Ansprüche 35 oder 36, wobei die Objekte eine Kombination von Fenstern und anderen Schnittstellenelementen umfassen.
38. Computerprogrammprodukt, welches ein Computerprogramm zur Implementierung einer Benutzerschnittstelle auf einer, einen Computer (10) und eine Anzeigevorrichtung (28) umfassenden, Computervorrichtung enthält, wobei die Benutzerschnittstelle zur Ausführung eines Verfahrens nach einem der Ansprüche 1 bis 34 auf der Computervorrichtung ausgebildet ist und einen ersten Modus aufweist, in welchem mehrere Objekte in einer geschichteten Umgebung in Positionen dargestellt werden, in welchen ein Objekt ein anderes Objekt überlappen und wenigstens einige Inhalte des anderen Objekts verdecken kann, und einen zweiten Modus aufweist, in welchem die mehreren Objekte zeitweise von ihren Positionen in dem ersten Modus zu jeweiligen Bereichen innerhalb der auf der Anzeigevorrichtung sichtbaren Anzeigefläche bewegt werden,
so dass der Inhalt jedes der mehreren Objekte ohne Überlapp sichtbar ist, während die relativen Grössen und Konfigurationen der mehreren Objekte beibehalten werden, und wobei die Objekte daraufhin zu ihren Positionen zurückgeführt werden, welche sie in dem ersten Modus einnahmen.
39. Computerprogrammprodukt nach Anspruch 38, wobei das Computerprogramm eine Komponente eines Betriebssystems für die Computervorrichtung umfasst.
40. Computerprogrammprodukt nach Anspruch 38, wobei das Computerprogramm in einem Anwendungsprogramm enthalten ist, welches auf der Computervorrichtung läuft.
41. Computerprogrammprodukt nach Anspruch 38, wobei das Computerprogramm in einem Plug-In-Modul enthalten ist, welches mit einem Betriebssystem der Computervorrichtung zusammenwirkt.
CH01036/04A 2003-06-20 2004-06-21 Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, Computervorrichtung und Computerprogrammprodukt. CH698761B1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/465,855 US8127248B2 (en) 2003-06-20 2003-06-20 Computer interface having a virtual single-layer mode for viewing overlapping objects
US10/689,687 US7739617B2 (en) 2003-06-20 2003-10-22 Computer interface having a virtual single-layer mode for viewing overlapping objects

Publications (1)

Publication Number Publication Date
CH698761B1 true CH698761B1 (de) 2009-10-15

Family

ID=33517595

Family Applications (1)

Application Number Title Priority Date Filing Date
CH01036/04A CH698761B1 (de) 2003-06-20 2004-06-21 Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, Computervorrichtung und Computerprogrammprodukt.

Country Status (6)

Country Link
US (2) US8127248B2 (de)
EP (2) EP2182424B1 (de)
CN (2) CN100474221C (de)
AT (1) ATE458218T1 (de)
CH (1) CH698761B1 (de)
DE (1) DE602004025533D1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20260105244A1 (en) * 2014-10-25 2026-04-16 Yieldmo, Inc. Methods for serving interactive content to a user

Families Citing this family (276)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5956030A (en) * 1993-06-11 1999-09-21 Apple Computer, Inc. Computer system with graphical user interface including windows having an identifier within a control region on the display
US20130104062A1 (en) * 2011-09-27 2013-04-25 Z124 Unified desktop input segregation in an application manager
US9268518B2 (en) 2011-09-27 2016-02-23 Z124 Unified desktop docking rules
US9715252B2 (en) 2011-08-24 2017-07-25 Z124 Unified desktop docking behavior for window stickiness
US9405459B2 (en) 2011-08-24 2016-08-02 Z124 Unified desktop laptop dock software operation
US7681112B1 (en) 2003-05-30 2010-03-16 Adobe Systems Incorporated Embedded reuse meta information
EP1491990B1 (de) 2003-06-20 2010-02-17 Apple Inc. Graphisches Benutzerschnittstellensystem und Methode zur Anzeige von Objekten auf einer graphischen Benutzerschnittstelle
US7669140B2 (en) * 2003-08-21 2010-02-23 Microsoft Corporation System and method for providing rich minimized applications
US20050055645A1 (en) * 2003-09-09 2005-03-10 Mitutoyo Corporation System and method for resizing tiles on a computer display
US7719542B1 (en) * 2003-10-10 2010-05-18 Adobe Systems Incorporated System, method and user interface controls for communicating status information
US8499248B1 (en) * 2004-04-29 2013-07-30 Paul Erich Keel Methods and apparatus for managing and exchanging information using information objects
US7694233B1 (en) 2004-04-30 2010-04-06 Apple Inc. User interface presentation of information in reconfigured or overlapping containers
US7523413B2 (en) * 2004-06-14 2009-04-21 At&T Intellectual Property I, L.P. Organizing session applications
US7607090B2 (en) * 2004-06-14 2009-10-20 At&T Intellectual Property I, L.P. Frameless data presentation
US7590945B2 (en) * 2004-06-14 2009-09-15 At&T Intellectual Property I, L.P. Viewing applications from inactive sessions
US20050278650A1 (en) * 2004-06-14 2005-12-15 Sims Lisa K Floating user interface
US8532282B2 (en) * 2004-06-14 2013-09-10 At&T Intellectual Property I, L.P. Tracking user operations
US20050278261A1 (en) * 2004-06-14 2005-12-15 Richard Omanson Navigational controls for a presentation system
US7574657B2 (en) * 2004-06-14 2009-08-11 At&T Intellectual Property I, L.P. Administration manager
US20050278655A1 (en) * 2004-06-14 2005-12-15 Sims Lisa K Multiple application viewing
US7490295B2 (en) 2004-06-25 2009-02-10 Apple Inc. Layer for accessing user interface elements
US8453065B2 (en) 2004-06-25 2013-05-28 Apple Inc. Preview and installation of user interface elements in a display environment
US8239749B2 (en) 2004-06-25 2012-08-07 Apple Inc. Procedurally expressing graphic objects for web pages
US7761800B2 (en) 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US7546543B2 (en) 2004-06-25 2009-06-09 Apple Inc. Widget authoring and editing environment
US8566732B2 (en) 2004-06-25 2013-10-22 Apple Inc. Synchronization of widgets and dashboards
US8302020B2 (en) 2004-06-25 2012-10-30 Apple Inc. Widget authoring and editing environment
US8281241B2 (en) 2004-06-28 2012-10-02 Nokia Corporation Electronic device and method for providing extended user interface
US7996785B2 (en) * 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
TW200620020A (en) * 2004-12-08 2006-06-16 Mitac Technology Corp Management method of embedded-type computer program
US8140975B2 (en) 2005-01-07 2012-03-20 Apple Inc. Slide show navigation
US7478326B2 (en) * 2005-01-18 2009-01-13 Microsoft Corporation Window information switching system
US7747965B2 (en) * 2005-01-18 2010-06-29 Microsoft Corporation System and method for controlling the opacity of multiple windows while browsing
US7552397B2 (en) * 2005-01-18 2009-06-23 Microsoft Corporation Multiple window behavior system
US8341541B2 (en) * 2005-01-18 2012-12-25 Microsoft Corporation System and method for visually browsing of open windows
US7426697B2 (en) * 2005-01-18 2008-09-16 Microsoft Corporation Multi-application tabbing system
JP4434973B2 (ja) * 2005-01-24 2010-03-17 株式会社東芝 映像表示装置、映像合成配信装置、プログラム、システム及び方法
US7661069B2 (en) * 2005-03-31 2010-02-09 Microsoft Corporation System and method for visually expressing user interface elements
US7908568B1 (en) 2005-04-01 2011-03-15 Adobe Systems Incorporated Method of displaying graphical objects
US20060248471A1 (en) * 2005-04-29 2006-11-02 Microsoft Corporation System and method for providing a window management mode
US8743019B1 (en) 2005-05-17 2014-06-03 Nvidia Corporation System and method for abstracting computer displays across a host-client network
US20070008338A1 (en) * 2005-05-28 2007-01-11 Young-Chan Kim Display system, display apparatus, and method of controlling video source and display apparatus
US8365084B1 (en) * 2005-05-31 2013-01-29 Adobe Systems Incorporated Method and apparatus for arranging the display of sets of information while preserving context
JP4653561B2 (ja) * 2005-05-31 2011-03-16 株式会社東芝 情報処理装置および表示制御方法
US8543931B2 (en) 2005-06-07 2013-09-24 Apple Inc. Preview including theme based installation of user interface elements in a display environment
US20090083757A1 (en) * 2005-06-21 2009-03-26 Mitac Technology Corp. Computer system and program plug-in management method thereof
US9268867B2 (en) * 2005-08-03 2016-02-23 Aol Inc. Enhanced favorites service for web browsers and web applications
US7665032B2 (en) * 2005-08-18 2010-02-16 Microsoft Corporation Sidebar engine, object model and schema
US8578290B2 (en) * 2005-08-18 2013-11-05 Microsoft Corporation Docking and undocking user interface objects
US7499989B2 (en) * 2005-08-18 2009-03-03 Microsoft Corporation Installing data with settings
US7568165B2 (en) * 2005-08-18 2009-07-28 Microsoft Corporation Sidebar engine, object model and schema
JP2007065356A (ja) * 2005-08-31 2007-03-15 Toshiba Corp 合成オブジェクト表示装置、合成オブジェクト表示方法およびプログラム
US7779362B1 (en) * 2005-09-02 2010-08-17 Adobe Systems Inc. Methods and apparatus for selecting objects by state
JP4695474B2 (ja) * 2005-09-21 2011-06-08 株式会社東芝 合成映像制御装置、合成映像制御方法およびプログラム
US7954064B2 (en) 2005-10-27 2011-05-31 Apple Inc. Multiple dashboards
US7752556B2 (en) 2005-10-27 2010-07-06 Apple Inc. Workflow widgets
US7743336B2 (en) 2005-10-27 2010-06-22 Apple Inc. Widget security
US9104294B2 (en) 2005-10-27 2015-08-11 Apple Inc. Linked widgets
US8543824B2 (en) 2005-10-27 2013-09-24 Apple Inc. Safe distribution and use of content
US8543420B2 (en) 2007-09-19 2013-09-24 Fresenius Medical Care Holdings, Inc. Patient-specific content delivery methods and systems
WO2007053683A2 (en) * 2005-11-01 2007-05-10 Fresenius Medical Care Holdings, Inc. Digital data entry methods and devices
JP4345737B2 (ja) * 2005-11-14 2009-10-14 セイコーエプソン株式会社 デジタルコンテンツ作成システム、デジタルコンテンツ作成方法およびプログラム
US7600190B2 (en) * 2005-11-15 2009-10-06 Mitac Technology Corp. Window switching method and system
US7523405B2 (en) * 2005-11-16 2009-04-21 Microsoft Corporation Displaying 2D graphic content using depth wells
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
US20070180398A1 (en) * 2006-01-30 2007-08-02 Mcardle James M Window cleanup via desktop icon
US7810021B2 (en) * 2006-02-24 2010-10-05 Paxson Dana W Apparatus and method for creating literary macramés
US20070214431A1 (en) * 2006-03-08 2007-09-13 Microsoft Corporation Smart gadget resizing
GB0605587D0 (en) * 2006-03-20 2006-04-26 British Broadcasting Corp Graphical user interface methods and systems
US20070226642A1 (en) * 2006-03-22 2007-09-27 Business Objects, S.A. Apparatus and method for displaying transparent windows when copying or moving items between windows
US7595810B2 (en) 2006-03-22 2009-09-29 Apple Inc. Methods of manipulating a screen space of a display device
US7620905B2 (en) * 2006-04-14 2009-11-17 International Business Machines Corporation System and method of windows management
US8683362B2 (en) * 2008-05-23 2014-03-25 Qualcomm Incorporated Card metaphor for activities in a computing device
JP4688739B2 (ja) * 2006-05-02 2011-05-25 株式会社ソニー・コンピュータエンタテインメント 情報表示装置
US7783990B2 (en) * 2006-05-05 2010-08-24 Microsoft Corporation Association of display elements
US20090210820A1 (en) * 2006-05-11 2009-08-20 Takao Adachi Display object layout changing device
US20080040665A1 (en) * 2006-07-06 2008-02-14 Carsten Waldeck Method and system for displaying, locating and browsing data files
US20080016456A1 (en) * 2006-07-11 2008-01-17 Liam Friedland Method and system for providing docked-undocked application tabs
US8166415B2 (en) * 2006-08-04 2012-04-24 Apple Inc. User interface for backup management
US8869027B2 (en) 2006-08-04 2014-10-21 Apple Inc. Management and generation of dashboards
CN101512471B (zh) * 2006-09-28 2011-05-04 株式会社纳维泰 窗口显示系统
JP4981059B2 (ja) * 2006-10-13 2012-07-18 パナソニック株式会社 表示制御装置、表示制御方法、プログラム、及び集積回路
US7602378B2 (en) * 2006-10-26 2009-10-13 Apple Inc. Method, system, and graphical user interface for selecting a soft keyboard
CN100451957C (zh) * 2006-10-31 2009-01-14 惠州市Tcl电脑科技有限责任公司 电脑屏幕拆分与Windows应用程序窗口归属管理方法及装置
US8245154B2 (en) * 2006-11-03 2012-08-14 International Business Machines Corporation Most-recently-used task switching among parent and child windows
US8291346B2 (en) 2006-11-07 2012-10-16 Apple Inc. 3D remote control system employing absolute and relative position detection
US8947452B1 (en) * 2006-12-07 2015-02-03 Disney Enterprises, Inc. Mechanism for displaying visual clues to stacking order during a drag and drop operation
US8091030B1 (en) * 2006-12-14 2012-01-03 Disney Enterprises, Inc. Method and apparatus of graphical object selection in a web browser
US8276098B2 (en) * 2006-12-22 2012-09-25 Apple Inc. Interactive image thumbnails
US7996787B2 (en) * 2007-02-06 2011-08-09 Cptn Holdings Llc Plug-in architecture for window management and desktop compositing effects
US8191003B2 (en) * 2007-02-14 2012-05-29 International Business Machines Corporation Managing transparent windows
KR101127374B1 (ko) * 2007-03-09 2012-04-02 인터내셔널 비지네스 머신즈 코포레이션 요구의 배송처를 결정하기 위한 방법, 프로그램 및 그 방법을 이용하는 표시 시스템
JP4888165B2 (ja) * 2007-03-12 2012-02-29 富士ゼロックス株式会社 画像処理装置及びプログラム
USD609714S1 (en) * 2007-03-22 2010-02-09 Fujifilm Corporation Electronic camera
US9032329B2 (en) * 2007-03-23 2015-05-12 Siemens Product Lifecycle Management Software Inc. System and method for dialog position management
US8091039B2 (en) * 2007-04-13 2012-01-03 Apple Inc. Authoring interface which distributes composited elements about the display
CN101542587B (zh) * 2007-05-08 2012-09-05 松下电器产业株式会社 显示装置以及图像显示方法
US9378571B1 (en) 2007-05-29 2016-06-28 Google Inc. Browsing large geocoded datasets using nested shapes
US9791994B2 (en) * 2007-06-08 2017-10-17 Apple Inc. User interface for application interface manipulation
JP4362526B2 (ja) * 2007-06-08 2009-11-11 京セラミタ株式会社 操作装置、電子機器及び操作プログラム
US8601371B2 (en) * 2007-06-18 2013-12-03 Apple Inc. System and method for event-based rendering of visual effects
USD620020S1 (en) 2007-06-23 2010-07-20 Apple Inc. Graphical user interface for a display screen or portion thereof
CN101334725B (zh) * 2007-06-29 2011-05-25 联想(北京)有限公司 提高窗口显示性能的方法与装置
US9116593B2 (en) * 2007-07-06 2015-08-25 Qualcomm Incorporated Single-axis window manager
US8954871B2 (en) 2007-07-18 2015-02-10 Apple Inc. User-centric widgets and dashboards
JP4342578B2 (ja) * 2007-07-24 2009-10-14 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置およびプログラム
US8667415B2 (en) 2007-08-06 2014-03-04 Apple Inc. Web widgets
US9003304B2 (en) * 2007-08-16 2015-04-07 International Business Machines Corporation Method and apparatus for moving an avatar in a virtual universe
US7990387B2 (en) * 2007-08-16 2011-08-02 International Business Machines Corporation Method and apparatus for spawning projected avatars in a virtual universe
US8156467B2 (en) 2007-08-27 2012-04-10 Adobe Systems Incorporated Reusing components in a running application
USD607003S1 (en) 2007-09-04 2009-12-29 Apple Inc. Graphical user interface for a display screen or portion thereof
USD612398S1 (en) 2007-09-04 2010-03-23 Apple Inc. Icon for a portion of a display screen
US8635543B2 (en) * 2007-09-07 2014-01-21 Microsoft Corporation Multiple UI paradigms within a single application
US9335912B2 (en) * 2007-09-07 2016-05-10 Apple Inc. GUI applications for use with 3D remote controller
US8726190B2 (en) * 2007-09-28 2014-05-13 Adobe Systems Incorporated Automatically transformed graphical user interface
US10176272B2 (en) * 2007-09-28 2019-01-08 Excalibur Ip, Llc System and method of automatically sizing and adapting a widget to available space
US8176466B2 (en) 2007-10-01 2012-05-08 Adobe Systems Incorporated System and method for generating an application fragment
US20090113353A1 (en) * 2007-10-31 2009-04-30 Ravi Prakash Bansal Cursor locator
JP4549381B2 (ja) * 2007-11-14 2010-09-22 シャープ株式会社 情報処理システム及び情報処理装置
US8127235B2 (en) 2007-11-30 2012-02-28 International Business Machines Corporation Automatic increasing of capacity of a virtual space in a virtual world
US8194037B2 (en) * 2007-12-14 2012-06-05 Apple Inc. Centering a 3D remote controller in a media system
US8341544B2 (en) 2007-12-14 2012-12-25 Apple Inc. Scroll bar with video region in a media system
US20090153475A1 (en) * 2007-12-14 2009-06-18 Apple Inc. Use of a remote controller Z-direction input mechanism in a media system
US8881049B2 (en) * 2007-12-14 2014-11-04 Apple Inc. Scrolling displayed objects using a 3D remote controller in a media system
FI120857B (fi) * 2007-12-19 2010-03-31 Teliasonera Ab Päätelaite, tallennusmedia, palvelukeskus ja menetelmä
JP4605478B2 (ja) * 2007-12-19 2011-01-05 ソニー株式会社 情報処理装置、表示制御方法及び表示制御プログラム
US20090164919A1 (en) 2007-12-24 2009-06-25 Cary Lee Bates Generating data for managing encounters in a virtual world environment
JP4750806B2 (ja) * 2008-01-07 2011-08-17 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
US8214760B2 (en) * 2008-01-16 2012-07-03 Microsoft Corporation Window minimization trigger
US8555193B2 (en) * 2008-01-17 2013-10-08 Google Inc. System for intelligent automated layout and management of interactive windows
US20090199127A1 (en) * 2008-01-31 2009-08-06 Microsoft Corporation Previewing target display areas
US9619304B2 (en) 2008-02-05 2017-04-11 Adobe Systems Incorporated Automatic connections between application components
US8266187B2 (en) 2008-02-19 2012-09-11 Hewlett-Packard Development Company, L.P. Integration of static and dynamic data for database entities and the unified presentation thereof
USD619144S1 (en) 2008-03-04 2010-07-06 Apple Inc. Icon for a display screen or portion thereof
KR101488726B1 (ko) * 2008-05-27 2015-02-06 삼성전자주식회사 위젯 창을 표시하는 디스플레이 장치 및 이를 포함하는디스플레이 시스템과 그 디스플레이 방법
US8656293B1 (en) 2008-07-29 2014-02-18 Adobe Systems Incorporated Configuring mobile devices
US20100031189A1 (en) * 2008-08-01 2010-02-04 International Business Machines Corporation Connecting Standard Operating System Windows with a Visual Tack
TW201009687A (en) * 2008-08-28 2010-03-01 Honda Shing System of automatic window adjustment and method thereof
JP5249686B2 (ja) * 2008-09-05 2013-07-31 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
JP5155786B2 (ja) * 2008-09-09 2013-03-06 株式会社エヌ・ティ・ティ・ドコモ 情報処理装置及びプログラム
US8359549B1 (en) * 2008-09-10 2013-01-22 Adobe Systems Incorporated Multiple-function user interactive tool for manipulating three-dimensional objects in a graphical user interface environment
US9165302B2 (en) * 2008-09-29 2015-10-20 Apple Inc. System and method for scaling up an image of an article displayed on a sales promotion web page
JP4650549B2 (ja) * 2008-10-06 2011-03-16 ソニー株式会社 情報処理装置、情報処理方法及びプログラム
KR101609162B1 (ko) * 2008-11-13 2016-04-05 엘지전자 주식회사 터치 스크린을 구비한 이동 단말기 및 이를 이용한 데이터 처리 방법
US8924888B2 (en) * 2008-11-13 2014-12-30 SAP France S.A. Dynamic data object insertion
JP5457765B2 (ja) * 2008-11-20 2014-04-02 キヤノン株式会社 情報処理装置、及びその制御方法
US8959446B2 (en) * 2008-11-20 2015-02-17 Canon Kabushiki Kaisha Information processing apparatus and method of controlling the same
US8799425B2 (en) 2008-11-24 2014-08-05 Nvidia Corporation Configuring display properties of display units on remote systems
US8698741B1 (en) 2009-01-16 2014-04-15 Fresenius Medical Care Holdings, Inc. Methods and apparatus for medical device cursor control and touchpad-based navigation
US8555167B2 (en) * 2009-03-11 2013-10-08 Sony Corporation Interactive access to media or other content related to a currently viewed program
KR101601040B1 (ko) * 2009-05-19 2016-03-09 삼성전자주식회사 휴대 단말기의 화면 표시 방법 및 이를 지원하는 휴대 단말기
US8621387B2 (en) * 2009-06-08 2013-12-31 Apple Inc. User interface for multiple display regions
US10768611B2 (en) * 2009-06-16 2020-09-08 Applied Materials, Inc. Counter and timer constraints
US20110060993A1 (en) * 2009-09-08 2011-03-10 Classified Ventures, Llc Interactive Detailed Video Navigation System
US9152299B2 (en) 2009-10-08 2015-10-06 Red Hat, Inc. Activity management tool
US8632485B2 (en) 2009-11-05 2014-01-21 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods
US10799117B2 (en) 2009-11-05 2020-10-13 Fresenius Medical Care Holdings, Inc. Patient treatment and monitoring systems and methods with cause inferencing
US8661408B2 (en) * 2009-11-23 2014-02-25 Michael James Psenka Integrated development environment and methods of using the same
CA2686995A1 (en) * 2009-12-03 2011-06-03 Ibm Canada Limited - Ibm Canada Limitee Handling user-interface gestures in non-rectangular regions
US20110183654A1 (en) 2010-01-25 2011-07-28 Brian Lanier Concurrent Use of Multiple User Interface Devices
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US9697751B2 (en) 2010-03-09 2017-07-04 Microsoft Technology Licensing, Llc Interactive representation of clusters of geographical entities
US20110252357A1 (en) * 2010-04-07 2011-10-13 Imran Chaudhri Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
JP5589537B2 (ja) 2010-04-30 2014-09-17 ソニー株式会社 情報処理装置、情報処理方法、プログラム、情報提供装置および情報処理システム
US8201010B2 (en) 2010-05-18 2012-06-12 Plx Technology, Inc. Automatic reference frequency compensation
EP2577435B8 (de) * 2010-05-25 2017-12-06 Sony Mobile Communications Inc. Benutzeroberfläche für eine berührungsempfindliche anzeige auf einer elektronischen vorrichtung
USD666209S1 (en) 2010-06-05 2012-08-28 Apple Inc. Display screen or portion thereof with graphical user interface
US20120017171A1 (en) * 2010-07-14 2012-01-19 Wen-Chieh Tseng Interface display adjustment method and touch display apparatus using the same
US8659621B1 (en) * 2010-08-11 2014-02-25 Apple Inc. Organizing and displaying drawing objects
CN102375665B (zh) * 2010-08-20 2013-04-24 中国移动通信集团公司 一种图标移动方法和装置
US20120066640A1 (en) * 2010-09-13 2012-03-15 Ati Technologies Ulc Apparatus for providing multi-mode warping of graphical user interface objects
CH703724A1 (de) * 2010-09-15 2012-03-15 Ferag Ag Grafische benutzerschnittstelle.
CN108681424B (zh) 2010-10-01 2021-08-31 Z124 用户界面上的拖移手势
USD668263S1 (en) 2010-10-08 2012-10-02 Apple Inc. Display screen or portion thereof with icon
US9229636B2 (en) 2010-10-22 2016-01-05 Adobe Systems Incorporated Drawing support tool
US9582144B2 (en) * 2011-01-20 2017-02-28 Blackberry Limited Three-dimensional, multi-depth presentation of icons associated with a user interface
US9256350B2 (en) * 2011-03-30 2016-02-09 Nexsan Technologies Incorporated System for displaying hierarchical information
WO2012134479A1 (en) * 2011-03-31 2012-10-04 Hewlett-Packard Development Company, L.P. Augmenting user interface elements
US9354899B2 (en) * 2011-04-18 2016-05-31 Google Inc. Simultaneous display of multiple applications using panels
EP2523129B1 (de) * 2011-05-11 2020-07-01 Dassault Systèmes Auswahl eines Manipulators eines Objekts unter einer Vielzahl von Manipulatoren
US9524086B2 (en) * 2011-05-20 2016-12-20 Kodak Alaris Inc. Imaging product selection system
US9524087B2 (en) * 2011-05-20 2016-12-20 Kodak Alaris Inc. Imaging product selection method
US20120302206A1 (en) * 2011-05-27 2012-11-29 Vock Curtis A Surface software and associated methods
US20160124698A1 (en) 2011-08-24 2016-05-05 Z124 Unified desktop triad control user interface for an application launcher
US20130104051A1 (en) 2011-09-27 2013-04-25 Z124 Unified desktop big brother application pools
USD664968S1 (en) * 2011-09-12 2012-08-07 Microsoft Corporation Display screen with animated graphical user interface
US9424439B2 (en) 2011-09-12 2016-08-23 Microsoft Technology Licensing, Llc Secure data synchronization
USD664550S1 (en) * 2011-09-12 2012-07-31 Microsoft Corporation Display screen with animated graphical user interface
US20130067392A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Multi-Input Rearrange
USD664967S1 (en) * 2011-09-12 2012-08-07 Microsoft Corporation Display screen with animated graphical user interface
US20130080899A1 (en) 2011-09-27 2013-03-28 Paul E. Reeves Unified desktop big brother applications
US10031641B2 (en) * 2011-09-27 2018-07-24 Adobe Systems Incorporated Ordering of objects displayed by a computing device
US11416131B2 (en) * 2011-09-27 2022-08-16 Z124 Unified desktop input segregation in an application manager
US20130080932A1 (en) 2011-09-27 2013-03-28 Sanjiv Sirpal Secondary single screen mode activation through user interface toggle
GB201117329D0 (en) * 2011-10-07 2011-11-23 Waterleaf Ltd Gaming systems, apparatus and method with dual game play
US9164544B2 (en) 2011-12-09 2015-10-20 Z124 Unified desktop: laptop dock, hardware configuration
USD709086S1 (en) 2012-02-07 2014-07-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
USD700204S1 (en) 2012-02-09 2014-02-25 Apple Inc. Display screen or portion thereof with graphical user interface
US9645699B2 (en) 2012-02-10 2017-05-09 Apple Inc. Device, method, and graphical user interface for adjusting partially off-screen windows
WO2013125851A1 (en) * 2012-02-24 2013-08-29 Samsung Electronics Co., Ltd. Device and method for moving display window on screen
KR101332811B1 (ko) * 2012-02-24 2013-11-27 주식회사 팬택 메시지 숨김 기능을 갖는 단말과 그 메시지 숨김 및 복원 방법
US9552129B2 (en) 2012-03-23 2017-01-24 Microsoft Technology Licensing, Llc Interactive visual representation of points of interest data
US9256349B2 (en) * 2012-05-09 2016-02-09 Microsoft Technology Licensing, Llc User-resizable icons
US9322665B2 (en) * 2012-06-05 2016-04-26 Apple Inc. System and method for navigation with inertial characteristics
USD689885S1 (en) * 2012-06-14 2013-09-17 Microsoft Corporation Display screen with animated graphical user interface
US9594469B2 (en) * 2012-07-25 2017-03-14 Sap Se Dynamic layering user interface
JP5584806B2 (ja) * 2012-09-25 2014-09-03 シャープ株式会社 セットトップボックス、表示システム、表示装置、テレビジョン受像機、制御方法、プログラム、および記録媒体
US20150199092A1 (en) * 2012-09-26 2015-07-16 Google Inc. Intelligent window placement
CN102929537B (zh) * 2012-10-12 2016-05-18 互动在线(北京)科技有限公司 基于安卓的功能菜单界面显示方法和模块
EP2728483A1 (de) * 2012-11-04 2014-05-07 Rightware Oy Bewertung der Neudimensionierung der Kapazität eines Webbrowsers
US10078626B1 (en) * 2012-11-27 2018-09-18 Amazon Technologies, Inc. Automated layout testing of content
CN103870091B (zh) * 2012-12-10 2018-06-15 腾讯科技(深圳)有限公司 多窗口显示方法及其系统
CN103902138A (zh) * 2012-12-26 2014-07-02 鸿富锦精密工业(深圳)有限公司 导览区块位置控制系统及方法
TWI486898B (zh) * 2013-01-09 2015-06-01 Mitake Information Corp 具浮動式選單快捷鍵之金融看盤裝置及方法
US20150212660A1 (en) * 2013-01-25 2015-07-30 Xiaoqiang Su System and method for displaying multiple applications
US11096668B2 (en) 2013-03-13 2021-08-24 Samsung Electronics Co., Ltd. Method and ultrasound apparatus for displaying an object
WO2014142468A1 (en) * 2013-03-13 2014-09-18 Samsung Electronics Co., Ltd. Method of providing copy image and ultrasound apparatus therefor
WO2014170714A1 (en) * 2013-04-18 2014-10-23 Wakefield Franz Antonio A tangible portable interactive electronic computing device
US9535565B2 (en) * 2013-05-13 2017-01-03 Microsoft Technology Licensing, Llc Smart insertion of applications into layouts
CN104182113B (zh) * 2013-05-21 2018-04-27 北大方正集团有限公司 层叠对象处理装置和方法
USD755843S1 (en) 2013-06-10 2016-05-10 Apple Inc. Display screen or portion thereof with graphical user interface
USD744522S1 (en) 2013-06-25 2015-12-01 Microsoft Corporation Display screen with graphical user interface
USD744519S1 (en) * 2013-06-25 2015-12-01 Microsoft Corporation Display screen with graphical user interface
USD779502S1 (en) 2013-06-25 2017-02-21 Microsoft Corporation Display screen with graphical user interface
US20150043830A1 (en) * 2013-08-08 2015-02-12 Yang Xu Method for presenting pictures on screen
USD713858S1 (en) * 2013-09-03 2014-09-23 Microsoft Corporation Display screen with graphical user interface
US9842532B2 (en) 2013-09-09 2017-12-12 Nvidia Corporation Remote display rendering for electronic devices
CN104571802B (zh) * 2013-10-28 2019-01-15 联想(北京)有限公司 一种信息处理方法及电子设备
CN104571906A (zh) * 2013-10-28 2015-04-29 联想(北京)有限公司 一种信息处理方法及电子设备
US9841944B2 (en) * 2013-10-28 2017-12-12 Lenovo (Beijing) Co., Ltd. Method for processing information and electronic apparatus
TWI608403B (zh) * 2014-02-14 2017-12-11 緯創資通股份有限公司 多視窗快速排列方法與系統及其行動裝置
USD766318S1 (en) 2014-03-07 2016-09-13 Apple Inc. Display screen or portion thereof with animated graphical user interface
US20150268838A1 (en) * 2014-03-20 2015-09-24 Institute For Information Industry Methods, systems, electronic devices, and non-transitory computer readable storage medium media for behavior based user interface layout display (build)
USD771118S1 (en) * 2014-03-27 2016-11-08 Google Inc. Portion of a display panel with a graphical user interface
ES2832604T3 (es) * 2014-03-31 2021-06-10 Gambro Lundia Ab Supresión de alarmas en tratamiento sanguíneo extracorporal
USD793412S1 (en) 2014-06-02 2017-08-01 Apple Inc. Display screen or portion thereof with graphical user interface
CN104103045B (zh) * 2014-07-09 2017-06-16 广东欧珀移动通信有限公司 终端的高斯模糊处理方法和系统
US20160034131A1 (en) * 2014-07-31 2016-02-04 Sony Corporation Methods and systems of a graphical user interface shift
US10338765B2 (en) * 2014-09-05 2019-07-02 Microsoft Technology Licensing, Llc Combined switching and window placement
US10146748B1 (en) * 2014-09-10 2018-12-04 Google Llc Embedding location information in a media collaboration using natural language processing
US10037122B2 (en) 2014-09-26 2018-07-31 Oracle International Corporation Canvas layout algorithm
JP6514521B2 (ja) * 2015-02-19 2019-05-15 オリンパス株式会社 表示制御装置
USD789394S1 (en) * 2015-03-18 2017-06-13 Google Inc. Display screen or portion thereof with transitional graphical user interface
USD780784S1 (en) * 2015-03-18 2017-03-07 Google Inc. Display screen or portion thereof with transitional graphical user interface
USD781896S1 (en) * 2015-03-18 2017-03-21 Google Inc. Display screen or portion thereof with transitional graphical user interface
KR20160149603A (ko) * 2015-06-18 2016-12-28 삼성전자주식회사 전자 장치 및 전자 장치에서의 노티피케이션 처리 방법
USD771653S1 (en) 2015-07-29 2016-11-15 Apple Inc. Display screen or portion thereof with animated graphical user interface
JP6448500B2 (ja) * 2015-08-07 2019-01-09 キヤノン株式会社 画像処理装置、画像処理方法
US10430040B2 (en) * 2016-01-18 2019-10-01 Microsoft Technology Licensing, Llc Method and an apparatus for providing a multitasking view
KR102471989B1 (ko) * 2016-12-07 2022-11-29 주식회사 알티캐스트 클라우드 기반 유저 인터페이스 제공 시스템 및 그 방법
JP6868427B2 (ja) * 2017-03-23 2021-05-12 シャープ株式会社 入力機能付き表示装置
KR102362850B1 (ko) * 2017-04-14 2022-02-15 삼성전자주식회사 디스플레이장치, 디스플레이 시스템 및 디스플레이장치의 제어방법
USD842321S1 (en) 2017-09-18 2019-03-05 Apple Inc. Electronic device with graphical user interface
USD910046S1 (en) 2017-09-29 2021-02-09 Apple Inc. Electronic device with graphical user interface
USD857033S1 (en) 2017-11-07 2019-08-20 Apple Inc. Electronic device with graphical user interface
JP6981326B2 (ja) * 2018-03-22 2021-12-15 富士通株式会社 情報処理装置、表示システム及びウィンドウ配置プログラム
US11157293B2 (en) * 2018-04-18 2021-10-26 Microsoft Technology Licensing, Llc Dynamic incident console interfaces
US10628987B2 (en) * 2018-05-08 2020-04-21 Google Llc Condensed transitions of graphical elements presented in graphical user interfaces
USD879132S1 (en) 2018-06-03 2020-03-24 Apple Inc. Electronic device with graphical user interface
CN109377538B (zh) * 2018-10-25 2023-05-02 天津津航计算技术研究所 一种自动化图像构造方法
USD883319S1 (en) 2018-10-29 2020-05-05 Apple Inc. Electronic device with graphical user interface
US11048391B2 (en) * 2019-01-03 2021-06-29 International Business Machines Corporation Method, system and computer program for copy and paste operations
JP7286967B2 (ja) * 2019-01-08 2023-06-06 京セラドキュメントソリューションズ株式会社 表示装置及び表示制御プログラム
CN109766069B (zh) * 2019-01-15 2023-05-12 高创(苏州)电子有限公司 辅助显示方法、装置、电子设备及计算机可读存储介质
USD916128S1 (en) 2019-03-04 2021-04-13 Apple Inc. Electronic device with icon
USD902947S1 (en) 2019-03-25 2020-11-24 Apple Inc. Electronic device with graphical user interface
USD923043S1 (en) * 2019-04-23 2021-06-22 The Procter & Gamble Company Display panel with graphical user interface for skin age determination
CN110389736A (zh) * 2019-06-05 2019-10-29 华为技术有限公司 一种投屏显示方法及电子设备
CN115629730A (zh) * 2019-07-23 2023-01-20 华为技术有限公司 显示方法及相关装置
USD968441S1 (en) 2020-04-30 2022-11-01 The Procter & Gamble Company Display screen with graphical user interface
USD962256S1 (en) 2020-05-14 2022-08-30 The Procter & Gamble Company Display screen with graphical user interface
USD949184S1 (en) 2020-06-17 2022-04-19 Apple Inc. Display screen or portion thereof with graphical user interface
CN114153357B (zh) * 2020-11-20 2025-02-21 完美世界(北京)软件科技发展有限公司 一种界面逻辑执行方法以及装置、电子设备、介质
KR102633219B1 (ko) * 2020-12-03 2024-02-02 경인전자 주식회사 인풋 디바이스
USD984461S1 (en) * 2021-06-04 2023-04-25 Apple Inc. Display screen or portion thereof with graphical user interface
US12432080B2 (en) * 2022-11-14 2025-09-30 Microsoft Technology Licensing, Llc Persistent display of prioritized participants with shared content of communication sessions

Family Cites Families (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4574364A (en) * 1982-11-23 1986-03-04 Hitachi, Ltd. Method and apparatus for controlling image display
EP0212563B1 (de) * 1985-08-14 1994-11-02 Hitachi, Ltd. Verfahren zur Anzeigesteuerung für ein System mit mehreren Bildausschnitten
US5148520A (en) * 1988-12-30 1992-09-15 Chipsoft Ca, Corp. Determining the locations of the contents of bordered areas of a generic form
US5305435A (en) * 1990-07-17 1994-04-19 Hewlett-Packard Company Computer windows management system and method for simulating off-screen document storage and retrieval
US5390295A (en) * 1991-12-20 1995-02-14 International Business Machines Corporation Method and apparatus for proportionally displaying windows on a computer display screen
US5371847A (en) * 1992-09-22 1994-12-06 Microsoft Corporation Method and system for specifying the arrangement of windows on a display
US5452406A (en) * 1993-05-14 1995-09-19 Microsoft Corporation Method and system for scalable borders that provide an appearance of depth
US5796402A (en) * 1993-12-03 1998-08-18 Microsoft Corporation Method and system for aligning windows on a computer screen
US5513342A (en) * 1993-12-28 1996-04-30 International Business Machines Corporation Display window layout system that automatically accommodates changes in display resolution, font size and national language
US5459825A (en) * 1994-03-14 1995-10-17 Apple Computer, Inc. System for updating the locations of objects in computer displays upon reconfiguration
US5487143A (en) * 1994-04-06 1996-01-23 Altera Corporation Computer user interface having tiled and overlapped window areas
US5577187A (en) * 1994-05-20 1996-11-19 Microsoft Corporation Method and system for tiling windows based on previous position and size
US5497454A (en) 1994-11-02 1996-03-05 International Business Machines Corporation System for presenting alternate views of a computer window environment
US5692143A (en) * 1994-12-30 1997-11-25 International Business Machines Corporation Method and system for recalling desktop states in a data processing system
US5838317A (en) * 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US5712995A (en) * 1995-09-20 1998-01-27 Galileo Frames, Inc. Non-overlapping tiling apparatus and method for multiple window displays
US5838318A (en) * 1995-11-10 1998-11-17 Intel Corporation Method and apparatus for automatically and intelligently arranging windows on a display device
US5940077A (en) 1996-03-29 1999-08-17 International Business Machines Corporation Method, memory and apparatus for automatically resizing a window while continuing to display information therein
US5859639A (en) * 1996-07-17 1999-01-12 International Business Machines Corporation Mechanism to control visible presence of desktop objects in a graphical user interface
US5760772A (en) * 1996-08-30 1998-06-02 Novell, Inc. Method for automatically resizing a child window
US8635649B2 (en) * 1996-12-19 2014-01-21 Gemstar Development Corporation System and method for modifying advertisement responsive to EPG information
US5959625A (en) * 1997-08-04 1999-09-28 Siemens Building Technologies, Inc. Method and system for facilitating navigation among software applications and improved screen viewing
US6008809A (en) * 1997-09-22 1999-12-28 International Business Machines Corporation Apparatus and method for viewing multiple windows within a dynamic window
US6075531A (en) * 1997-12-15 2000-06-13 International Business Machines Corporation Computer system and method of manipulating multiple graphical user interface components on a computer display with a proximity pointer
US6133914A (en) * 1998-01-07 2000-10-17 Rogers; David W. Interactive graphical user interface
US6473102B1 (en) 1998-05-11 2002-10-29 Apple Computer, Inc. Method and system for automatically resizing and repositioning windows in response to changes in display
US6832355B1 (en) * 1998-07-28 2004-12-14 Microsoft Corporation Web page display system
US6342908B1 (en) * 1999-03-22 2002-01-29 International Business Machines Corporation Progressive window organization
US6429883B1 (en) * 1999-09-03 2002-08-06 International Business Machines Corporation Method for viewing hidden entities by varying window or graphic object transparency
US6636244B1 (en) * 1999-09-13 2003-10-21 International Business Machines Corporation Pointing device selection method
US6806892B1 (en) * 1999-12-20 2004-10-19 International Business Machines Corporation Layer viewport for enhanced viewing in layered drawings
US7007241B2 (en) * 2000-05-12 2006-02-28 Lenovo (Singapore) Pte. Ltd. Display device with a focus buoy facility
US6654036B1 (en) * 2000-06-05 2003-11-25 International Business Machines Corporation Method, article of manufacture and apparatus for controlling relative positioning of objects in a windows environment
US6915490B1 (en) * 2000-09-29 2005-07-05 Apple Computer Inc. Method for dragging and dropping between multiple layered windows
US7032007B2 (en) * 2001-12-05 2006-04-18 International Business Machines Corporation Apparatus and method for monitoring instant messaging accounts
AU2003288667A1 (en) * 2003-01-14 2004-08-10 Koninklijke Philips Electronics N.V. Rearranging views on a computer screen
US7343567B2 (en) * 2003-04-25 2008-03-11 Microsoft Corporation System and method for providing dynamic user information in an interactive display

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20260105244A1 (en) * 2014-10-25 2026-04-16 Yieldmo, Inc. Methods for serving interactive content to a user

Also Published As

Publication number Publication date
DE602004025533D1 (de) 2010-04-01
CN101488072A (zh) 2009-07-22
US20040261038A1 (en) 2004-12-23
HK1074263A1 (en) 2005-11-04
CN1826575A (zh) 2006-08-30
US20040261037A1 (en) 2004-12-23
CN100474221C (zh) 2009-04-01
HK1137234A1 (en) 2010-07-23
EP2182424A1 (de) 2010-05-05
EP2182424B1 (de) 2017-11-29
ATE458218T1 (de) 2010-03-15
EP2284659A2 (de) 2011-02-16
US7739617B2 (en) 2010-06-15
HK1089261A1 (zh) 2006-11-24
EP2284659A3 (de) 2011-11-09
CN101488072B (zh) 2012-03-21
US8127248B2 (en) 2012-02-28
EP2284659B1 (de) 2018-07-25

Similar Documents

Publication Publication Date Title
CH698761B1 (de) Verfahren zum Darstellen von Objekten in einer Benutzerschnittstelle für einen Computer, Computervorrichtung und Computerprogrammprodukt.
DE202004009752U1 (de) Computersystem mit einer Benutzerschnittstelle, Datenträger und Signalfolge
DE69315969T2 (de) Darstellung von Informationen in einem Anzeigesystem mit transparenten Fenstern
DE69026647T2 (de) Zoommodusbetriebsarten in einem Anzeigegerät
DE69523543T2 (de) Taskbar mit Startmenü
DE69426548T2 (de) Benutzerschnittstelle mit durchclickenden Hilfsmitteln, die mit anderen Hilfsmitteln zusammengesetzt werden können
DE69615236T2 (de) Verfahren zur vergrösserten Sichtbarkeit und Auswahlmöglichkeit von Ikonen
DE69426141T2 (de) Benutzerschnittstelle mit bewegbarer Folie mit durchclickenden Hilfsmitteln
DE69426476T2 (de) Benutzerschnittstelle mit gleichzeitig zu bewegenden Hilfsmitteln und Cursor
DE60024655T2 (de) Verfahren zur benutzung von mit einem anzeigegerät verbundenen tasten für den zugriff und die ausführung von damit verbundenen funktionen
DE69620301T2 (de) Fensterverwaltung
DE10196846B4 (de) Verfahren und System zur Eingabe von Daten
DE69226744T2 (de) Verfahren und System zur stufenweisen Änderung der Fensterabmessung auf einem Anzeigeschirm
DE69417462T2 (de) Von dem System gelieferte Fensterelemente mit einstellbaren Abmessungen
DE69129712T2 (de) Arbeitsraumanzeigen
DE69703955T2 (de) Durch Augenbewegung gesteuerte Verschiebung
DE69428647T2 (de) Verfahren und Gerät zur Erzeugung eines zweiten gemischten Bildsignals im räumlichen Kontext eines ersten Bildsignals
DE69528885T2 (de) Software-notizen
DE102007043658A1 (de) Steuerung eines scrollbaren Kontext-Menüs
DE102013203526A1 (de) Verfahren und System für die Verwendung von Einstellungs-Handles zur Erleichterung der dynamischen Layout-Editierung
DE69429711T2 (de) Verfahren und Vorrichtung zur automatischen Speicherung eines Objekts in einer graphischen Benutzerschnittstelle in einem Datenverarbeitungssystem
DE102010005170B4 (de) Verfahren zur Auswertung wenigstens eines medizinischen Bilddatensatzes und Recheneinrichtung
DE69321289T2 (de) Objektorientiertes Anzeigesystem
HK1154294B (en) Graphical user interface system and method of displaying objects in a graphical user interface
HK1074263B (en) Graphical user interface system and method of displaying objects in a graphical user interface

Legal Events

Date Code Title Description
PL Patent ceased