DE102005011670B4 - Active Z-Order manipulation of a pop-up window in multimonitor systems - Google Patents
Active Z-Order manipulation of a pop-up window in multimonitor systems Download PDFInfo
- Publication number
- DE102005011670B4 DE102005011670B4 DE200510011670 DE102005011670A DE102005011670B4 DE 102005011670 B4 DE102005011670 B4 DE 102005011670B4 DE 200510011670 DE200510011670 DE 200510011670 DE 102005011670 A DE102005011670 A DE 102005011670A DE 102005011670 B4 DE102005011670 B4 DE 102005011670B4
- Authority
- DE
- Germany
- Prior art keywords
- window
- monitor
- windows
- main
- child
- Prior art date
- Legal status (The legal status 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 status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
- G06F3/1423—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display
- G06F3/1446—Digital output to display device ; Cooperation and interconnection of the display device with other functional units controlling a plurality of local displays, e.g. CRT and flat panel display display composed of modules, e.g. video walls
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G2300/00—Aspects of the constitution of display devices
- G09G2300/02—Composition of display devices
- G09G2300/026—Video wall, i.e. juxtaposition of a plurality of screens to create a display screen of bigger dimensions
Abstract
Verfahren zur Steuerung einer Positionierung eines Kindfensters (KF) bei einem Multimonitor-Computersystem (10), bei dem mehrere Applikationen parallel laufen, die jeweils ein Hauptfenster (HF) haben, das jeweils zumindest einem der Monitore (M) so zugeordnet ist, dass die Hauptfenster (HF) sich nicht überlappen, wobei das Kindfenster (KF) von einem Hauptfenster (HF) erzeugt wird, und gemäß einem ersten Positionierungsmechanismus an oberster Position auf dem ersten Monitor (M1) des erzeugenden Hauptfensters (HF) positioniert wird dadurch gekennzeichnet dass die Steuerung der Positionierung des Kindfensters (KF) auf einen weiteren Positionierungsmechanismus zugreift, der die Positionierung des Kindfensters (KF) dann steuert, wenn dieses vollständig oder anteilig auf zumindest einem weiteren Monitor (Mw) angezeigt werden soll, dem nicht das das Kindfenster (KF) erzeugende Hauptfenster (HF) zugeordnet ist, wobei der weitere Positionierungsmechanismus jedes Hauptfenster (HF), das dem weiteren Monitor (Mw) zugeordnet ist, jeweils an unterster Position auf. dem weiteren Monitor (Mw) positioniert, so dass das Kindfenster (KF) auch auf dem...Method for controlling a positioning of a child window (KF) in a multi-monitor computer system (10) in which several applications run in parallel, each having a main window (HF), each associated with at least one of the monitors (M) so that the Main window (RF) does not overlap, wherein the child window (KF) is generated by a main window (HF), and according to a first positioning mechanism at the top position on the first monitor (M1) of the generating main window (HF) is characterized in that the Control of the positioning of the child window (KF) accesses a further positioning mechanism, which then controls the positioning of the child window (KF), if this is to be displayed completely or proportionally on at least one further monitor (Mw), not the child window (KF) generating main window (HF) is assigned, wherein the further positioning mechanism of each main window (HF), the w is assigned to another monitor (Mw), in each case at the lowest position. the further monitor (Mw) positioned so that the child window (KF) also on the ...
Description
Die Erfindung liegt auf dem Gebiet der Positionierung bzw. Anordnung von Fenstern auf einem Bildschirm. Die meisten heute gängigen Betriebssysteme arbeiten mit der Fenstertechnik (Windowing), die es einem Benutzer ermöglicht, an verschiedenen Applikationen gleichzeitig zu arbeiten und diese über die Benutzer-Oberfläche zu steuern.The invention is in the field of positioning or arrangement of windows on a screen. Most current operating systems use windowing, which allows a user to work on different applications simultaneously and control them via the user interface.
Es ist heute übliche Praxis, zum Einen einen Arbeitsplatz mit mehreren Monitoren auszustatten, sodass der Anwender seine Applikationen auf zwei oder mehr Monitoren – und nicht wie bisher üblich auf nur einem Monitor – verteilen kann. Zum Anderen gibt es Gebiete der Technik, wie beispielsweise die Medizintechnik, die es erfordern, dass ein größerer Personenkreis mit einer Applikation arbeiten kann. Hierunter fallen z. B. Szenarien der Befundung eines Patienten durch eine oder mehrere bildgebende Applikationen. Auch in diesem Fall ist es sinnvoll, dass bestimmte Fenster der jeweiligen Applikation auf mehrere Monitore verteilt, positioniert bzw. dargestellt werden.It is now common practice, on the one hand to equip a workstation with multiple monitors, so that the user can distribute his applications on two or more monitors - and not as usual on just one monitor. On the other hand, there are areas of technology, such as medical technology, which require that a larger group of people can work with an application. These include z. B. Scenarios of patient diagnosis by one or more imaging applications. In this case, too, it makes sense to have certain windows of the respective application distributed, positioned or displayed on several monitors.
Bei den heute gängigen Betriebssystemen, z. B. Windows, Linux etc., ist es vorgesehen, dass Benutzer-Interaktionen über eine gegebenenfalls graphische – Oberfläche ausgeführt werden. Das heißt, dass alle erforderlichen Interaktionen zwischen der Applikation und dem Anwender über spezifische Fenster, die auf dem Bildschirm erscheinen, erfolgen. Sowohl die jeweilige Applikation als auch das zugrundeliegende Betriebssystem führen ihre Meldungen (z. B. notwendige Benutzer-Eingaben, Statusinformationen oder Warnhinweise der Applikation oder des Betriebssystems etc.) über bewegliche Fenster, so genannte Popup-Windows oder kurz Popups genannt, aus, die bei Eintritt eines spezifischen Ereignisses auf dem Monitor erscheinen.In today's operating systems, such. As Windows, Linux, etc., it is intended that user interactions are executed on a possibly graphical - surface. This means that all required interactions between the application and the user are made via specific windows that appear on the screen. Both the respective application and the underlying operating system execute their messages (eg necessary user inputs, status information or warnings of the application or the operating system etc.) via movable windows, so-called pop-up windows or pop-ups for short, which when a specific event occurs on the monitor.
Da üblicherweise mehrere Applikationen parallel, das heißt gleichzeitig, ausgeführt werden, müssen in der Regel auf einem Monitor mehrere Fenster dargestellt werden. In der Regel hat eine Applikation ein Haupt-Applikationsfenster. Die Applikation bzw. das Hauptfenster kann jeweils zumindest ein von ihm abgeleitetes Kindfenster erzeugen. Bei dem Kindfenster handelt es sich um ein Menü- oder Meldungsfenster beliebiger Art der jeweiligen Applikation. Hierunter fallen z. B. Popups mit einer Eingabeaufforderung oder Popups mit Warnhinweisen.Since usually several applications are executed in parallel, that is to say simultaneously, several windows usually have to be displayed on one monitor. As a rule, an application has a main application window. The application or the main window can each generate at least one child window derived from it. The child window is a menu or message window of any kind of the respective application. These include z. For example, pop-ups with a prompt or pop-ups with warnings.
Um einen einwandfreien und möglichst optimierten Arbeitsablauf bei mehreren Applikationen und damit bei mehreren Hauptfenstern auf einem Monitor sicherzustellen, ist bei Systemen aus dem Stand der Technik ein bestimmtes Verfahren bekannt, um die verschiedenen Fenster auf einem Monitor zu positionieren. Dieser Positionierungs-Mechanismus soll insbesondere sicherstellen, dass ein Popup-Fenster einer Applikation immer für den Benutzer sichtbar ist und somit über das Hauptfenster der jeweiligen Applikation geblendet wird. Damit kann gewährleistet werden, dass der Benutzer die in dem Popup-Fenster dargestellten Daten (z. B. die Warnhinweise) auch unmittelbar sieht. Darüber hinaus kann damit sichergestellt werden, dass alle Popup-Fenster ohne weitere Aktivität des Benutzers auf dem Monitor sichtbar positioniert werden.In order to ensure a flawless and optimally optimized workflow for a plurality of applications and thus for a plurality of main windows on a monitor, in systems of the prior art, a specific method is known for positioning the various windows on a monitor. In particular, this positioning mechanism is intended to ensure that a popup window of an application is always visible to the user and is thus dazzled via the main window of the respective application. This ensures that the user can directly see the data displayed in the popup window (eg the warnings). In addition, it can be ensured that all popup windows are visibly positioned on the monitor without further user activity.
Bei Windows Systemen und deren Derivaten basiert dieser Positionierungs-Mechanismus auf einer so genannten Z-Order. Analog zur mathematischen Z-Achse des Koordinatensystems werden die jeweiligen Fenster der Applikationen auf einer imaginären Linie angeordnet, die rechtwinklig zum Monitor verläuft. Die Fenster werden sozusagen auf einem Stapel angeordnet, wobei das erste Element des Stapels auch an oberster Stelle auf dem Monitor erscheint und somit immer sichtbar ist, während das letzte Element des Stapels ganz hinten in der Z-Order angeordnet ist und von den davor positionierten Fenstern verdeckt wird. Jedes Fenster, das auf dem Monitor dargestellt werden soll, hat eine eineindeutige Position innerhalb dieser Z-Order. Je nach Anordnung in dieser Z-Order kann ein Fenster vollständig sichtbar oder von anderen vollständig oder teilweise verdeckt sein. Weitere Parameter, die neben der Positionierung eines Fensters für die Repräsentation des Fensters auf dem Monitor entscheidend sind, sind z. B. dessen Größe, dessen Positionierung bezüglich der beiden anderen Achsen (x- und y-Achse des Koordinatensystems) und/oder dessen Art. In der Regel handelt es sich bei einem Fenster um einen rechteckigen Bildschirm-Ausschnitt. Es ist jedoch auch möglich, dass weitere Elemente einer Benutzer-Oberfläche umfasst sind, z. B. Steuerungselemente wie Buttons, Scroll-Bars etc. Bei windwos-basierten Systemen steuert ein so genannter Window-Manager die Anordnung der Fenster.For Windows systems and their derivatives, this positioning mechanism is based on a so-called Z-order. Analogous to the mathematical Z-axis of the coordinate system, the respective windows of the applications are arranged on an imaginary line that runs at right angles to the monitor. The windows are arranged on a stack, so to speak, with the first element of the stack also appearing at the top of the monitor and thus always visible, while the last element of the stack is located at the very back of the Z-order and from the windows positioned in front of it is covered. Each window to be displayed on the monitor has a one-to-one position within that Z-order. Depending on the arrangement in this z-order, a window may be completely visible or completely or partially obscured by others. Other parameters that are crucial in addition to the positioning of a window for the representation of the window on the monitor are, for. As its size, its positioning with respect to the other two axes (x and y axis of the coordinate system) and / or its nature. In a rule, a window is a rectangular screen cutout. However, it is also possible that further elements of a user interface are included, for. Control elements such as buttons, scroll bars, etc. In windwos-based systems, a so-called window manager controls the arrangement of the windows.
In der Z-Order werden zwei getrennte Abschnitte definiert: Ein Top-Most-Bereich und ein Normal-Bereich. Für den Top-Most-Bereich gilt, dass alle Fenster, die in diesem Bereich liegen, garantiert vor allen anderen Fenstern dargestellt werden und somit stets sichtbar sind. Demgegenüber können die Fenster im Normal-Bereich von anderen Fenstern verdeckt werden. Durch die bisherige Steuerung der Positionierung bei Single-Screen- oder Single-Monitor-Systemen kann man sicherstellen, dass ein von einer Haupt-Applikation bzw. von einem Hauptfenster generiertes Kindfenster im Top-Most-Bereich liegt und somit garantiert vollständig auf dem Monitor des Hauptfensters dargestellt werden kann. Der Mechanismus basiert auf einem im Stand der Technik bei Windows-Systemen üblicherweise eingesetzten Schema, nämlich auf der Z-Order.The Z-Order defines two separate sections: a top must area and a normal area. For the top must area, all windows in this area are guaranteed to be displayed in front of all the other windows, so they are always visible. In contrast, the windows in the normal range can be obscured by other windows. The previous control of the positioning in single-screen or single-monitor systems can ensure that a child window generated by a main application or a main window is in the top must area and thus guaranteed to be completely on top Monitor the main window can be displayed. The mechanism is based on a scheme commonly used in the prior art in Windows systems, namely the Z-order.
Das Konzept der Z-Order ist von einer Vorgänger/Nachfolger-Hierarchie abgeleitet und definiert eine ”Vor-Danach”- bzw. eine ”Oberhalb-Unterhalb”-Anordnung. Alle Fenster eines Monitors werden somit innerhalb dieser Z-Order-Hierarchie abgebildet. Diese Hierarchie beginnt bei dem Desktop-Fenster als Wurzelfenster. Als direkte Nachfolger bzw. Kinder des Desktop-Fensters können mehrere Hauptfenster auf einer so genannten Top-Level-Window-Ebene angeordnet werden. Jeweils eines dieser Hauptfenster kann sich dann, baumartig, wieder in ein oder mehrere Kindfenster aufteilen. Bei diesen Kindfenstern kann es sich um Popup-Windows oder um andere Kindfenster handeln. Ein Kindfenster kann nur ein Hauptfenster als Vorgänger haben.The concept of the Z-Order is derived from a predecessor / successor hierarchy and defines a "before-after" or "above-and-below" arrangement. All windows of a monitor are thus mapped within this Z-Order hierarchy. This hierarchy starts at the desktop window as a root window. As direct descendents or children of the desktop window, several main windows can be arranged on a so-called top-level window level. One of these main windows can then, in a tree-like manner, be divided again into one or more child windows. These child windows can be pop-up windows or other child windows. A child window can have only one main window as predecessor.
Elf Problem bisheriger Fenstersteuerungssysteme ergibt sich dann, wenn selbiges auf ein Multimonitorsystem erweitert werden soll. Ein Multimonitor-Computersystem wird in der Regel so angewendet, dass eine erste Applikation auf einem ersten Monitor und eine zweite Applikation auf einem zweiten Monitor dargestellt wird. Natürlich ist es auch möglich, das System auf mehr als zwei Monitore zu erweitern, sodass auf den weiteren Monitoren weitere Fenster positioniert werden können. Bei vorbekannten Systemen aus dem Stand der Technik liegt nun ein Problem darin, dass ein Kindfenster einer Applikation nur hinsichtlich des Monitors gesteuert werden kann, auf dem die Applikation bzw. das zugehörige Hauptfenster liegt. Bei vorbekannten Systemen aus dem Stand der Technik kann also somit nur sichergestellt werden, dass ein Kindfenster im Top-Most-Bereich in Bezug auf das Hauptfenster der jeweiligen Applikation – und damit nur in Bezug auf einen Monitor – liegt. Für Multimonitorsysteme ist dieses Problem bisher nicht gelöst.Eleven problem of previous window control systems arises when the same is to be extended to a multi-monitor system. A multi-monitor computer system is usually applied so that a first application is displayed on a first monitor and a second application on a second monitor. Of course, it is also possible to expand the system to more than two monitors, so that further windows can be positioned on the other monitors. In prior art systems of the prior art, there is now a problem in that a child window of an application can only be controlled with regard to the monitor on which the application or the associated main window is located. In prior art systems of the prior art, therefore, it can only be ensured that a child window is in the top must area with respect to the main window of the respective application, and thus only with respect to a monitor. For multi-monitor systems this problem has not been solved yet.
Die
Der Erfindung liegt deshalb die Aufgabe zugrunde, einen Weg aufzuzeigen, mit dem sichergestellt werden kann, dass alle von zumindest einer Haupt-Applikation generierten Kindfenster eines Multimonitorsystems vollständig sichtbar auf allen Monitoren dargestellt werden können.The invention is therefore based on the object to show a way to ensure that all generated by at least one main application child window of a multi-monitor system can be displayed completely visible on all monitors.
Insbesondere im medizintechnischen Bereich ist die Relevanz dieser Problemstellung offensichtlich. Handelt es sich beispielsweise bei der ersten Applikation um eine solche, die die Röntgenaufnahme eines Patienten steuert und bei der zweiten Applikation um eine solche, die die Bildwiedergabe des generierten Röntgenbildes steuert, so wird üblicherweise die erste Applikation mit dem ersten Hauptfenster auf einem ersten Monitor und die zweite Applikation mit dem zweiten Hauptfenster auf einem zweiten Monitor ausgeführt. Läuft nun die erste Applikation auf einen Fehler – z. B. einen Fehler bei der Erfassung der Daten –, so erscheint entsprechendes Popup-Fenster in Bezug auf das Hauptfenster der ersten Applikation. Auch bei einem Dual-Screen-System soll nun sichergestellt werden, dass dieses Popup-Fenster auch auf dem zweiten Monitor für den Benutzer vollständig sichtbar erscheint, sodass es zu keiner unnötigen Verzögerung des Arbeitsablaufes kommt. Nach dem Verfahren aus dem Stand der Technik würde das Popup-Fenster im eben geschilderten Fall nur auf dem ersten Monitor für die erste Applikation als oberstes Z-Order Element erscheinen und nicht auf dem zweiten Monitor. Auf dem zweiten Monitor würde das Popup-Fenster entweder gar nicht erscheinen oder nur teilweise, da es durch das Hauptfenster der zweiten Applikation verdeckt wäre. Gerade im Bereich medizintechnischer Anwendungen birgt dieses Problem ein hohes sicherheitstechnisches Risiko und ist von daher sehr kritisch zu bewerten, da im eben geschilderten Beispiel der Patient nicht einer unnötig langen Strahlenexposition (durch Verzögerungen bei der Röntgenbilderfassung) ausgesetzt sein sollte. Bisher fällt es also vollständig in den Verantwortungsbereich des jeweiligen Anwenders, dass dieser alle Monitore gleichzeitig im Auge behält und diese insbesondere auf das Erscheinen von Popups mit Warnhinweisen überwacht.Especially in the field of medical technology, the relevance of this problem is obvious. If, for example, the first application is one that controls the x-ray image of a patient and the second application controls one that controls the image reproduction of the generated x-ray image, the first application with the first main window usually becomes on a first monitor and the second application with the second main window running on a second monitor. Is the first application running on an error? B. an error in the detection of the data -, appears corresponding pop-up window with respect to the main window of the first application. Even with a dual-screen system is now to ensure that this pop-up window on the second monitor for the user appears completely visible, so there is no unnecessary delay in the workflow. According to the method of the prior art, the pop-up window in the case just described would only appear on the first monitor for the first application as the top Z-order element and not on the second monitor. On the second monitor, the pop-up window would either not appear at all or only partially because it would be obscured by the main window of the second application. Especially in the field of medical applications, this problem involves a high safety risk and is therefore very critical to evaluate, since in the example just described, the patient should not be exposed to unnecessarily long radiation exposure (by delays in X-ray image acquisition). So far, it is completely within the area of responsibility of the respective user that he keeps an eye on all the monitors at the same time and monitors them in particular for the appearance of pop-ups with warnings.
Die vorliegende Erfindung hat sich deshalb darüber hinaus zum Ziel gesetzt, einen Weg aufzuzeigen, mit dem die eben geschilderte Überwachung auf Popup-Fenster bei einem Multimonitorsystem automatisiert werden kann.The present invention has also set itself the goal of providing a way to automate the just described monitoring on pop-up windows in a multi-monitor system.
Diese Aufgabe wird durch ein Verfahren gemäß den beiliegenden Patentansprüchen gelöst.This object is achieved by a method according to the appended claims.
Insbesondere wird diese Aufgabe durch ein Verfahren zur Steuerung einer Positionierung eines Kindfensters gelöst, bei einem Multimonitor-Computersystem, bei dem mehrere Applikationen parallel laufen, die jeweils ein Hauptfenster haben, das jeweils zumindest einem der Monitore so zugeordnet ist, dass die Hauptfenster sich nicht überlappen, wobei das Kindfenster von einem Hauptfenster erzeugt wird, und gemäß einem ersten Positionierungsmechanismus an oberster Position auf dem ersten Monitor des erzeugenden Hauptfensters positioniert wird und wobei die Steuerung der Positionierung des Kindfensters auf einen weiteren Positionierungsmechanismus zugreift, der die Positionierung des Kindfensters dann steuert, wenn dieses vollständig oder anteilig auf zumindest einem weiteren Monitor angezeigt werden soll, dem nicht das das Kindfenster erzeugende Hauptfenster zugeordnet ist, wobei der weitere Positionierungsmechanismus jedes Hauptfenster, das dem weiteren Monitor zugeordnet ist, jeweils an unterster Position auf dem weiteren Monitor positioniert, so dass das Kindfenster auch auf dem weiteren Monitor vollständig sichtbar an oberster Position positioniert wird und wobei der erste und der weitere Positionierungsmechanismus auf einer Z-Order Anordnung basieren.In particular, this object is achieved by a method for controlling a positioning of a child window, in a multi-monitor computer system in which several applications run in parallel, each having a main window which is assigned to at least one of the monitors so that the main windows do not overlap , wherein the child window is generated by a main window, and according to a positioning the child window on a further positioning mechanism which then controls the positioning of the child window when it is to be displayed completely or proportionally on at least one further monitor, which is not assigned to the child window generating the main window, wherein the further positioning mechanism of each main window, which is assigned to the other monitor, respectively positioned at the lowest position on the other monitor, so that the child window is positioned on the other monitor completely visible at the top position and wherein the first and further positioning mechanisms are based on a Z-order arrangement.
Im Rahmen dieser Erfindung ist es also vorgesehen, dass mehrere Applikationen auf dem Multimonitorsystem laufen, die jeweils zumindest ein Hauptfenster generieren. Ein Hauptfenster ist damit eineindeutig einer Applikation zugeordnet. Da es mehrere Applikationen gibt, die parallel ausgeführt werden können, gibt es auch mehrere Hauptfenster, die auf den Monitoren positioniert bzw. verteilt werden müssen. In der Regel ist es vorgesehen, dass jeweils ein Hauptfenster auf jeweils einem Monitor positioniert wird. In der Regel müssen aber auch solche Szenarien abgedeckt sein, bei denen mehrIn the context of this invention, it is thus provided that a plurality of applications run on the multi-monitor system, each generating at least one main window. A main window is thus uniquely assigned to an application. Since there are several applications that can be executed in parallel, there are also several main windows that must be positioned or distributed on the monitors. As a rule, it is provided that a main window is positioned on a respective monitor. As a rule, however, scenarios must also be covered where more is needed
Applikationen als Monitore vorgesehen sind, sodass auch mehrere Hauptfenster (von mehreren Applikationen) auf einem Monitor dargestellt werden müssen. Dies ist möglich, indem eine Reihenfolge der Fenster definiert wird, die eine stapelartige Anordnung der Fenster hintereinander vorsieht oder indem die jeweiligen Hauptfenster so verkleinert werden, dass alle parallel, das heißt gleichzeitig nebeneinander, also nicht überlappend, positioniert und angezeigt werden können. In diesem Fall hat das erfindungsgemäß gelöste Überwachungsproblem jedoch nicht die Relevanz, da ein Benutzer leicht die Übersicht über mehrere Hauptfenster auf nur einem Monitor haben kann. Dies wird jedoch deutlich schwieriger, falls mehrere Hauptfenster auf mehreren Monitoren vorgesehen sind. In der Regel wird ein Hauptfenster jeweils bildschirmfüllend einem Monitor zugeordnet (also das typische Multimonitorszenario). Stehen die verwendeten Monitore nicht unmittelbar nebeneinander, so kann es sogar unmöglich sein, gleichzeitig den Überblick über alle Fenster beider Monitore zu haben. Noch problematischer erweist es sich, wenn mehr als zwei Monitore verwendet werden.Applications are provided as monitors, so that several main windows (of several applications) must be displayed on a monitor. This is possible by defining an order of the windows which provides a stacked arrangement of the windows in succession or by reducing the respective main windows so that they can all be positioned and displayed in parallel, ie simultaneously adjacent to one another, ie not overlapping. In this case, however, the monitoring problem solved according to the invention has no relevance since a user can easily have the overview of several main windows on only one monitor. However, this becomes much more difficult if several main windows are provided on multiple monitors. As a rule, a main window is in each case assigned to the full screen of a monitor (ie the typical multimonitor scenario). If the monitors used are not next to each other, it may even be impossible to have an overview of all the windows of both monitors at the same time. Even more problematic is when more than two monitors are used.
Ein Kindfenster definiert sich dadurch, dass es von einem Hauptfenster (das seinerseits einer Applikation zugeordnet ist) generiert wird und somit von diesem funktional abhängig ist und dadurch, dass es (auf dem Monitor) beweglich und nicht bildschirmfüllend ist. Alle Applikationen haben zumindest ein Hauptfenster, unabhängig davon, ob sie eine graphische Benutzer-Oberfläche (Graphical User Interface, GUI) umfassen oder nicht.A child window is defined by the fact that it is generated by a main window (which in turn is assigned to an application) and is thus functionally dependent on it and that it is mobile (on the monitor) and not screen-filling. All applications have at least one main window, whether or not they include a Graphical User Interface (GUI).
Durch den erfindungsgemäß verwendeten weiteren oder zweiten Positionierungs-Mechanismus wird das bisherige Konzept für eine Definition der Reihenfolge für die Anordnung der jeweiligen Fenster auf Multimonitorsysteme übertragen, so dass sichergestellt ist, dass alle Kindfenster vollständig sichtbar sind und nicht verdeckt werden, selbst und insbesondere auch dann, wenn sie auf einen anderen Monitor verschoben worden sind.By means of the further or second positioning mechanism used according to the invention, the previous concept for defining the order for the arrangement of the respective windows is transferred to multimonitor systems, so that it is ensured that all child windows are completely visible and not obscured, even and especially then if they have been moved to another monitor.
Bei bekannten Systemen ist die Z-Order nur insoweit für alle Fenster definiert, als dass es bei einem Multimonitorsystem in bestimmten Fällen zu einer Verdeckung eines Kindfensters durch ein anderes Hauptfenster kommen kann. Bisherige Systeme erweisen sich von daher als defizitär und können somit nicht unverändert auf Multimonitorsysteme übertragen bzw. für diese angewendet werden.In known systems, the Z-order is only defined for all windows to the extent that in a multimonitor system, in certain cases, a child window may be obscured by another main window. Previous systems therefore prove to be deficient and therefore can not be transferred unchanged to multimonitor systems or used for them.
Die erfindungsgemäße Lösung löst jedoch diese erkannte Problematik mit einem weiteren Positionierungs-Mechanismus, der auf dem weiteren Monitor angewendet wird und somit auch für solche Kindfenster ausgeführt wird, die zu einem „fremden” Hauptfenster (also zu einem Hauptfenster einer anderen Applikation, die auf einem anderen Monitor dargestellt wird) gehören. Werden mehr als zwei Monitore verwendet, so ist es vorgesehen, dass die Anzahl der Monitore der Anzahl der Positionierungs-Mechanismen entspricht. Das zugrundeliegende Prinzip wird jedoch beibehalten. Die Positionierungs-Mechanismen der weiteren Monitore gewährleisten, dass alle Kindfenster garantiert vollständig sichtbar an oberster Position dargestellt werden und somit nicht übersehen werden können. Dieser Positionierungs-Mechanismus basiert in der bevorzugten Ausführungsform auf der Z-Order. In alternativen Ausführungsformen können hier jedoch auch beliebige andere Anordnungsprinzipien eingesetzt werden.However, the solution of the invention solves this identified problem with a further positioning mechanism that is applied to the other monitor and thus also for such child window is executed, which leads to a "foreign" main window (ie to a main window of another application on a another monitor is displayed). If more than two monitors are used, it is envisaged that the number of monitors corresponds to the number of positioning mechanisms. However, the underlying principle is retained. The positioning mechanisms of the other monitors ensure that all child windows are guaranteed to be fully visible in top position and thus can not be overlooked. This positioning mechanism is based on the Z-order in the preferred embodiment. In alternative embodiments, however, any other arrangement principles can also be used here.
Der ursprüngliche Positionierungs-Mechanismus des zweiten Monitors wird durch das erfindungsgemäße Verfahren aktiv manipuliert, indem die bildschirmfüllenden Hauptapplikationsfenster dieses Monitors, die ursprünglich als oberste Elemente in der durch die Z-Order definierten Hierarchie angeordnet werden würden, als letztes (also unterstes) Element innerhalb der Z-Order angeordnet werden. Dies hat den gewünschten Effekt, dass alle Kindfenster, insbesondere alle Dialogfenster, oberhalb in Bezug auf die Z-Order liegen. Damit kann sichergestellt werden, dass diese Fenster garantiert nicht verdeckt werden, unabhängig davon, ob sie auf ihrem Ursprungs-Monitor oder ob sie von einem ”fremden” Hauptfenster (gegebenenfalls auf einem ”fremden” Monitor) positioniert worden sind.The original positioning mechanism of the second monitor is actively manipulated by the method of the present invention by placing the main screen-filling application windows of that monitor, which would initially be the topmost elements in the hierarchy defined by the Z-order, as the last (lowest) element within the Z-order will be arranged. This has the desired Effect that all child windows, in particular all dialog windows, are located above in relation to the Z-Order. This ensures that these windows are guaranteed not to be obscured, regardless of whether they have been positioned on their original monitor or if they have been positioned by a "foreign" main window (possibly on a "foreign" monitor).
Diese aktive Manipulation der Z-Order erfolgt zu voreinstellbaren Zeitpunkten. Es ist einstellbar, wann der Mechanismus zur aktiven Umordnung der Z-Order ausgelöst wird. In der bevorzugten Ausführungsform der Erfindung ist es. voreingestellt, dass der Mechanismus durch ein bestimmtes Ereignis des Window-Managers getriggert wird, nämlich dann, wenn der Window-Manager der Applikation mitteilt, dass ihr Fenster in der Z-Order verschoben werden soll. Somit umfasst also das Verfahren eine Schnittstelle zum Window-Manager, insbesondere zum Win32-Window-Manager, im Falle des Windows-Betriebssystems. Es ist jedoch ebenso möglich, das Prinzip der Erfindung auf andere Betriebssysteme anzuwenden. Dann wird dieser Positionierungs-Mechanismus nach dem oben erwähnten Schema aktiv manipuliert. Von der Lösung sind also auch solche Systeme umfasst, bei denen der Positionierungs-Mechanismus nicht auf der Z-Order basiert, sondern auf einem anderen Ordnungs-Mechanismus.This active manipulation of the Z-Order takes place at presettable times. It is adjustable when the mechanism for active reordering of the Z-Order is triggered. In the preferred embodiment of the invention it is. By default, the mechanism is triggered by a specific event of the window manager, namely when the window manager informs the application that its window should be moved in the z-order. Thus, the method thus includes an interface to the window manager, in particular to the Win32 window manager, in the case of the Windows operating system. However, it is also possible to apply the principle of the invention to other operating systems. Then, this positioning mechanism is actively manipulated according to the above-mentioned scheme. The solution also includes systems in which the positioning mechanism is not based on the Z-order but on a different ordering mechanism.
In einer alternativen Ausführungsform der Erfindung ist es vorgesehen, dass jeweils ein Hauptfenster explizit einem erfindungsgemäßen Überwachungsvorgang zugeführt werden kann, der sicherstellt, dass alle Kindfenster dieser Applikation bzw. dieses Hauptfensters vollständig sichtbar an oberster Position eines Positionierungsmechanismus angezeigt werden. Es ist also vorgesehen, dass der aktiven Manipulation des zweiten Positionierungs-Mechanismus ein zusätzlicher Verfahrensschritt vorangestellt ist: Nämlich der Verfahrensschritt des Identifizierens des zu überwachenden Hauptfensters oder der Menge der zu überwachenden Hauptfenster.In an alternative embodiment of the invention, it is provided that in each case a main window can be explicitly fed to a monitoring process according to the invention, which ensures that all child windows of this application or this main window are displayed completely visible at the top position of a positioning mechanism. It is therefore provided that the active manipulation of the second positioning mechanism is preceded by an additional method step: namely the method step of identifying the main window to be monitored or the amount of main windows to be monitored.
Vorteilhafterweise ist es vorgesehen, dass automatisch erfasst wird, mit welcher Applikation der Benutzer gerade interagiert bzw. welche Applikation der Benutzer aktivieren möchte. Üblicherweise erfolgt dies, indem der Benutzer Aktivitäten auf einem der jeweiligen Applikation zugeordneten Fenster (Hauptfenster oder Kindfenster) ausführt. Dies können z. B. Mausklicks oder sonstige Benutzereingaben sein. Über diese Aktivitäten des Benutzers wird die jeweilige Applikation nach den Verfahren aus dem Stand der Technik aktiviert. Andere Applikationen, die ebenfalls parallel ausgeführt werden, sind nicht aktiviert. Zu einem Zeitpunkt kann also immer nur eine Applikation vom Benutzeraktiviert sein. Denkbar sind beispielsweise hier solche Szenarien, bei denen eine Applikation aktiviert ist, während eine oder mehrere weitere Applikationen im Hintergrund laufen und beispielsweise Daten aus dem Internet herunterladen. Alle Prozesse, die im Hintergrund ablaufen sollen, werden als ”inaktiviert” gekennzeichnet. Die Unterscheidung zwischen aktiven und inaktiven Fenstern erfolgt durch unterschiedliche Arten der Visualisierung auf dem Monitor (z. B. hell für aktiv und dunkel für inaktiv). In einer alternativen Ausführungsform kann es jedoch vorgesehen sein, dass mehrere Applikationen gleichzeitig als aktiviert gekennzeichnet sein sollen.Advantageously, it is provided that it is automatically detected with which application the user is currently interacting or which application the user wishes to activate. This is usually done by the user executing activities on a window associated with the respective application (main window or child window). This can z. B. mouse clicks or other user input. About these activities of the user, the respective application is activated by the methods of the prior art. Other applications that are also running in parallel are not activated. So only one application can be activated by the user at a time. Conceivable, for example, such scenarios in which an application is activated while running one or more applications in the background and, for example, download data from the Internet. All processes that are to run in the background are marked as "deactivated". The distinction between active and inactive windows is made by different types of visualization on the monitor (eg bright for active and dark for inactive). In an alternative embodiment, however, provision may be made for a plurality of applications to be identified as activated at the same time.
Abhängig von der jeweiligen Applikation und abhängig vom Betriebssystem gibt es mehrere grundsätzliche Möglichkeiten, verschiebbare Kindfenster zu einer Applikation auf den Monitor in Bezug auf die x- und y-Achse (und nicht in Bezug auf die z-Achse) darzustellen (z. B. betreffend deren Größe, Form, Darstellung). Dabei ist es möglich, dass sich die Kindfenster überlappen. Auf jeden Fall wird durch den erfindungsgemäßen Mechanismus sichergestellt, dass alle Kindfenster vollständig angezeigt werden, unabhängig davon, ob sie von dem Hauptfenster des Monitors stammen, auf dem sie dargestellt werden sollen oder nicht (also von einem fremden Hauptfenster).Depending on the respective application and depending on the operating system, there are several fundamental possibilities to display movable child windows for an application on the monitor with respect to the x and y axes (and not with respect to the z axis) (eg. concerning their size, shape, representation). It is possible that the child windows overlap. In any case, the mechanism according to the invention ensures that all child windows are completely displayed, irrespective of whether they originate from the main window of the monitor on which they are to be displayed or not (ie from a foreign main window).
Bei einer alternativen Ausführungsform der Erfindung ist es vorgesehen, dass ein Kindfenster zu einer Applikation nicht vollständig auf dem Monitor dieser Applikation erscheint, sondern nur anteilig. Ein Teil des Kindfensters wird auf dem ersten Monitor (der dem erzeugenden Hauptfenster zugeordnet ist) dargestellt, während ein restlicher Teil des Kindfensters auf einem weiteren, zweiten Monitor dargestellt wird, der nicht dem erzeugenden Hauptfenster zugeordnet ist. Hier ist also vorgesehen, dass das Kindfenster immer im zentralen Bereich in Bezug auf die Gesamtdarstellung erscheint und damit sozusagen „zwischen den Monitoren”. Die Gesamtdarstellung ergibt sich, wenn man das Bild zugrunde legt, was sich ergibt, wenn man alle verwendeten Monitore unmittelbar nebeneinander platziert und die auf ihnen dargestellten Fenster darstellt. Wesentlich dabei ist, dass der restliche Teil des Kindfensters (der auf dem fremden Monitor dargestellt werden soll), nach dem weiteren Positionierungsmechanismus garantiert auch an oberster Position der Fenster auf dem fremden Monitor erscheint und damit vollständig sichtbar ist.In an alternative embodiment of the invention, it is provided that a child window for an application does not appear completely on the monitor of this application, but only proportionally. A portion of the child window is displayed on the first monitor (associated with the originating main window), while a remainder of the child window is displayed on another second monitor that is not associated with the originating main window. Here it is thus provided that the child window always appears in the central area in relation to the overall presentation and thus, so to speak, "between the monitors". The overall picture is obtained by using the picture, which results from placing all the monitors used next to each other and displaying the windows displayed on them. It is essential that the remaining part of the child window (which should be displayed on the external monitor), after the further positioning mechanism guaranteed also appears at the top position of the windows on the external monitor and thus is completely visible.
Ist es also vorgesehen, dass ein Kindfenster grundsätzlich nur anteilig auf dem Monitor dargestellt wird, der dem Hauptfenster zugeordnet ist, so wird der zweite Positionierungs-Mechanismus verwendet, um den restlichen Anteil auf dem zweiten Monitor in der Anordnungsebene (in der Z-Order) zu positionieren, wie es entsprechend der erste Positionierungsmechanismus für das jeweilige Kindfenster auf dem ursprünglichen Monitor vorsieht.Thus, if it is envisaged that a child window will in principle only be proportionally displayed on the monitor which is assigned to the main window, then the second positioning mechanism is used to to position the remaining portion on the second monitor in the layout level (in the Z-Order), as appropriate, according to the first positioning mechanism for the respective child window on the original monitor.
Die Verteilung der Anteile kann erfindungsgemäß in einem Bereich zwischen 0 und 100 Prozent auf den jeweiligen Monitoren liegen. In der einer bevorzugten Ausführungsform ist es jedoch vorgesehen, dass ein Kindfenster mit einem Anteil von 100% Prozent auf einem Monitor dargestellt wird (dabei ist nicht festgelegt, ob der Monitor der erzeugenden Hauptapplikation zugeordnet ist oder nicht.According to the invention, the distribution of the proportions can be in a range between 0 and 100 percent on the respective monitors. In a preferred embodiment, however, it is provided that a child window with a proportion of 100% percent is displayed on a monitor (it is not determined whether the monitor is assigned to the generating main application or not.
In einer bevorzugten Ausführungsform der Erfindung erfolgt die Steuerung der Positionierung für das Kindfenster zentral. Dies birgt den Vorteil, dass in nur einer zentralen Komponente eine Wirkung für beliebige Applikationen definiert werden kann. Mit der hier beschriebenen Lösung ist es somit nicht mehr notwendig, jede Applikation einzeln zu steuern. Darüber hinaus ist ein Vorteil darin zu sehen, dass bereits existierende Applikationen nicht angepasst werden müssen, damit der bezeichnete Darstellungs-Mechanismus für Kindfenster angewendet werden kann.In a preferred embodiment of the invention, the control of the positioning for the child window is done centrally. This has the advantage that in only one central component, an effect for any application can be defined. With the solution described here, it is therefore no longer necessary to control each application individually. In addition, an advantage is that existing applications do not need to be customized in order for the designated child window rendering mechanism to be applied.
Wird ein Kindfenster nur anteilig auf einem ersten Ursprungs-Monitor dargestellt, so kann sichergestellt werden, dass dieses Fenster in jedem Fall vollständig sichtbar ist, da der weitere Anteil des Kindfenster, der auf dem weiteren Monitor dargestellt werden soll, an oberster Stelle angeordnet wird, sodass das Kindfenster insgesamt vollständig sichtbar ist.If a child window is displayed only proportionally on a first source monitor, then it can be ensured that this window is completely visible in any case, since the further portion of the child window, which is to be displayed on the other monitor, is placed at the top, so that the child window is completely visible.
In einer alternativen Ausführungsform der Erfindung werden grundsätzlich alle Kindfenster aller Applikationen an oberster Stelle auf den jeweiligen Monitoren positioniert. In diesem Fall erscheinen Dialogfenster und Popup-Fenster auch von solchen Applikationen, die im Hintergrund laufen und aktuell vom Anwender nicht aktiviert worden sind. Dies erhöht die Sicherheit des Systems, da grundsätzlich alle Kindfenster angezeigt werden.In an alternative embodiment of the invention, basically all child windows of all applications are positioned at the top of the respective monitors. In this case, dialog boxes and pop-up windows also appear from applications that run in the background and have not currently been activated by the user. This increases the security of the system, since basically all child windows are displayed.
In einer weiteren vorteilhaften Ausführungsform der Erfindung ist es vorgesehen, dass der zweite Positionierungs-Mechanismus (also der Positionierungs-Mechanismus, der auf den zweiten Monitor bezogen ist) zu einem fremden Hauptfenster (also zu einem Hauptfenster einer fremden Applikation, das heißt, die auf einem anderen Monitor angezeigt wird) dann aktiviert wird, sobald eine Positionsveränderung des Hauptfensters (auf dem anderen Monitor) festgestellt worden ist. In der Regel erfolgt die Feststellung über eine Meldung des Window-Managers des Betriebssystems Windows.In a further advantageous embodiment of the invention, it is provided that the second positioning mechanism (ie the positioning mechanism, which is related to the second monitor) to a foreign main window (ie to a main window of a foreign application, that is, on another monitor) is then activated as soon as a position change of the main window (on the other monitor) has been detected. As a rule, the determination is made via a message from the window manager of the Windows operating system.
Durch die automatische Steuerung und/oder durch die automatische Positionierung des Kindfensters bzw. der Kindfenster an oberster Stelle in der Anordnungs-Hierarchie, ist es möglich, die Sicherheit des Gesamtsystems deutlich zu erhöhen, da grundsätzlich alle Warnhinweise angezeigt werden. Des Weiteren kann durch die erfindungsgemäße Lösung sichergestellt werden, dass auf jedem der verwendeten Monitore ein Kindfenster anteilig oder voll und vollständig sichtbar positioniert ist. Damit entsteht der Vorteil, dass der Anwender selbst dann keinen Fehler durch Nichtbeachtung von Warnhinweisen machen kann, wenn er nur einen Monitor des Multimonitorsystems betrachtet und sich gegebenenfalls gerade einer anderen Applikation widmet.By the automatic control and / or by the automatic positioning of the child window or the child window at the top of the arrangement hierarchy, it is possible to significantly increase the security of the overall system, since in principle all warnings are displayed. Furthermore, it can be ensured by the inventive solution that a child window is proportionally or fully and completely visible positioned on each of the monitors used. This results in the advantage that the user can not make a mistake even by ignoring warnings, if he considers only one monitor of the multi-monitor system and possibly just devotes himself to another application.
In einer vorteilhaften Ausführungsform der Erfindung ist es vorgesehen, dass ein Hauptfenster grundsätzlich jeweils bildschirmfüllend auf einem Monitor dargestellt wird. Sollen mehrere Hauptfenster dargestellt werden, so werden diese auf die jeweils dafür vorgesehenen Monitoren verteilt bzw. verschoben.In an advantageous embodiment of the invention, it is provided that a main window is always shown in full screen on a monitor. If several main windows are to be displayed, these will be distributed or moved to the respectively provided monitors.
Alternativ dazu ist es möglich, dass ein Hauptfenster nicht bildschirmfüllend dargestellt wird, sondern nur einen Teil des Bildschirms einnimmt. Damit können mehrere Hauptfenster und damit mehrere Applikationen parallel auf einem Monitor dargestellt werden. Auch für dieses Szenario kann die erfindungsgemäße Lösung angewendet werden, indem ein Kindfenster, das von einem Hauptfenster erzeugt wird, vollständig sichtbar und an oberster Stelle der Z-Order auf dem Monitor positioniert wird, unabhängig davon, ob noch andere Hauptfenster anderer Applikationen auf demselben Monitor dargestellt werden. Im letzteren Fall, bei dem mehrere Hauptfenster auf einem Monitor dargestellt werden, ist es wesentlich, dass die Hauptfenster nicht-überlappend positioniert werden.Alternatively, it is possible that a main window is not displayed full screen, but occupies only a portion of the screen. This allows several main windows and thus several applications to be displayed in parallel on one monitor. Also for this scenario, the inventive solution can be applied by a child window, which is generated by a main window, completely visible and positioned at the top of the Z-order on the monitor, regardless of whether other main windows of other applications on the same monitor being represented. In the latter case, where multiple main windows are displayed on a monitor, it is essential that the main windows be positioned non-overlapping.
Die vorstehend beschriebenen, erfindungsgemäßen Ausführungsformen des Verfahrens können auch als Computerprogrammprodukt ausgebildet sein, wobei der Computer zur Durchführung des oben beschriebenen Verfahrens veranlasst wird und dessen Programmcode durch einen Prozessor ausgeführt wird.The above-described embodiments of the method according to the invention can also be designed as a computer program product, wherein the computer is caused to carry out the method described above and whose program code is executed by a processor.
Weiterhin ist es möglich, das Verfahren als computer-implementiertes das zur Speicherung des vorstehend beschriebenen, computerimplementierten Verfahrens bestimmt ist und von einem Computer lesbar ist. Furthermore, it is possible that the method is computer-implemented and is intended to store the computer-implemented method described above and is readable by a computer.
Darüber hinaus ist es möglich, dass einzelne Komponenten des vorstehend beschriebenen Verfahrens in einer verkaufsfähigen Einheit und die restlichen Komponenten in einer anderen verkaufsfähigen Einheit – sozusagen als verteiltes System – ausgeführt werden können. In addition, it is possible that individual components of the method described above in a salable unit and the remaining components in another salable unit - so to speak, as a distributed system - can be performed.
Weitere vorteilhafte Ausführungsformen ergeben sich aus den Unteransprüchen.Further advantageous embodiments will become apparent from the dependent claims.
In der folgenden detaillierten Figurenbeschreibung werden nicht einschränkend zu verstehende Ausführungsbeispiele mit deren Merkmalen und weiteren Vorteilen anhand der Zeichnung besprochen. In dieser zeigen:In the following detailed description of the figures, non-limiting exemplary embodiments with their features and further advantages will be discussed with reference to the drawing. In this show:
Ein Multimonitorsystem
Auf dem Computersystem
In der in
Grundsätzlich ist es möglich, dass die Applikation ein Kindfenster KF, insbesondere ein Popup-Fenster zum Dialog mit dem Benutzer, generiert. Um einen möglichst verlustfreien Arbeitsablauf sicherzustellen, ist es vorgesehen, dass die generierten Popup-Windows sichtbar, das heißt an oberster Position auf dem Bildschirm, dargestellt werden.In principle, it is possible for the application to generate a child window KF, in particular a popup window for dialog with the user. In order to ensure a loss-free workflow as possible, it is provided that the generated pop-up windows are displayed visibly, that is to say at the highest position on the screen.
Bei einem auf Windows der Firma Microsoft basierenden Multimonitor-Computersystem
Überlappend, verdeckend, transparent, in gleicher Größe, in unterschiedlicher Größe, etc. Die Z-Order entspricht einer Positionierungs-Reihenfolge, bei der die Fenster, die auf dem Monitor M darzustellen sind, auf einem gedachten Stapel angeordnet werden und sozusagen gestaffelt hintereinander dargestellt werden, wobei nur das oberste Fenster vollständig sichtbar ist und die dahinter angeordneten Fenster von den vorgehenden jeweils verdeckt werden.In a based on Microsoft Windows Microsoft multi-monitor computer system
Overlapping, concealing, transparent, in the same size, in different sizes, etc. The Z-order corresponds to a positioning order in which the windows that are to be displayed on the monitor M are arranged on an imaginary stack and, so to speak, staggered in succession be, with only the topmost window is completely visible and behind the windows arranged behind each of the preceding are hidden.
Wird nun der aus dem Stand der Technik bekannte windows-basierte Positionierungsmechanismus unverändert bei einem Multimonitorsystem verwendet, so kann sich unter Umständen das in
Insbesondere bei zeitkritischen Anwendungen, wie beispielsweise medizintechnischen Anwendungen oder Applikationen auf dem Gebiet der Fertigungstechnik, ist es notwendig, dass ein generiertes Kindfenster KF unmittelbar und sofort auf allen Monitoren vom Anwender zur weiteren Bearbeitung gesehen werden kann, auch dann, wenn das Kindfenster auf einem Monitor dargestellt werden soll, das einem anderen (fremden) Hauptfenster zugeordnet ist. Vergegenwärtigt man sich, dass insbesondere Warnhinweise und sonstige Steuerungsfunktionen über solche Kindfenster KF verarbeitet werden, so wird es deutlich, dass die Positionierung des Kindfensters KF auf allen Monitoren M, M1, M2, ... ein sehr wesentliches Kriterium für das fehlerfreie Funktionieren des Gesamtsystems ist.Especially in time-critical applications, such as medical applications or applications in the field of manufacturing technology, it is necessary that a generated child window KF immediately and immediately on all monitors by the user for further processing can be seen, even if the child window on a monitor to be displayed, which is assigned to another (foreign) main window. If one realizes that, in particular, warnings and other control functions are processed via such child windows KF, it becomes clear that the positioning of the child window KF on all monitors M, M 1 , M 2 ,..., Is a very essential criterion for error-free functioning of the overall system.
Ist z. B. eine erste Applikation ausgelegt, um Daten über einen Computertomographen zu erfassen und ist diese Applikation auf dem Monitor M1 verschoben und hat der Benutzer eine zweite Applikation auf dem Monitor M2 verschoben, die lediglich auf die Anzeige von Daten ausgelegt ist, so ist es in der Regel nicht möglich, die beiden Monitore M1 und M2 unmittelbar nebeneinander (so wie theoretisch in
In
Das Hauptfenster HF1 hat also ein Kindfenster KF generiert, das teilweise oder vollständig auf dem Monitor M1 an oberster Position der Z-Order dargestellt werden soll, so dass es sichtbar für den Benutzer ist. Vorzugsweise ist der zweite Positionierungs-Mechanismus für den Monitor M2 vorgesehen, der in Datenaustausch mit dem ersten Positionierungs-Mechanismus des ersten Monitors M1 stehen kann und nun aktiv die Z-Order für die Fenster auf dem zweiten Monitor M2 manipuliert, so dass die bildschirmfüllenden Hauptapplikationsfenster HF des zweiten Monitors M2 als letztes bzw. unterstes Element, in der Z-Order eingeordnet werden. Damit kann sichergestellt werden, dass alle Popup-Fenster in Bezug auf die Z-Order oberhalb liegen und garantiert nicht verdeckt dargestellt werden. Dieser Effekt ist unabhängig davon, ob die Kindfenster KF auf ihrem Ursprungsmonitor (in diesem Fall M1) oder vor einem ”fremden” Hauptfenster (in diesem Fall: das auf dem zweiten Monitor M2 dargestellte) positioniert werden sollen. Erfindungsgemäß ergibt sich das in
In
So kann es vorgesehen sein, dass das Kindfenster KF stets vollständig auf einem der Monitor M dargestellt wird; dabei ist es unerheblich, ob dieser Monitor dem erzeugenden Hauptfenster HF1 zugeordnet ist oder nicht.Thus, it can be provided that the child window KF is always displayed completely on one of the monitors M; it is irrelevant whether this monitor is assigned to the generating main window HF 1 or not.
Mittels des beschriebenen Verfahrens werden alle Positionsveränderungen in Bezug auf die Z-Order des zweiten Monitors erfasst, auf dem das Kindfenster KF dargestellt werden soll. Falls vom Window-Manager geplant ist, ein anderes Fenster als oberstes Fenster zu positionieren, wird die Ausführung dieses Befehls abgefangen und das jeweilige Hauptfenster HF wird aktiv als letztes Element in der Z-Order auf dem Monitor angeordnet – es wird sozusagen vor dessen Darstellung auf dem Monitor M2 in Hinblick auf seine Z-Order-Position zurückgesetzt – bzw. manipuliert –, sodass es aktiv in den Hintergrund gedrängt wird. Ein Vorteil des erfindungsgemäßen Systems ist darin zu sehen, dass das Verfahren auf beliebig viele Monitore angewendet werden kann, wenn die jeweiligen Hauptfenster HF nicht-überlappend dargestellt werden.By means of the described method, all changes in position with respect to the Z-order of the second monitor are recorded, on which the child window KF is to be displayed. If the window manager is planning to position a window other than the top window, the execution of that command is intercepted and the respective main window HF is actively placed as the last element in the z-order on the monitor - it appears before its appearance the monitor M 2 reset - or manipulated - in view of its Z-order position, so that it is actively pushed into the background. An advantage of The system according to the invention can be seen in that the method can be applied to any number of monitors if the respective main windows HF are displayed non-overlapping.
Ein weiterer Vorteil des erfindungsgemäßen Vorgehens ist darin zu sehen, dass das Verfahren mit beliebigen anderen Applikationen zusammen eingesetzt werden kann, da die aktive Manipulation der Z-Order durch das Hauptfenster HF selbst durchgeführt wird und somit keine Bedingungen an die jeweiligen Kindfenster KF gestellt werden. Es kann somit sichergestellt werden, dass keines der generierten Kindfenster KF verdeckt wird.Another advantage of the procedure according to the invention is the fact that the method can be used together with any other applications, since the active manipulation of the Z-order is performed by the main window HF itself and thus no conditions are placed on the respective child window KF. It can thus be ensured that none of the generated child window KF is obscured.
Ein sich in der Praxis als wesentlich erweisender Vorteil ist darin zu sehen, dass die Umsetzung der Erfindung keine prinzipiellen Änderungen des bisherigen Standes der Technik (wie in
In einer vorteilhaften Ausführungsform der Erfindung ist es zusätzlich vorgesehen, dass das jeweilige Hauptapplikations Fenster HF nach der Manipulation der Z-Order auf dem weiteren Monitor, insbesondere auf dem zweiten Monitor M2, alle weiteren Fenster, für die der Mechanismus aktiviert worden ist, über die Manipulation der Z-Order informiert. Vorteilhafterweise kann dadurch sichergestellt werden, dass eine vorher definierte Reihenfolge der Z-Order innerhalb dieser Gruppe von Fenstern erhalten bleibt und keine weiteren Änderungen an den Fenstern notwendig werden. Bevorzugter Weise wird die Meldung des jeweiligen Hauptapplikations-Fensters. HF über das Setzen eines entsprechenden Flags ausgeführt. Jedoch auch andere alternative Mechanismen zur Mitteilung des Ereignisses sind hier denkbar.In an advantageous embodiment of the invention, it is additionally provided that the respective main application window HF after the manipulation of the Z-order on the other monitor, in particular on the second monitor M 2 , all other windows for which the mechanism has been activated via informed the manipulation of the Z-Order. Advantageously, this can ensure that a predefined order of the Z-order is retained within this group of windows and no further changes to the windows become necessary. Preferably, the message of the respective main application window. HF is executed by setting a corresponding flag. However, other alternative mechanisms for communicating the event are also conceivable here.
Bei dem beschriebenen Verfahren handelt es sich in der bevorzugten Ausführungsform um ein Modul, das als Element in einer Grafikkarte integriert sein kann oder eine Schnittstelle zur Grafikkarte als unabhängiges Produkt aufweist und die Positionierung des Kindfenster KF in vorstehend beschriebener Weise ausführt.In the preferred embodiment, the described method is a module that may be integrated as an element in a graphics card or that interfaces with the graphics card as an independent product and that performs the positioning of the child window KF in the manner described above.
Im folgenden wird ein Ausschnitt aus einer Implementierung eines Hauptfensters HF dargestellt, die den wesentlichen Kern der aktiven Z-Order-Manipulation veranschaulichen soll.The following is an excerpt from an implementation of a main window HF, which is intended to illustrate the essential core of active Z-order manipulation.
Sobald das Fenster HF1 von der Laufzeitumgebung die Nachricht erhält, dass sich seine Position in der Z-Order ändern soll (”WM WINDOWPOSCHANGING”) und es nicht an unterster Position in Bezug auf die Z-Order liegt, veranlasst das Fenster HF aktiv seine Verlegung an das untere Ende der Z-Order-Kette: As soon as the RF 1 window receives the message from the runtime environment that its position in the Z-order is to change ("WM WINDOWPOSCHANGING") and is not at the lowest position with respect to the Z-order, the window actively causes its Relocation to the bottom of the Z-Order chain:
Abschließend sei darauf hingewiesen, dass die Beschreibung der Erfindung und die Ausführungsbeispiele grundsätzlich nicht einschränkend in Hinblick auf eine bestimmte physikalische Realisierung der Erfindung zu verstehen sind. Für einen einschlägigen Fachmann ist es insbesondere offensichtlich, dass die Erfindung als verteiltes System und teilweise oder vollständig in Software und/oder Hardware und auf mehreren physikalischen Produkten – dabei insbesondere auch Computerprogrammprodukte – verteilt realisiert werden kann.Finally, it should be noted that the description of the invention and the embodiments are not to be understood as limiting in terms of a particular physical realization of the invention. It is particularly obvious to a person skilled in the art that the invention can be realized distributed as a distributed system and partially or completely distributed in software and / or hardware and on a plurality of physical products, in particular also computer program products.
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510011670 DE102005011670B4 (en) | 2005-03-14 | 2005-03-14 | Active Z-Order manipulation of a pop-up window in multimonitor systems |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE200510011670 DE102005011670B4 (en) | 2005-03-14 | 2005-03-14 | Active Z-Order manipulation of a pop-up window in multimonitor systems |
Publications (2)
Publication Number | Publication Date |
---|---|
DE102005011670A1 DE102005011670A1 (en) | 2006-09-21 |
DE102005011670B4 true DE102005011670B4 (en) | 2013-01-17 |
Family
ID=36933746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE200510011670 Expired - Fee Related DE102005011670B4 (en) | 2005-03-14 | 2005-03-14 | Active Z-Order manipulation of a pop-up window in multimonitor systems |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE102005011670B4 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3716283A1 (en) | 2019-03-29 | 2020-09-30 | Siemens Healthcare GmbH | Control of dialog windows in a multi-applicational medical setting |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499334A (en) * | 1993-03-01 | 1996-03-12 | Microsoft Corporation | Method and system for displaying window configuration of inactive programs |
US6229542B1 (en) * | 1998-07-10 | 2001-05-08 | Intel Corporation | Method and apparatus for managing windows in three dimensions in a two dimensional windowing system |
EP1134645B1 (en) * | 1998-11-26 | 2004-12-22 | International Business Machines Corporation | Power saving method and device for display |
-
2005
- 2005-03-14 DE DE200510011670 patent/DE102005011670B4/en not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5499334A (en) * | 1993-03-01 | 1996-03-12 | Microsoft Corporation | Method and system for displaying window configuration of inactive programs |
US6229542B1 (en) * | 1998-07-10 | 2001-05-08 | Intel Corporation | Method and apparatus for managing windows in three dimensions in a two dimensional windowing system |
EP1134645B1 (en) * | 1998-11-26 | 2004-12-22 | International Business Machines Corporation | Power saving method and device for display |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3716283A1 (en) | 2019-03-29 | 2020-09-30 | Siemens Healthcare GmbH | Control of dialog windows in a multi-applicational medical setting |
Also Published As
Publication number | Publication date |
---|---|
DE102005011670A1 (en) | 2006-09-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE102012219119B4 (en) | Intelligent windowing in a graphical user interface | |
DE102016210288A1 (en) | Eyetracker unit operating device and method for calibrating an eyetracker unit of an operating device | |
DE112012004370T5 (en) | Switching between applications in a graphical operating system | |
DE102016202694A1 (en) | Multi-ad user interface and method for positioning content across multiple ads | |
EP1754215B1 (en) | Display method and system for stimulating the blinking of the eyes of a user by subliminal modification of display parameters | |
DE102013108965A1 (en) | Processing method and processing device for displaying an icon and electronic device | |
DE102013203526A1 (en) | Method and system for using setting handles to facilitate dynamic layout editing | |
EP2924540B1 (en) | Method and system for operating a display device | |
EP2629187A2 (en) | Method for adjusting the graphic representation on the user interface of a computer user station | |
DE102020000347A1 (en) | Process and screen for displaying image content in at least two operating modes | |
DE102005011670B4 (en) | Active Z-Order manipulation of a pop-up window in multimonitor systems | |
DE102014018056A1 (en) | Method of operating a virtual reality glasses and virtual reality glasses | |
DE102014210602A1 (en) | Computer network and method for moving an object within a computer network | |
EP3340090A1 (en) | Allocation of different application programs of a medical imaging device to detected display units | |
DE102005041629A1 (en) | Apparatus and method for a graphical user interface | |
EP1607854A2 (en) | Method and computer program for the graphical representation of objects and technical processes on a display screen | |
DE102004028793A1 (en) | A method for the graphical representation of objects and technical processes on a screen, and computer program used therefor | |
DE102007026120B4 (en) | Method for the automatic control of a pointer element in graphical user interfaces of a digital image information system | |
EP1672483A1 (en) | Data input method for a data processing system | |
DE102009053819A1 (en) | Digital medical images or image series displaying method for patient during e.g. computer tomography process, involves representing group of images or image series in flat segments, where number of segments is preset or changed by user | |
DE102010005170B4 (en) | Method for evaluating at least one medical image dataset and computing device | |
EP3048777B1 (en) | Method for web-based access to an automation device, computer program for executing the method and system | |
DE102019220019A1 (en) | PROCESS FOR ENRICHMENT WITH VIRTUAL EXPANSION MOTIVES | |
EP2478493A2 (en) | Method for representing a plurality of at least partially overlapping objects | |
DE102011002521A1 (en) | Method and device for selecting and entering program combinations for laundry treatment machines |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R019 | Grant decision by federal patent court | ||
R020 | Patent grant now final |
Effective date: 20130418 |
|
R081 | Change of applicant/patentee |
Owner name: SIEMENS HEALTHCARE GMBH, DE Free format text: FORMER OWNER: SIEMENS AKTIENGESELLSCHAFT, 80333 MUENCHEN, DE |
|
R119 | Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee |