(19)
(11)EP 3 028 133 B1

(12)EUROPEAN PATENT SPECIFICATION

(45)Mention of the grant of the patent:
29.04.2020 Bulletin 2020/18

(21)Application number: 14832276.1

(22)Date of filing:  30.07.2014
(51)International Patent Classification (IPC): 
G06F 3/14(2006.01)
G09G 5/14(2006.01)
(86)International application number:
PCT/US2014/048777
(87)International publication number:
WO 2015/017491 (05.02.2015 Gazette  2015/05)

(54)

MULTI-MONITOR FULL SCREEN MODE IN A WINDOWING ENVIRONMENT

MULTI-MONITOR-VOLLBILDMODUS IN EINER FENSTERUMGEBUNG

MODE PLEIN ÉCRAN À MULTIPLES ÉCRANS DANS UN ENVIRONNEMENT À FENÊTRES


(84)Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR

(30)Priority: 30.07.2013 US 201313953886

(43)Date of publication of application:
08.06.2016 Bulletin 2016/23

(73)Proprietor: Lockheed Martin Corporation
Bethesda, Maryland 20817 (US)

(72)Inventors:
  • HOLLIS, Howell
    Orlando, FL 32858 (US)
  • SEMENIUK, Michael C.
    Orlando, FL 32817 (US)
  • MCCARTHY, Robert Charles
    Orlando, FL 32828 (US)
  • HEYLMUN, Zachary James
    Orlando, FL 32828 (US)
  • NGUYEN, Hong Phuoc
    Orlando, FL 32828 (US)

(74)Representative: Hanna Moore + Curley 
Garryard House 25/26 Earlsfort Terrace
Dublin 2, D02 PX51
Dublin 2, D02 PX51 (IE)


(56)References cited: : 
WO-A1-2010/083168
US-A- 6 018 340
US-A1- 2011 037 711
US-A1- 2011 144 970
US-B1- 6 774 912
US-A- 5 835 090
US-A- 6 025 871
US-A1- 2011 043 696
US-A1- 2012 182 210
US-B1- 6 774 912
  
  • Anonymous: "Direct3D 9Ex Improvements (Windows)", , 5 June 2013 (2013-06-05), XP055320336, Retrieved from the Internet: URL:https://web.archive.org/web/2013060516 4026/http://msdn.microsoft.com/en-us/libra ry/windows/desktop/ee890072(v=vs.85).aspx [retrieved on 2016-11-17]
  • Dilger: "Inside OS X 10.8 Mountain Lion GM: Go Full Screen on any display", , 21 July 2012 (2012-07-21), XP055415675, Retrieved from the Internet: URL:http://appleinsider.com/articles/12/07 /21/inside_os_x_108_mountain_lion_gm_go_fu ll_screen_on_any_display [retrieved on 2017-10-13]
  
Note: Within nine months from the publication of the mention of the grant of the European patent, any person may give notice to the European Patent Office of opposition to the European patent granted. Notice of opposition shall be filed in a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. 99(1) European Patent Convention).


Description

TECHNICAL FIELD



[0001] The embodiments relate to a multi-tasking windowing environment, and in particular to implementing a multi-monitor full screen mode in a windowing environment of a device.

BACKGROUND



[0002] Many computers implement an operating system that allows multiple application programs, referred to herein as application modules, to execute concurrently. Such an operating system is sometimes referred to as a multi-tasking operating system. A number of popular operating systems offer windowing environments wherein a graphical user interface allows a user of the computer to interact with concurrently executing application modules in an intuitive manner. Typically, the user interacts with application modules executing on the computer via one or more user interface windows, the content of which is determined by the application module with which the window is associated.

[0003] An executing application module may utilize one, or multiple, windows to interact with the user. The creation, movement and closing of windows is typically managed by the operating system in response to requests from the application module. The operating system maintains information about each window associated with each application module, and determines what should be displayed to the user on a display device at any given time based on the current status of the windows associated with the application modules.

[0004] The window or windows displayed to the user at any given point in time may be based in part on activities of the user, such as user input that results in a particular window being the active window. Generally, the operating system may determine, for example, which windows are hidden behind other windows, and thus do not need to be displayed, which windows may overlap other windows, which windows should be displayed in their entirety, whether portions of the desktop should be displayed where no window is located over the desktop, and based on these determinations and perhaps more, the operating system communicates with graphics hardware, sometimes referred to as a graphics card, to direct the graphics card to display the appropriate image on the monitor. This process may occur hundreds of times each second, and collectively implement a real-time multi-tasking windowing environment that can be changed dynamically in response to either input received from the user, or in response to input received from application modules.

[0005] For performance purposes and other reasons, most graphic cards and operating systems allow an operating mode wherein the application module, rather than the operating system, is responsible for what is drawn (sometimes referred to as "displayed") on the monitor. This mode is sometimes referred to as "full screen mode." When an application module enters full screen mode, the application module is responsible for providing the information to the graphics card that identifies what will be displayed to the user. Full screen mode is frequently used, for example, by gaming and simulation application modules that require high frame rates and desire complete control over the imagery displayed to the user, including, for example, the ability to completely fill the display area of a monitor with high-resolution imagery.

[0006] The use of multiple monitors is increasingly popular with users. Current operating systems essentially expand the operating system desktop to fit the number of monitors in use, and allow users to move windows about the desktop as desired, including crossing monitor borders. The use of full screen mode in conjunction with multiple monitors, however, can be challenging to implement for a developer of an application, and the behavior of certain activities, such as what occurs when an application gains or loses focus, can be poorly defined depending on the operating system at issue. Moreover, switching between windows mode and full screen mode, especially when multiple monitors are in use, can be complex for a developer of an application module, can cause substantial delays for the user as the application module is obtaining control of the monitor or monitors from the operating system, and can be implemented differently from application module to application module, causing an inconsistent experience for the user.

[0007] "Inside OS X 10.8 Mountain Lion GM: Go Full Screen on any display", by D.E, Dilger, discloses a full screen mode for OS X Mountain Lion.

[0008] Accordingly, there is a need for a multi-monitor full screen mode that provides the benefits of conventional full screen mode, but eliminates the need for the application module to assume complete responsibility for controlling the display of imagery, and that leverages the operating system to manage the multi- monitor full screen mode and thereby implement predictable windowing behavior.

SUMMARY



[0009] In a first aspect there is provided a computer-implemented method according to claim 1. In second and third aspects there are provided a device and computer program product according to claim 14 and claim 15, respectively.

[0010] The embodiments relate to mechanisms for implementing a multi- monitor full screen mode in an application module on a device. The embodiments provide for the functionality of a conventional full screen mode, but leverage an independent window management module (WMM) to maintain the windows of the application module, to alleviate the complexities otherwise associated with directly maintaining the graphics buffers associated with multiple monitors. The embodiments allow, among other features, plug-in modules to generate child windows which may be displayed during full screen mode along with other windows of the application module.

[0011] In one embodiment, the multi-monitor full screen mode may be determined based on real-time user input, or based on a configuration file. The cover window may, for example, be a uniform color, such as black, and may overlay the windows associated with all application modules other than the application module.

[0012] Among other features, the present embodiments provide a multi- monitor full screen mode that appears to a user as a conventional full screen mode, but eliminates the need for the application module to communicate directly with a graphics card, and instead leverages the WMM of the device to manage the windows associated with the application module.

[0013] Those skilled in the art will appreciate the scope of the present disclosure and realize additional aspects thereof after reading the following detailed description of the preferred embodiments in association with the accompanying drawing figures.

BRIEF DESCRIPTION OF THE DRAWINGS



[0014] The accompanying drawing figures incorporated in and forming a part of this specification illustrate several aspects of the disclosure, and together with the description serve to explain the principles of the disclosure.

Figure 1 is a block diagram illustrating conventional windowing mechanisms in a multi-tasking operating system;

Figure 2 is a block diagram illustrating conventional full screen mode in a multi-tasking operating system;

Figures 3A - 3C are block diagrams illustrating the implementation of a multi-monitor full screen mode according to one embodiment at different points in time;

Figure 4 is a flowchart of a method for implementing a multi-monitor full screen mode according to one embodiment;

Figure 5 illustrates a multi-monitor full screen mode wherein the full screen display area differs from the maximum display area of a monitor, according to one embodiment;

Figures 6-12 each visually depict a before-and-after illustration of the multi-monitor full screen mode according to various embodiments;

Figure 13 illustrates a non-uniform three monitor configuration at a point in time prior to the initiation of a multi-monitor full screen mode;

Figures 14A -14B illustrate the non-uniform three monitor configuration illustrated in Figure 13, and a full screen display area that is not coextensive in size with a maximum display area of a monitor, at a point in time after initiation of the multi-monitor full screen mode, according to one embodiment;

Figures 15A -15B illustrate the non-uniform three monitor configuration illustrated in Figure 13, and a full screen display area that is not coextensive in size with a maximum display area of a monitor, at a point in time after initiation of the multi-monitor full screen mode, according to another embodiment;

Figures 16A - 16B illustrate the non-uniform three monitor configuration illustrated in Figure 13, and a full screen display area that is not coextensive in size with a maximum display area of a monitor, at a point in time after initiation of the multi-monitor full screen mode, according to another embodiment;

Figures 17A - 17B illustrate the non-uniform three monitor configuration illustrated in Figure 13, and a full screen display area that is not coextensive in size with a maximum display area of a monitor, at a point in time after initiation of the multi-monitor full screen mode, according to another embodiment; and

Figure 18 is a block diagram of a device according to one embodiment.


DETAILED DESCRIPTION



[0015] The embodiments set forth below represent the necessary information to enable those skilled in the art to practice the embodiments and illustrate the best mode of practicing the embodiments. Upon reading the following description in light of the accompanying drawing figures, those skilled in the art will understand the concepts of the disclosure and will recognize applications of these concepts not particularly addressed herein. It should be understood that these concepts and applications fall within the scope of the disclosure as defined by the accompanying claims.

[0016] The embodiments relate to mechanisms for implementing a multi-monitor full screen mode in an application module on a device. The embodiments provide for the functionality of a conventional full screen mode, but leverage a window management monitor (WMM) to maintain the windows of the application module, to alleviate the complexities otherwise associated with directly maintaining the graphics buffers associated with multiple monitors. The embodiments allow, among other features, plug-in modules to generate child windows which may be displayed during multi-monitor full screen mode along with other windows of the application module.

[0017] Prior to delving into the details of the embodiments, for purposes of context, conventional mechanisms for implementing a full screen mode will be discussed. Figure 1 is a block diagram illustrating conventional windowing mechanisms in a multi-tasking operating system. A device 10 includes a multi-tasking operating system 12. The operating system 12 initiates and provides services to a plurality of application modules 14-1 - 14-4 (generally application modules 14). The operating system 12 may comprise any suitable multi-tasking operating system, including, for example, Microsoft® Windows® operating system, the Linux operating system, or the like.

[0018] The device 10 also includes a centralized WMM 16 that is configured to manage user interface (Ul) windows 18-1 -18-5 (generally, windows 18) that are associated with one or more of the application modules 14. The windows 18 are visually depicted to a user 20 on one or more of a plurality of monitors 22-1 - 22-2 (generally, monitors 22). While only two monitors 22 are illustrated, the embodiments have applicability to any number of monitors 22. While the WMM 16 is illustrated as being part of the operating system 12, the embodiments are not so limited, and can operate in conjunction with a WMM 16 that is independent of the operating system 12. The WMM 16 is independent of the application modules 14, such that the WMM 16 has a different codebase than the application modules 14.

[0019] Each monitor 22 has an associated maximum display area 24 that is a function of the size of the screen of the monitor 22. Thus, the monitor 22-1 has a maximum display area 24-1, and the monitor 22-2 has a maximum display area 24-2. A window 18 may be coextensive with a maximum display area 24 of a monitor 22, and thus completely fill the screen of the monitor 22, or, as illustrated, may be of dimensions smaller than the maximum display area 24 of a monitor 22.

[0020] In operation, an application module 14 may communicate with the WMM 16 to generate and display a window 18 on a monitor 22. The particular form, or protocol, of communication may differ depending on the particular WMM 16, but generally, the application module 14 directs the WMM 16 to generate a particular window 18, and provides the WMM 16 with various attributes of the window 18, such as size, width and height, location, content, and the like. The WMM 16 maintains a window list 26 that contains structures, such as window entries 28-1 - 28-5, that correspond to the windows 18-1 - 18-5. The WMM 16 determines, based on various information, including the attributes of the windows 18 at a given instant in time, what should be displayed to the user 20 on the monitors 22. Specifically, the WMM 16 determines which windows 18 may be entirely hidden behind another window 18, which windows 18 may be partially occluded by another window 18, which windows 18 may be topmost windows and thus visible in their entirety. Additionally, the WMM 16 may take into consideration a desktop 30 that is visually depicted to the user 20, to the extent the desktop 30 is not overlayed by one or more windows 18. The desktop 30 may span multiple monitors 22.

[0021] Based on such information, the WMM 16 determines what, at that particular instant in time, should be visually depicted to the user 20. The WMM 16 communicates data based on this determination to a graphics card 32. The graphics card 32 includes memory buffers dedicated to each monitor 22, including a front buffer 34-1 and back buffer 36-1 associated with the monitor 22-1, and a front buffer 34-2 and back buffer 36-2 associated with the monitor 22-2. The WMM 16 identifies to the graphics card 32 what should be rendered in such front buffers 34 and back buffers 36 for display on the monitors 22 to provide the user 20 a seamless experience when using the multiple monitors 22, and for isolating the application modules 14 from both the complexity of communication with the graphics card 32, as well as having to maintain track of the front buffers 34 and back buffers 36 associated with the multiple monitors 22. The process undertaken by the WMM 16 to determine what should be displayed to the user 20 may occur tens or hundreds of times per second.

[0022] In order to communicate with the graphics card 32, the WMM 16 interacts with a graphics library 38. The graphics library 38 in turn communicates with device drivers 40. The device drivers 40 are typically developed and manufactured by the manufacturer of the graphics card 32, and issue commands that control the graphics card 32 in response to calls from the graphics library 38. The graphics library 38 may comprise any suitable graphics library that provides an interface between a module, such as the WMM 16, and the device drivers 40 associated with the graphics card 32. Non-limiting examples of suitable graphics libraries 38 include the Microsoft® DirectX® interface library and the OpenGL® interface library. The graphics card 32 may include a graphics processor (not illustrated) which is coupled to the front buffers 34 and back buffers 36. Non-limiting examples of the graphics card 32 include an Accelerated Graphics Port (AGP) or Peripheral Component Interconnect Express (PCI-E) graphics card that includes a GeForce® or Radeon® chipset. For purposes of illustration, the embodiments are discussed in the context of a single graphics card 32, but are not limited to a device 10 having a single graphics card 32, and have applicability to devices 10 having multiple graphics cards 32.

[0023] Assume for purposes of illustration the following scenario. The application module 14-1 directs the WMM 16 to generate the window 18-4, and provides the WMM 16 information about the window 18-4, including, for example, information about the size, location, and content of the window 18-4. In response, the WMM 16 generates a window entry 28-1. The window entry 28-1 comprises the information used by the WMM 16 to know how to display the window 18-4 for the user 20, as visually illustrated by a dashed arrow 44-1. The application module 14-1 also directs the WMM 16 to generate the window 18-5, and provides the WMM 16 information about the window 18-5, including, for example, information about the size, location, and content of the window 18-5. In response, the WMM 16 generates a window entry 28-2. The window entry 28-2 comprises the information used by the WMM 16 to know how to display the window 18-5 for the user 20, as visually illustrated by a dashed arrow 44-2. Other window entries 28-3 - 28-5 comprise the information used by the WMM 16 for displaying windows 18-3, 18-2, and 18-1 respectively. Windows 18-1 -18-3 may be associated with, for example, the application modules 14-2 -14-4, respectively. The application module 14-1 need not be aware of the state of the desktop 30, which portions of the desktop 30 the windows 18-4, 18-5 overlap, or the windows 18-1 - 18-3, because the WMM 16 manages the overall display provided to the user 20 on the monitors 22. Nor does the application module 14-1 need to know how to communicate with the graphics card 32, or to maintain the multiple front buffers 34 and back buffers 36 of the graphics card 32, or even that there are two monitors 22.

[0024] Figure 2 is a block diagram illustrating a conventional full screen mode in the multi-tasking operating system 12. The application module 14-1 receives an indication from the user 20 that the user 20 desires a full screen mode. In response, the application module 14-1 communicates with the WMM 16 to take control of the front buffer 34-2 and back buffer 36-2, so that the WMM 16 does not subsequently alter the front buffer 34-2 and back buffer 36-2 while the application module 14-1 is in full screen mode. The application module 14-1 then generates a window 18-6 which is coextensive with the maximum display area of the monitor 22-2. The window 18-6 is unknown to the WMM 16, and not identified in the window list 26. Accordingly, the application module 14-1 assumes responsibility for communicating with the graphics card 32 via the graphics library 38 and maintaining the content of the front buffer 34-2 and back buffer 36-2, and thereby control what is displayed on the monitor 22-2. The application module 14-1 may maintain the information that defines the window 18-6 in a window entry 46-1 of a window list 48 maintained by the application module 14-1 rather than the WMM 16.

[0025] The application module 14-1 may receive a user-initiated request from the user 20 to generate a child window 18-7 that overlays the window 18-6. In response, the application module 14-1 generates a window entry 46-2 that maintains information that defines the window 18-7, including, for example, the size, location and content of the window 18-7. Because the application module 14-1 controls the front buffer 34-2 and back buffer 36-2, the application module 14-1 is responsible for determining what portions of the window 18-6 are overlayed by the window 18-7, so that the windows 18-7 and 18-6 are properly displayed.

[0026] Additional problems with the use of conventional full screen mode in conjunction with multiple monitors include the complexity and difficulty of dealing with edge cases, including, for example, windows that span more than one monitor, overlapping windows, and windows that do not completely fill a monitor. Moreover, if the application module 14-1 enables the use of plug-in modules, such as dynamic link libraries, such plug-in modules are unable to generate and provide windows for display on the monitor 22-2, because the application module 14-1 controls the front buffer 34-2 and the back buffer 36-2 and the plug-in module is precluded from accessing the front buffer 34-2 and the back buffer 36-2.

[0027] Figures 3A - 3C are block diagrams illustrating a multi-monitor full screen mode according to one embodiment at different points in time. Figure 4 is a flowchart of a method for implementing a multi-monitor full screen mode according to one embodiment, and will be discussed in conjunction with Figures 3A - 3C. Figure 3A illustrates a point in time immediately prior to entering the multi-monitor full screen mode, according to one embodiment. Assume for purposes of illustration that an application module 14-5 has a main application window 18-4 which is displayed on the monitor 22-2, and which is referred to by a window entry 28-4 in the window list 26 of the WMM 16, and the application module 14-5 has a child window 18-5 which is referred to by a window entry 28-5 in the window list 26. Windows 18-1 - 18-3 are displayed on the monitor 22-1 and are associated with application modules 14-2 -14-4, respectively.

[0028] The application module 14-5 determines that a multi-monitor full screen mode is requested (Figure 4, block 1000). The application module 14-5 may make this determination in response to receiving input from the user 20, or, for example, based on a configuration file that indicates a default execution mode of the application module 14-5 is the multi-monitor full screen mode.

[0029] The application module 14-5 determines a number N of monitors 22 that are coupled to a plurality of video ports 50-1, 50-2 of the device 10, in this example the number N being equal to two (Figure 4, block 1002). While for purposes of illustration the device 10 is shown as having a single graphics card 32, the embodiments are not limited to any particular number of graphics cards 32. Moreover, while the graphics card 32 is illustrated as having two video ports 50, the embodiments are not so limited, and have applicability with graphics cards 32 that have fewer than two video ports 50 or more than two video ports 50. Each monitor 22 has a corresponding, or respective, maximum display area 24 that is a function of the size of the screen of the monitor 22.

[0030] Figure 3B illustrates the multi-monitor full screen mode at a subsequent point in time according to one embodiment. The application module 14-5 directs the WMM 16 to display at least one cover window 52 that has dimensions that are at least coextensive with dimensions of the maximum display areas 24 of the monitors 22-1 - 22-2. In one embodiment, the application module 14-5 directs the WMM 16 to generate a single cover window 52 that is sized to be coextensive with both the maximum display areas 24-1 and 24-2 (Figure 4, block 1004). In another embodiment, the application module 14-5 directs the WMM 16 to generate a plurality of individual cover windows 52-1, 52-2 (generally, cover window 52), each of which corresponds to one of the monitors 22, and which is coextensive with the maximum display area 24 of the corresponding monitor 22. Each cover window 52 may comprise a solid color, such as black, be non-resizable, have no title bar, and not accept input.

[0031] In response to the direction from the application module 14-5, the WMM 16 generates a window entry 28-6 that contains information identifying the cover window 52-1, and a window entry 28-7 that contains information identifying the cover window 52-2. The WMM 16 displays the cover windows 52-1, 52-2. The WMM 16 is directed to display the cover windows 52 on top of other windows 18 that are associated with application modules 14 other than the application module 14-5, such as the windows 18-1 - 18-3, so that such windows 18-1 - 18-3 are no longer seen by the user 20, as illustrated in dashed outline in Figure 3B. In one embodiment a layer order attribute of the cover windows 52 may be set to ensure such cover windows 52 are displayed on top of other windows 18.

[0032] The application module 14-5 determines at least one primary monitor 54 of the plurality of monitors 22 (Figure 4, block 1006). In one embodiment, the primary monitor 54 is determined based on a location of the main application window 18-4 at the time the application module 14-5 determines that the multi-monitor full screen mode is requested. For example, the application module 14-5 determines that the main application window 18-4 is displayed on the monitor 22-2 at the time it is determined that the multi-monitor full screen mode is requested. Based on this determination, the application module 14-5 determines that the monitor 22-2 is the primary monitor 54. In other embodiments, the application module 14-5 may determine that the main application window 18-4 is displayed on multiple monitors 22, such as both the monitors 22-1 and 22-2 at the time it is determined that the multi-monitor full screen mode is requested. In such embodiments, the application module 14-5 may designate the monitor 22-1 or 22-2 on which the majority of the area of the main application window 18-4 is displayed as the primary monitor 54. Alternatively, as discussed in greater detail herein, the application module 14-5 may designate both monitors 22-1 and 22-2 as primary monitors 54.

[0033] The application module 14-5 determines a full screen display area of the primary monitor 54 (Figure 4, block 1008). The full screen display area of the primary monitor 54 may be based on the maximum display area 24-2 of the primary monitor 54, or may be based on a configuration parameter that identifies the full screen display area as an area that is smaller or larger than the maximum display area 24-2, as will be discussed in greater detail below with reference to monitors 22 that are physically arranged in a non-uniform manner.

[0034] The application module 14-5 sizes the main application window 18-4 to have dimensions that are at least coextensive with dimensions of the full screen display area of the primary monitor 54 (Figure 4, block 1010). For purposes of illustration, assume that the full screen display area of the primary monitor 54 is equal to the maximum display area 24-2. In this example, the application module 14-5 sizes the main application window 18-4 to have dimensions that are substantially identical to the dimensions of the maximum display area 24-2, and thus the main application window 18-4 will be a size that takes up the entire screen of the primary monitor 54. The application module 14-5 may also alter attributes of the main application window 18-4, such that the main application window 18-4 contains no title bar, border, menu bar, or the like. The application module 14-5 then directs the WMM 16 to display the main application window 18-4 on top of the cover window 52-2 (Figure 4, block 1012). In one embodiment, a layer order attribute of the main application window 18-4 may be set to have a higher priority than the cover window 52-2 so that the main application window 18-4 is displayed on top of the cover window 52-2.

[0035] Figure 3C illustrates the multi-monitor full screen mode at a subsequent point in time, after the application module 14-5 has directed the WMM 16 to display the main application window 18-4 on top of the cover window 52-2. Because the main application window 18-4 has dimensions coextensive in size with the cover window 52-2, the main application window 18-4 completely covers the cover window 52-2. In this example, because the application module 14-5 also has an associated child window 18-5, the application module 14-5 sets attributes of the child window 18-5 to be similar to those of the main application window 18-4, and have no title bar or border (i.e., to be borderless), no menu bar, or the like. The application module 14-5 then directs the WMM 16 to display the child window 18-5 on top of the main application window 18-4. In one embodiment, a layer order attribute of the child window 18-5 may be set to have a higher priority than the main application window 18-4 so that the child window 18-5 is displayed on top of the main application window 18-4.

[0036] Because the main application window 18-4 has no border or title bar, the main application window 18-4 may not be resizable or moveable by the user 20 in the same manner windows 18 are typically resizable and moveable when not in the multi-monitor full screen mode. Accordingly, in order to resize the main application window 18-4, the user 20 may indicate to the application module 14-5 a desire to exit the multi-monitor full screen mode. Such desire may be communicated via any desirable mechanism implemented by the application module 14-5. For example, in one embodiment, in response to receiving a right click from an input device that is hovering over the main application window 18-4, the application module 14-5 may present a dialog box with various options, including an option to exit multi-monitor full screen mode.

[0037] In one embodiment, prior to altering the attributes of any window 18 currently associated with the application module 14-5, such as the main application window 18-4 and the child window 18-5, the application module 14-5 obtains the attribute values of attributes of each window 18 currently associated with the application module 14-5, and stores the attribute values in a memory, for subsequent use if the multi-monitor full screen mode is exited by the user 20. The attribute values include information that identifies visual characteristics of the main application window 18-4, and user options for altering a size of the main application window 18-4, a location of the main application window 18-4, a size of the main application window 18-4, the status of a border, maximize and minimize buttons, and the like.

[0038] In the event the user 20 decides to exit the multi-monitor full screen mode, the application module 14-5 may access the stored attribute values of the main application window 18-4 and the child window 18-5, direct the WMM 16 to apply such stored attribute values to the main application window 18-4 and the child window 18-5, and to display the main application window 18-4 and the child window 18-5 such that the main application window 18-4 and the child window 18-5 are displayed to the user 20 identically as they were displayed prior to entering the multi-monitor full screen mode. Thus, the main application window 18-4 and the child window 18-5 may be displayed at the same size and location, and have the same border, title bar, and other attributes that such windows 18 had immediately prior to entering the multi-monitor full screen mode. Upon receiving the request to exit multi-monitor full screen mode, the application module 14-5 may also direct the WMM 16 to no longer display the cover windows 52-1, 52-2, and thereby cause the windows 18-1 - 18-3 to be displayed again to the user 20.

[0039] In another embodiment, only the main application window 18-4 is completely restored to its previous state prior to entering multi-monitor full screen mode. In contrast, the child window 18-5 may remain at the same size and location as the child window 18-5 was while in multi-monitor full screen mode, but have its window styles, such as a title bar, menu bar, and border, restored.

[0040] In one embodiment, as discussed above, when entering the multi-monitor full screen mode the application module 14-5 may set the attributes of the child window 18-5 to have no border, no menu bar, and no title bar, such that the child window 18-5 merely displays content, such as imagery. The application module 14-5 may also have a locked mode, in which the child window 18-5 may not be resized or moved, and may have an unlocked mode, in which the child window 18-5 may be resized or moved. When in unlocked mode, the application module 14-5 may designate a border region of the child window 18-5 as a region by which the user 20 may resize the child application window 18-5, if desired. In one embodiment, this border region may not be visually depicted to the user 20 so as to maintain uninterrupted imagery across the entire child application window 18-5. The application module 14-5 may receive input data indicating that the user 20 has left clicked on the border region of the child window 18-5. The border region may comprise, for example, a 5-10 pixel wide region of the perimeter of the child window 18-5. Upon receipt of the input data, the application module 14-5 may determine that the input device was clicked at a location within the border region, and in response alters the cursor icon from a pointer icon to a resize icon. If the user 20 holds down the left mouse button and drags it to a new location, the application module 14-5 may interpret this action as a resize request, and pass this information to the WMM 16 so that the WMM 16 can resize the child window 18-5 as requested. Note that in conventional full screen mode, the application module 14-5 would control the front buffer 34-2 and back buffer 36-2, and would need to implement such resize request without the aid of the WMM 16.

[0041] If, while in unlocked mode, the application module 14-5 receives input data indicating the user 20 has pressed the left mouse button while the cursor of the mouse is over the child window 18-5, but in an area other than the border region, and in an area not over an active control being displayed in the child window 18-5, the application module 14-5 may interpret this input data as a move window request. The application module 14-5 may alter the cursor icon from a pointer icon to a move icon. If the user 20 holds down the left mouse button and drags the mouse cursor to a new location, the application module 14-5 interprets this action as a move request, and passes this information to the WMM 16 so that the WMM 16 can move the child window 18-5 as requested. Note that again, in conventional full screen mode, the application module 14-5 would control the front buffer 34-2 and back buffer 36-2, and would need to implement such move request without the aid of the WMM 16.

[0042] Figure 5 illustrates a multi-monitor full screen mode wherein the full screen display area differs from the maximum display area 24 of a monitor 22, according to one embodiment. In this embodiment, the application module 14-5 determines that the full screen display area has dimensions smaller than the dimensions of the maximum display area 24-2 of the monitor 22-2. As discussed previously, the full screen display area may be designated, for example, in a configuration file (not illustrated) stored on the device 10. Figure 5 illustrates this embodiment after multi-monitor full screen mode has been entered. Portions of the cover window 52-2 are depicted because the dimensions of the fullscreen display area are not coextensive with the dimensions of the maximum display area 24-2. Note that the main application window 18-4 and the child window 18-5 may otherwise appear identical as illustrated in Figure 3C, and be borderless, and have no title or menu bars.

[0043] Figure 6 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to one embodiment. Figure 6 will be discussed in conjunction with Figure 3A. At a time T1, the monitor 22-1 contains no windows 18, and the monitor 22-2 contains a window 18-7 containing a title bar 56 and border 58, as well as various window sizing buttons 60, which may include, for example, a minimize button, a maximize button, and a close window button. The monitor 22-3 contains no windows 18. Assume for purposes of illustration that the window 18-7 is a main application window of the application module 14-5. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 is displayed completely on the monitor 22-2, and thus designates the monitor 22-2 as the primary monitor 54. The application module 14-5 also determines that there are no child application windows of the application module 14-5.

[0044] The application module 14-5 directs the WMM 16 (Figure 3A) to display at least one cover window 52 that is coextensive with the dimensions of the maximum display areas 24-1 - 24-3 of the monitors 22-1 - 22-3. The application module 14-5 may direct the WMM 16 to generate a single cover window 52 that is coextensive in size with the cumulative size of the maximum display areas 24-1 - 24-3, or may direct the WMM 16 to generate three cover windows 52-1 - 52-3, each of which is coextensive in size with one of the maximum display areas 24-1 - 24-3.

[0045] The application module 14-5 also determines the full screen display area of the monitor 22-2. For purposes of illustration, assume that the full screen display area of the monitor 22-2 is coextensive in size with the maximum display area 24-2. The application module 14-5 sizes the window 18-7 to have dimensions that are coextensive with the full screen display area of the monitor 22-2. The application module 14-5 also alters the styles and other attributes associated with the window 18-7 such that the window 18-7 is borderless, has no title bar 56, and no window sizing buttons 60. The application module 14-5 then directs the WMM 16 to display the window 18-7 on the monitor 22-2. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2.

[0046] Figure 7 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to another embodiment. Figure 7 will be discussed in conjunction with Figure 3A. In this embodiment, the application window is displayed on the monitor 22-1 rather than the monitor 22-2. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 is displayed completely on the monitor 22-1, and thus designates the monitor 22-1 as the primary monitor 54 rather than the monitor 22-2. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2.

[0047] Figure 8 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to another embodiment. Figure 8 will be discussed in conjunction with Figure 3A. In this embodiment, similar to the embodiment discussed above with regard to Figure 6, the window 18-7 is the main application window, and the application module 14-5 thus designates the monitor 22-2 as the primary monitor 54. Other processing is performed substantially similarly to that described with respect to Figure 6, however, in this embodiment the application module 14-5 also includes an associated window 18-8, which is a child window. As illustrated at time T1, the window 18-8 includes a title bar 62, border 64, as well as various window sizing buttons 66. The application module 14-5 alters the attributes of the window 18-8 to have no title bar 62, border 64, or sizing buttons 60, and directs the WMM 16 to display the window 18-8 on top of the cover window 52-1. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2. Note that both the window 18-7 (the main application window) and the window 18-8 (the child application window) are borderless, have no title bar, and have no window sizing buttons.

[0048] Figure 9 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to another embodiment. Figure 9 will be discussed in conjunction with Figure 3A. In this embodiment, at a time T1, the window 18-7 stretches across the monitor 22-1 and 22-2. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 is displayed on both the monitors 22-1 and 22-2, and based on this determination designates both the monitors 22-1 and 22-2 as primary monitors 54.

[0049] The application module 14-5 then sizes the window 18-7 to have dimensions coextensive with the maximum display areas 24 of both the monitors 22-1 and 22-2. Other processing may be substantially similar to that described above with regard to Figure 6. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2.

[0050] Figure 10 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to another embodiment. Figure 10 will be discussed in conjunction with Figure 3A. In this embodiment, at a time T1, a window 18-7 is displayed on the monitor 22-1. Assume for purposes of illustration that the window 18-7 is a primary application window of the application module 14-5. A window 18-8 expands across the three monitors 22-1 - 22-3. Assume for purposes of illustration that the window 18-8 is a child application window of the application module 14-5. The application module 14-5 determines that the window 18-7 is displayed on the monitors 22-1 in its entirety, and based on this determination designates the monitor 22-1 as the primary monitor 54.

[0051] The application module 14-5 then sizes the window 18-7 to have dimensions coextensive with the maximum display area 24 of the monitor 22-1, and 22-2, and alters attributes of the window 18-7 to be borderless, have no title bar, menu bar, or window sizing buttons. Similarly, the application module 14-5 alters the attributes of the window 18-8 to have no title bar, border, or window sizing buttons, and directs the WMM 16 to display the window 18-8 on top of the cover windows 52-1 - 52-3. Other processing may be substantially similar to that described above with regard to Figure 6. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2.

[0052] Figure 11 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to another embodiment. Figure 11 will be discussed in conjunction with Figure 3A. In this embodiment, at a time T1, the window 18-7 stretches across the monitors 22-1 - 22-3. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 is displayed on each of the monitors 22-1 - 22-3, and based on this determination designates both the monitors 22-1 - 22-3 as primary monitors 54.

[0053] The application module 14-5 then sizes the window 18-7 to have dimensions coextensive with the maximum display areas 24 of all of the monitors 22-1 - 22-3. Other processing may be substantially similar to that described above with regard to Figure 6. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2.

[0054] Figure 12 visually depicts a before-and-after illustration of the multi-monitor full screen mode according to another embodiment. Figure 12 will be discussed in conjunction with Figure 3A. In this embodiment, at a time T1, a window 18-7 is displayed on the monitor 22-2. Assume for purposes of illustration that the window 18-7 is a primary application window of the application module 14-5. A window 18-8 is displayed on the monitor 22-1. Assume for purposes of illustration that the window 18-8 is a child application window of the application module 14-5. In this embodiment, the application module 14-5 interacts with one or more plug-in modules. The plug-in modules, for example, may be identified by the application module 14-5 at run-time via, for example, a configuration file, or by the existence of the plug-in modules in a certain folder or directory. The application module 14-5 may initiate such a plug-in module, and the plug-in module, may at some point in time generate a window 18-9. The plug-in module may provide to the application module 14-5 the window identifier (ID) of the window 18-9 so that the application module 14-5 is aware of the window 18-9.

[0055] In this embodiment, at a time T1, the window 18-7 is positioned entirely within the monitor 22-2. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 is displayed on the monitor 22-2, and based on this determination designates the monitor 22-2 as the primary monitor 54. The application module 14-5 determines the full screen display area of the monitor 22-2. For purposes of illustration, assume that the full screen display area of the monitor 22-2 is coextensive in size with the maximum display area 24-2. The application module 14-5 sizes the window 18-7 to have dimensions that are coextensive with the full screen display area of the monitor 22-2. The application module 14-5 also alters the styles and other attributes associated with the window 18-7 such that the window 18-7 is borderless, has no title bar, and no window sizing buttons. The application module 14-5 then directs the WMM 16 to display the window 18-7 on the monitor 22-2.

[0056] As illustrated at time T1, the windows 18-8 - 18-9 also include title bars, borders, as well as various window sizing buttons. The application module 14-5 alters the attributes of the windows 18-8 - 18-9 to have no title bars, borders, or sizing buttons, and directs the WMM 16 to display the window 18-8 on top of the cover window 52-1, and the window 18-9 on top of the cover window 52-3, using the window ID provided by the plug-in module.

[0057] Other processing may be substantially similar to that described above with regard to Figure 6. After implementation of the multi-monitor full screen mode according to this embodiment, the monitors 22-1 - 22-3 may appear as illustrated at time T2.

[0058] Figures 13-17 illustrate embodiments wherein full screen display areas are configured across multiple monitors 22 that are arranged in a non-uniform manner. The full screen display areas may thus have dimensions larger or smaller than the maximum display area 24 of any single monitor 22. Referring first to Figure 13, an example display at a time T1 prior to the application module 14-5 determining that the multi-monitor full screen mode has been requested is illustrated. Note that each of the monitors 22-1 - 22-3 is set at a different vertical height with respect to each other. For each of the embodiments illustrated in Figures 13-17, assume that the window 18-7 is a primary application window of the application module 14-5, and the window 18-8 is a child application window of the application module 14-5. Assume further that other than the sizing of the window 18-7 in accordance with the respective full screen display area, processing is substantially similar to that discussed with regard to Figure 8, unless otherwise stated.

[0059] Figure 14A illustrates a full screen display area 68 in dashed outline according to one embodiment. The full screen display area 68 spans the three monitors 22-1 - 22-3 to have a size that vertically extends from the height of the top of the screen of the monitor 22-1 to the bottom of the screen of the monitor 22-3, and horizontally across the complete span of the monitors 22-1 - 22-3. The full screen display area 68 may be configured, for example, by the user 20, and stored on the device 10. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the main application window 18-7 spans all three monitors 22-1 - 22-3. The application module 14-5 determines that a full screen display area 68 has been preconfigured. The application module 14-5 then sizes the window 18-7 based on the full screen display area 68, and directs the WMM 16 to draw the main application window 18-7. In other embodiments, the application module 14-5 may use the full screen display area 68 even in the absence of determining that the window 18-7 spans multiple monitors 22, such that the full screen display area 68 is used when multi-monitor full screen mode is requested, irrespective of the current location or size of the window 18-7.

[0060] Figure 14B illustrates an example display of the window 18-7 on the monitors 22 using the full screen display area 68 illustrated in Figure 14A after entering multi-monitor full screen mode, according to one embodiment. Because the full screen display area 68 is not coextensive with the maximum display areas 24 of the monitors 22-1 - 22-3, portions of the cover windows 52-1 - 52-3 are seen by the user 20.

[0061] Figure 15A illustrates a full screen display area 70 in dashed outline according to another embodiment. The full screen display area 70 spans the three monitors 22-1 - 22-3 to have a size that vertically extends from the height of the top of the screen of the monitor 22-3 to the bottom of the screen of the monitor 22-2, and horizontally across the complete span of the monitors 22-1 - 22-3. The full screen display area 70 may be configured, for example, by the user 20, and stored on the device 10. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 spans all three monitors 22-1 - 22-3. The application module 14-5 determines that the full screen display area 70 has been preconfigured. The application module 14-5 then sizes the window 18-7 based on the full screen display area 70, and directs the WMM 16 to draw the window 18-7. In other embodiments, the application module may use the full screen display area 70 even in the absence of determining that the window 18-7 spans multiple monitors 22, such that the full screen display area 70 is used when multi-monitor full screen mode is requested, irrespective of the current location or size of the window 18-7.

[0062] Figure 15B illustrates an example display of the window 18-7 on the monitors 22 using the full screen display area 70 illustrated in Figure 15A after entering multi-monitor full screen mode, according to one embodiment. Because the full screen display area 70 is at least coextensive with the maximum display areas 24 of the monitors 22-1 - 22-3, the cover windows 52-1 - 52-3 are not seen by the user 20.

[0063] Figure 16A illustrates a full screen display area 72 in dashed outline according to another embodiment. The full screen display area 72 spans the three monitors 22-1 - 22-3 to have a size that vertically extends from the height of the top of the screen of the monitor 22-1 to the bottom of the screen of the monitor 22-1, and horizontally across the complete span of the monitors 22-1 - 22-3. The full screen display area 72 may be configured, for example, by the user 20, and stored on the device 10. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 spans all three monitors 22-1 - 22-3. The application module 14-5 determines that the full screen display area 72 has been preconfigured. The application module 14-5 then sizes the window 18-7 based on the full screen display area 72, and directs the WMM 16 to draw the window 18-7. In other embodiments, the application module may use the full screen display area 72 even in the absence of determining that the window 18-7 spans multiple monitors 22, such that the full screen display area 72 is used when multi-monitor full screen mode is requested, irrespective of the current location or size of the window 18-7.

[0064] Figure 16B illustrates an example display of the window 18-7 on the monitors 22 using the full screen display area 72 illustrated in Figure 16A after entering multi-monitor full screen mode, according to one embodiment. Because the full screen display area 72 is at least coextensive with the maximum display areas of the monitor 22-1, the cover window 52-1 is not seen by the user 20. Because the full screen display area 72 is not coextensive with the maximum display areas of the monitors 22-2 - 22-3, portions of the cover windows 52-2 - 52-3 are seen by the user 20.

[0065] Figure 17A illustrates a full screen display area 74 in dashed outline according to another embodiment. The full screen display area 74 spans the three monitors 22-1 - 22-3 to have a size that vertically extends from the height of the top of the screen of the monitor 22-2 to the bottom of the screen of the monitor 22-3, and horizontally across the complete span of the monitors 22-1 - 22-3. The full screen display area 74 may be configured, for example, by the user 20, and stored on the device 10. Upon determining that the multi-monitor full screen mode has been requested, the application module 14-5 determines that the window 18-7 spans all three monitors 22-1 - 22-3. The application module 14-5 determines that the full screen display area 74 has been preconfigured. The application module 14-5 then sizes the window 18-7 based on the full screen display area 74, and directs the WMM 16 to draw the window 18-7. In other embodiments, the application module may use the full screen display area 74 even in the absence of determining that the window 18-7 spans multiple monitors 22, such that the full screen display area 74 is used when multi-monitor full screen mode is requested, irrespective of the current location or size of the window 18-7.

[0066] Figure 17B illustrates an example display of the window 18-7 on the monitors 22 using the full screen display area 74 illustrated in Figure 17A after entering multi-monitor full screen mode, according to one embodiment. Because the full screen display area 74 is not coextensive with the maximum display areas 24 of the monitors 22-1 - 22-3, portions of the cover windows 52-1 - 52-3 may be seen by the user 20. In this embodiment, the window 18-8 may also be automatically scaled to fit completely within the monitors 22-1 - 22-3.

[0067] Figure 18 is a block diagram of the device 10 according to one embodiment. The device 10 may comprise any computing or processing device capable of executing software instructions to implement the functionality described herein, such as a work station, a desktop or laptop computer, a tablet computer, a special purpose simulator, a game console, or the like. The device 10 includes the processor 80, a system memory 82, and a system bus 84. The system bus 84 provides an interface for system components including, but not limited to, the system memory 82 and the processor 80. The processor 80 can be any commercially available or proprietary processor. Dual microprocessors and other multi-processor architectures may also be employed as the processor 80.

[0068] The system memory 82 may include non-volatile memory 86 (e.g., read only memory (ROM), erasable programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.) and/or volatile memory 88 (e.g., random access memory (RAM)). A basic input/output system (BIOS) 90 may be stored in the non-volatile memory 86, and can include the basic routines that help to transfer information between elements within the device 10. The volatile memory 88 may also include a high-speed RAM, such as static RAM for caching data.

[0069] The device 10 may further include a computer-readable storage 92, which may comprise, for example, an internal hard disk drive (HDD) (e.g., enhanced integrated drive electronics (EIDE) or serial advanced technology attachment (SATA)), HDD (e.g., EIDE or SATA) for storage, flash memory, or the like. The computer-readable storage 92 and other drives, associated with computer-readable and computer-usable media, provide non-volatile storage of data, data structures, computer-executable instructions, and the like. Although the description of computer-readable media above refers to an HDD, it should be appreciated by those skilled in the art that other types of media which are readable by a computer, such as Zip disks, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used in the operating environment, and further, that any such media may contain computer-executable instructions for performing functionality described herein.

[0070] A number of modules can be stored in the computer-readable storage 92 and in the volatile memory 88, including the operating system 12 and one or more program modules 94, which may implement the functionality described herein in whole or in part, including, for example, functionality associated with the application module 14-5 and the WMM 16, and other processing and functionality described herein. It is to be appreciated that the embodiments can be implemented with various commercially available operating systems 12 or combinations of operating systems 12.

[0071] In one embodiment, the application module 14-5 is stored in the system memory 82 and is operative to provide instructions to the processor 80. The processor 80 is responsive to the instructions of the application module 14-5. The application module 14-5 is operative to perform the functionality described herein with respect to the application module 14-5.

[0072] All or a portion of the embodiments may be implemented as a computer program product stored on a transitory or non-transitory computer-usable or computer-readable storage medium, such as the computer-readable storage 92, which includes complex programming instructions, such as complex computer-readable program code, configured to cause the processor 80 to carry out the steps described herein. Thus, the computer-readable program code can comprise software instructions for implementing the functionality of the embodiments described herein when executed on the processor 80. The processor 80, in conjunction with the program modules 94, may serve as a control system for the device 10 that is configured to, or adapted to, implement the functionality described herein.

[0073] The user 20 may be able to enter commands and information into the device 10 through one or more input devices, such as, for example, a keyboard (not illustrated), a pointing device such as a mouse (not illustrated), or a touch-sensitive surface (not illustrated). Other input devices (not illustrated) may include a microphone, an infrared remote control, a gesture recognition system, a joystick, a game pad, a stylus pen, or the like.

[0074] The device 10 may also include a communication interface 96 suitable for communicating with a network. The device 10 includes one or more graphics cards 32, each of which may have one or more video ports 50 (not illustrated) for coupling to corresponding monitors 22.

[0075] Those skilled in the art will recognize improvements and modifications to the preferred embodiments of the present disclosure. All such improvements and modifications are considered within the scope of the the claims that follow.


Claims

1. A computer-implemented method for implementing a multi-monitor full screen mode in an application module (14-5) executing on a device comprising a processor, a memory and a plurality of video ports, the method comprising the computer-implemented operations of:

determining (1000), by the application module, that the multi-monitor full screen mode is requested;

determining (1002), by the application module, a number, N, of monitors (22-1,22-2) that are coupled to the plurality of video ports of the device, wherein N is greater than one, the N monitors each having a respective maximum display area (24-1, 24-2) based on a corresponding monitor screen;

directing (1004), by the application module, a window management module, WMM (16) that is independent of the application module to display at least one cover window (52-1, 52-2) that has dimensions coextensive with all dimensions of the respective maximum display areas of the N monitors combined, said cover window being displayed on top of other windows (18-1,18-3) associated with application modules other than the application module that requested the multi-monitor full screen mode, said cover window comprising a solid color;

determining (1006), by the application module, at least one primary monitor (54) of the N monitors;

determining (1008), by the application module, a full screen display area associated with the at least one primary monitor;

sizing (1010), by the application module, a main application window (18-4) of the application module to have dimensions that are at least coextensive with dimensions of the full screen display area; and

directing (1012), by the application module, the window management module WMM to display the sized main application window on top of the cover window on the at least one primary monitor, such that the sized main application window is borderless and lacks minimize and maximize buttons.


 
2. The method of claim 1, further comprising receiving a user-initiated request to enter the multi-monitor full screen mode.
 
3. The method of claim 1, wherein the window management module WMM is configured to manage a plurality of windows associated with a plurality of different application modules.
 
4. The method of claim 1, wherein the full screen display area is either: coextensive with the maximum display area of the at least one primary monitor; or smaller than the maximum display area of the at least one primary monitor.
 
5. The method of claim 1, further comprising:

determining the at least one primary monitors of the N monitors comprises determining a first primary monitor and a second primary monitor;

wherein the determined full screen display area is associated with the first primary monitor and the second primary monitor, and

wherein determining the full screen display area associated with the at least one primary monitor comprises:

accessing a configuration file; and

obtaining the full screen display area from the configuration file.


 
6. The method of claim 1, further comprising:
setting attributes of the main application window such that the main application window is non-resizable.
 
7. The method of claim 1, further comprising:
prior to sizing the main application window, determining a plurality of attribute values of attributes of the main application window, the attribute values identifying visual characteristics of the main application window includes a size of the main application window and a location of the main application window; and storing the plurality of attribute values in the memory.
 
8. The method of claim 7, further comprising:

receiving a request to exit the multi-monitor full screen mode;

accessing the memory to obtain the plurality of attribute values;

altering the attributes of the main application window to have the plurality of attribute values; and

directing the window management module WMM to display the main application window.


 
9. The method of claim 1, further comprising:

determining a child application window associated with the application module, the child application window being displayed on a particular monitor of the N monitors prior to determining that the multi-monitor full screen mode is requested;

after determining that the multi-monitor full screen mode is requested: setting attributes of the child application window such that the child application window is borderless, cannot be minimized and cannot be maximized; and

directing the window management module WMM to display the child application window on top of any other window displayed on the particular monitor.


 
10. The method of claim 9, further comprising:

determining that a user has selected, with an input device, a border region of the child application window;

based on the determination, altering an icon of a pointer device to indicate a resize operation;

determining that the user has dragged the icon to a new location on the particular monitor; and

directing the window management module WMM to display the child application window with a size based on the new location.


 
11. The method of claim 1, wherein directing the window management module WMM that is independent of the application module to display the at least one cover window comprises:
directing the WMM that is independent of the application module to display a plurality of cover windows, a respective cover window being displayed on each one of the N monitors, and the plurality of cover windows combined being coextensive with all dimensions of the respective maximum display area of the monitors combined.
 
12. The method of claim 1, wherein determining the at least one primary monitor comprises:
determining a particular monitor of the N monitors on which the main application window is located, and designating the particular monitor as the at least one primary monitor.
 
13. The method of claim 1, wherein determining the at least one primary monitor comprises:

determining that the main application window spans multiple monitors of the N monitors;

determining that a majority of an area of the main application window is displayed on a particular monitor of the multiple monitors; and

designating the particular monitor as the at least one primary monitor.


 
14. A device, comprising:

a plurality of video ports configured to communicate with a plurality of monitors;

a memory;

a processor coupled to the plurality of video ports and the memory;

an application module in the memory and operative to provide instructions to the processor, the processor responsive to the instructions of the application module, the application module operative to:

determine that a multi-monitor full screen mode is requested;

determine a number N of the plurality of monitors coupled to the plurality of video ports, wherein N is greater than one, the N monitors each having a respective maximum display area based on a corresponding monitor screen;

direct a window management module WMM that is independent of the application module to display at least one cover window that has dimensions coextensive with all dimensions of the respective maximum display areas of the N monitors combined, said cover window being displayed on top of other windows associated with application modules other than the application module that requested the multi-monitor full screen mode, said cover window comprising a solid color;

determine at least one primary monitor of the N monitors;

determine a full screen display area associated with the at least one primary monitor;

size a main application window of the application module to have dimensions that are at least coextensive with dimensions of the full screen display area; and

direct the window management module WMM to display the sized main application window on top of the cover window on the at least one primary monitor, such that the sized main application window is borderless and lacks minimize and maximize buttons.


 
15. A computer program product for implementing a multi-monitor full screen mode in an application module, the computer program product stored on a non-transitory computer-readable storage medium and including application module instructions configured to cause a device comprising a processor and a plurality of video ports to carry out the steps of:

determining that the multi-monitor full screen mode is requested;

determining a number N of monitors that are coupled to the plurality of video ports of a device, wherein N is greater than one, the N monitors each having a respective maximum display area based on a corresponding monitor screen;

directing a window management module WMM that is independent of the application module to display at least one cover window that has dimensions coextensive with all dimensions of the respective maximum display areas of the N monitors combined, said cover window being displayed on top of other windows associated with application modules other than the application module that requested the multi-monitor full screen mode, said cover window comprising a solid color;

determining at least one primary monitor of the N monitors;

determining a full screen display area associated with the at least one primary monitor;

sizing a main application window of the application module to have dimensions that are at least coextensive with dimensions of the full screen display area; and

directing the window management module WMM to display the sized main application window on top of the cover window on the at least one primary monitor, such that the sized main application window is borderless and lacks minimize and maximize buttons.


 


Ansprüche

1. Computerimplementiertes Verfahren zum Implementieren eines Multi-Monitor-Vollbildmodus in einem Anwendungsmodul (14-5), das auf einer Vorrichtung ausgeführt wird, die einen Prozessor, einen Speicher und eine Vielzahl von Videoanschlüssen umfasst, wobei das Verfahren computerimplementierte Operationen umfasst zum:

Ermitteln (1000), durch das Anwendungsmodul, dass der Multi-Monitor-Vollbildmodus angefordert ist;

Ermitteln (1002), durch das Anwendungsmodul, einer Anzahl, N, von Monitoren (22-1, 22-2), die an die Vielzahl von Videoanschlüssen der Vorrichtung gekoppelt sind, wobei N größer als eins ist, die N Monitore jeweils einen jeweiligen Maximalanzeigebereich (24-1, 24-2) auf Grundlage eines entsprechenden Monitorbildschirms aufweisen;

Anweisen (1004), durch das Anwendungsmodul, eines Fensterverwaltungsmoduls, WMM (16), das vom Anwendungsmodul unabhängig ist, mindestens ein Abdeckfenster (52-1, 52-2) anzuzeigen, das mit einer Kombination aller Abmessungen der jeweiligen Maximalanzeigebereiche der N Monitore flächengleiche Abmessungen aufweist, wobei das Abdeckfenster über anderen Fenstern (18-1, 18-3) angezeigt wird, die mit Anwendungsmodulen assoziiert sind, die vom Anwendungsmodul verschieden sind, das den Multi-Monitor-Vollbildmodus angefordert hat, wobei das Abdeckfenster eine einheitliche Farbe umfasst;

Ermitteln (1006), durch das Anwendungsmodul, mindestens eines primären Monitors (54) der N Monitore;

Ermitteln (1008), durch das Anwendungsmodul, eines Vollbildanzeigebereichs, der mit dem mindestens einen primären Monitor assoziiert ist;

Bemessen (1010), durch das Anwendungsmodul, eines Hauptanwendungsfensters (18-4) des Anwendungsmoduls, sodass es Abmessungen aufweist, die zumindest flächengleich mit Abmessungen des Vollbildanzeigebereichs sind; und

Anweisen (1012), durch das Anwendungsmodul, des Fensterverwaltungsmoduls WMM, das bemessene Hauptanwendungsfenster über dem Abdeckfenster auf dem mindestens einen primären Monitor anzuzeigen, sodass das bemessene Hauptanwendungsfenster rahmenlos ist und keine Tasten zum Minimieren und Maximieren aufweist.


 
2. Verfahren nach Anspruch 1, ferner umfassend ein Empfangen einer vom Benutzer initiierten Anforderung, in den Multi-Monitor-Vollbildmodus zu treten.
 
3. Verfahren nach Anspruch 1, wobei das Fensterverwaltungsmodul WMM ausgelegt ist, eine Vielzahl von Fenstern zu verwalten, die mit einer Vielzahl von verschiedenen Anwendungsmodulen assoziiert sind.
 
4. Verfahren nach Anspruch 1, wobei der Vollbildanzeigebereich entweder: flächengleich mit dem Maximalanzeigebereich des mindestens einen primären Monitors ist; oder kleiner als der Maximalanzeigebereich des mindestens einen primären Monitors ist.
 
5. Verfahren nach Anspruch 1, ferner umfassend:

dass das Ermitteln des mindestens einen primären Monitors der N Monitore ein Ermitteln eines ersten primären Monitors und eines zweiten primären Monitors umfasst;

wobei der ermittelte Vollbildanzeigebereich mit dem ersten primären Monitor und dem zweiten primären Monitor assoziiert ist und

wobei das Ermitteln des Vollbildanzeigebereichs, der mit dem mindestens einen primären Monitor assoziiert ist, umfasst:

Zugreifen auf eine Konfigurationsdatei; und

Erhalten des Vollbildanzeigebereichs aus der Konfigurationsdatei.


 
6. Verfahren nach Anspruch 1, ferner umfassend:
Festlegen von Attributen des Hauptanwendungsfensters, sodass das Hauptanwendungsfenster nicht größenveränderlich ist.
 
7. Verfahren nach Anspruch 1, ferner umfassend:
vor dem Bemessen des Hauptanwendungsfensters, Ermitteln einer Vielzahl von Attributwerten von Attributen des Hauptanwendungsfensters, wobei die Attributwerte visuelle Eigenschaften des Hauptanwendungsfensters identifizieren, die eine Größe des Hauptanwendungsfensters und eine Position des Hauptanwendungsfensters enthalten, und Speichern der Vielzahl von Attributwerten im Speicher.
 
8. Verfahren nach Anspruch 7, ferner umfassend:

Empfangen einer Anforderung, den Multi-Monitor-Vollbildmodus zu verlassen;

Zugreifen auf den Speicher, um die Vielzahl von Attributwerten zu erhalten;

Ändern der Attribute des Hauptanwendungsfensters, sodass sie die Vielzahl von Attributwerten aufweisen; und

Anweisen des Fensterverwaltungsmoduls WMM, das Hauptanwendungsfenster anzuzeigen.


 
9. Verfahren nach Anspruch 1, ferner umfassend:

Ermitteln eines untergeordneten Anwendungsfensters, das mit dem Anwendungsmodul assoziiert ist, wobei das untergeordnete Anwendungsfenster auf einem bestimmten Monitor der N Monitore vor dem Ermitteln angezeigt wird, dass der Multi-Monitor-Vollbildmodus angefordert ist;

nach dem Ermitteln, dass der Multi-Monitor-Vollbildmodus angefordert ist: Festlegen von Attributen des untergeordneten Anwendungsfensters, sodass das untergeordnete Anwendungsfenster rahmenlos ist, nicht minimiert werden kann und nicht maximiert werden kann; und

Anweisen des Fensterverwaltungsmoduls WMM, das untergeordnete Anwendungsfenster über allen anderen auf dem bestimmten Monitor angezeigten Fenstern anzuzeigen.


 
10. Verfahren nach Anspruch 9, ferner umfassend:

Ermitteln, dass ein Benutzer mit einer Eingabevorrichtung einen Rahmenbereich des untergeordneten Anwendungsfensters ausgewählt hat;

auf Grundlage der Ermittlung, Ändern eines Symbols einer Zeigervorrichtung, um eine Größenänderungsoperation anzuzeigen;

Ermitteln, dass der Benutzer das Symbol an eine neue Position auf dem bestimmten Monitor gezogen hat; und

Anweisen des Fensterverwaltungsmoduls WMM, das untergeordnete Anwendungsfenster mit einer Größe auf Grundlage der neuen Position anzuzeigen.


 
11. Verfahren nach Anspruch 1, wobei das Anweisen des Fensterverwaltungsmoduls WMM, das vom Anwendungsmodul unabhängig ist, das mindestens eine Abdeckfenster anzuzeigen, umfasst:
Anweisen des WMM, das vom Anwendungsfenster unabhängig ist, eine Vielzahl von Abdeckfenstern anzuzeigen, wobei ein jeweiliges Abdeckfenster auf jedem der N Monitore angezeigt wird und die Vielzahl von Abdeckfenstern mit allen Abmessungen des jeweiligen Maximalanzeigebereichs der Monitore kombiniert flächengleich ist.
 
12. Verfahren nach Anspruch 1, wobei das Ermitteln des mindestens einen primären Monitors umfasst:
Ermitteln eines bestimmten Monitors der N Monitore, auf dem sich das Hauptanwendungsfenster befindet, und Bestimmen des bestimmten Monitors als den mindestens einen primären Monitor.
 
13. Verfahren nach Anspruch 1, wobei das Ermitteln des mindestens einen primären Monitors umfasst:

Ermitteln, dass das Hauptanwendungsfenster mehrere Monitore der N Monitore umspannt;

Ermitteln, dass ein Großteil eines Bereichs des Hauptanwendungsfensters auf einem bestimmten Monitor der mehreren Monitore angezeigt wird; und

Bestimmen des bestimmten Monitors als den mindestens einen primären Monitor.


 
14. Vorrichtung, umfassend:

eine Vielzahl von Videoanschlüssen, die ausgelegt sind, mit einer Vielzahl von Monitoren zu kommunizieren;

einen Speicher;

einen Prozessor, der an die Vielzahl von Videoanschlüssen und den Speicher gekoppelt ist;

ein Anwendungsmodul im Speicher, das betreibbar ist, dem Prozessor Anweisungen bereitzustellen, wobei der Prozessor auf die Anweisungen des Anwendungsmoduls reagiert, wobei das Anwendungsmodul betreibbar ist:

zu ermitteln, dass ein Multi-Monitor-Vollbildmodus angefordert ist;

eine Anzahl N der Vielzahl von Monitoren zu ermitteln, die an die Vielzahl von Videoanschlüssen gekoppelt sind, wobei N größer als eins ist, die N Monitore jeweils einen jeweiligen Maximalanzeigebereich auf Grundlage eines entsprechenden Monitorbildschirms aufweisen;

ein Fensterverwaltungsmodul WMM anzuweisen, das vom Anwendungsmodul unabhängig ist, mindestens ein Abdeckfenster anzuzeigen, das mit allen kombinierten Abmessungen der jeweiligen Maximalanzeigebereiche der N Monitore flächengleiche Abmessungen aufweist, wobei das Abdeckfenster über anderen Fenstern angezeigt wird, die mit Anwendungsmodulen assoziiert sind, die vom Anwendungsmodul verschieden sind, das den Multi-Monitor-Vollbildmodus angefordert hat, wobei das Abdeckfenster eine einheitliche Farbe umfasst;

mindestens einen primären Monitor der N Monitore zu ermitteln;

einen Vollbildanzeigebereich zu ermitteln, der mit dem mindestens einen primären Monitor assoziiert ist;

ein Hauptanwendungsfenster des Anwendungsmoduls zu bemessen, sodass es Abmessungen aufweist, die mindestens flächengleich mit Abmessungen des Vollbildanzeigebereichs sind; und

das Fensterverwaltungsmodul WMM anzuweisen, das bemessene Hauptanwendungsfenster über dem Abdeckfenster auf dem mindestens einen primären Monitor anzuzeigen, sodass das bemessene Hauptanwendungsfenster rahmenlos ist und keine Tasten zum Minimieren und Maximieren aufweist.


 
15. Computerprogrammprodukt zum Implementieren eines Multi-Monitor-Vollbildmodus in einem Anwendungsmodul, wobei das Computerprogrammprodukt auf einem nicht transitorischen computerlesbaren Speichermedium gespeichert ist und Anwendungsmodulanweisungen enthält, die ausgelegt sind, zu bewirken, dass eine Vorrichtung, die einen Prozessor und eine Vielzahl von Videoanschlüssen umfasst, die Schritte ausführt zum:

Ermitteln, dass der Multi-Monitor-Vollbildmodus angefordert ist;

Ermitteln einer Anzahl N von Monitoren, die an die Vielzahl von Videoanschlüssen einer Vorrichtung gekoppelt sind, wobei N größer als eins ist, die N Monitore jeweils einen jeweiligen Maximalanzeigebereich auf Grundlage eines entsprechenden Monitorbildschirms aufweisen;

Anweisen eines Fensterverwaltungsmoduls WMM, das vom Anwendungsmodul unabhängig ist, mindestens ein Abdeckfenster anzuzeigen, das mit einer Kombination aller Abmessungen der jeweiligen Maximalanzeigebereiche der N Monitore flächengleiche Abmessungen aufweist, wobei das Abdeckfenster über anderen Fenstern angezeigt wird, die mit Anwendungsmodulen assoziiert sind, die vom Anwendungsmodul verschieden sind, das den Multi-Monitor-Vollbildmodus angefordert hat, wobei das Abdeckfenster eine einheitliche Farbe umfasst;

Ermitteln mindestens eines primären Monitors der N Monitore;

Ermitteln eines Vollbildanzeigebereichs, der mit dem mindestens einen primären Monitor assoziiert ist;

Bemessen eines Hauptanwendungsfensters des Anwendungsmoduls, sodass es Abmessungen aufweist, die mindestens flächengleich mit Abmessungen des Vollbildanzeigebereichs sind; und

Anweisen des Fensterverwaltungsmoduls WMM, das bemessene Hauptanwendungsfenster über dem Abdeckfenster auf dem mindestens einen primären Monitor anzuzeigen, sodass das bemessene Hauptanwendungsfenster rahmenlos ist und keine Tasten zum Minimieren und Maximieren aufweist.


 


Revendications

1. Procédé mis en œuvre par ordinateur pour mettre en œuvre un mode plein écran multi-moniteur dans un module d'application (14-5) s'exécutant sur un dispositif comprenant un processeur, une mémoire et une pluralité de ports vidéo, le procédé comprenant les opérations mises en œuvre par ordinateur suivantes :

déterminer (1000), par le module d'application, que le mode plein écran multi-moniteur est demandé ;

déterminer (1002), par le module d'application, un nombre, N, de moniteurs (22-1, 22-2) qui sont couplés à la pluralité de ports vidéo du dispositif, N étant supérieur à un, les N moniteurs présentant chacun une zone d'affichage maximale respective (24-1, 24-2) basée sur un écran de moniteur correspondant ;

diriger (1004), par le module d'application, un module de gestion de fenêtre, WMM, (16) qui est indépendant du module d'application pour afficher au moins une fenêtre de recouvrement (52-1, 52-2) qui présente des dimensions coextensives avec toutes les dimensions des zones d'affichage maximales respectives des N moniteurs combinés, ladite fenêtre de recouvrement étant affichée au-dessus d'autres fenêtres (18-1, 18-3) associées à des modules d'application autres que le module d'application qui a demandé le mode plein écran multi-moniteur, ladite fenêtre de recouvrement comprenant une couleur en aplat ;

déterminer (1006), par le module d'application, au moins un moniteur principal (54) parmi les N moniteurs ;

déterminer (1008), par le module d'application, une zone d'affichage plein écran associée à l'au moins un moniteur principal ;

dimensionner (1010), par le module d'application, une fenêtre d'application principale (18-4) du module d'application pour présenter des dimensions qui sont au moins coextensives avec des dimensions de la zone d'affichage plein écran ; et

diriger (1012), par le module d'application, le module de gestion de fenêtre, WMM, pour afficher la fenêtre d'application principale dimensionnée au-dessus de la fenêtre de recouvrement sur l'au moins un moniteur principal, de telle sorte que la fenêtre d'application principale dimensionnée est sans bordure et ne dispose pas de boutons de réduction et d'agrandissement.


 
2. Procédé selon la revendication 1, comprenant en outre la réception d'une demande initiée par un utilisateur pour entrer dans le mode plein écran multi-moniteur.
 
3. Procédé selon la revendication 1, dans lequel le module de gestion de fenêtre, WMM, est configuré pour gérer une pluralité de fenêtres associées à une pluralité de modules d'application différents.
 
4. Procédé selon la revendication 1, dans lequel la zone d'affichage plein écran est : soit coextensive avec la zone d'affichage maximale de l'au moins un moniteur principal ; soit plus petite que la zone d'affichage maximale de l'au moins un moniteur principal.
 
5. Procédé selon la revendication 1, comprenant en outre :

la détermination de l'au moins un moniteur principal parmi les N moniteurs comprend la détermination d'un premier moniteur principal et d'un second moniteur principal ;

dans lequel la zone d'affichage plein écran déterminée est associée au premier moniteur principal et au second moniteur principal, et

dans lequel la détermination de la zone d'affichage plein écran associée à l'au moins un moniteur principal comprend :

accéder à un fichier de configuration ; et

obtenir la zone d'affichage plein écran à partir du fichier de configuration.


 
6. Procédé selon la revendication 1, comprenant en outre :
régler des attributs de la fenêtre d'application principale de telle sorte que la fenêtre d'application principale est non redimensionnable.
 
7. Procédé selon la revendication 1, comprenant en outre :
avant le dimensionnement de la fenêtre d'application principale, déterminer une pluralité de valeurs d'attribut d'attributs de la fenêtre d'application principale, les valeurs d'attribut identifiant des caractéristiques visuelles de la fenêtre d'application principale comprenant une taille de la fenêtre d'application principale et un emplacement de la fenêtre d'application principale ; et stocker la pluralité de valeurs d'attribut dans la mémoire.
 
8. Procédé selon la revendication 7, comprenant en outre :

recevoir une demande pour sortir du mode plein écran multi-moniteur ;

accéder à la mémoire pour obtenir la pluralité de valeurs d'attribut ;

modifier les attributs de la fenêtre d'application principale pour avoir la pluralité de valeurs d'attribut ; et

diriger le module de gestion de fenêtre, WMM, pour afficher la fenêtre d'application principale.


 
9. Procédé selon la revendication 1 comprenant en outre :

déterminer une fenêtre d'application enfant associée au module d'application, la fenêtre d'application enfant étant affichée sur un moniteur particulier parmi les N moniteurs avant la détermination du fait que le mode plein écran multi-moniteur est demandé ;

après la détermination du fait que le mode plein écran multi-moniteur est demandé : régler des attributs de la fenêtre d'application enfant de telle sorte que la fenêtre d'application enfant est sans bordure, ne peut pas être réduite et ne peut pas être agrandie ; et

diriger le module de gestion de fenêtre, WMM, pour afficher la fenêtre d'application enfant au-dessus d'une quelconque autre fenêtre affichée sur le moniteur particulier.


 
10. Procédé selon la revendication 9, comprenant en outre :

déterminer qu'un utilisateur a sélectionné, avec un dispositif d'entrée, une région de bordure de la fenêtre d'application enfant ;

sur la base de la détermination, modifier une icône d'un dispositif de pointeur pour indiquer une opération de redimensionnement ;

déterminer que l'utilisateur a fait glisser l'icône vers un nouvel emplacement sur le moniteur particulier ; et

diriger le module de gestion de fenêtre, WMM, pour afficher la fenêtre d'application enfant avec une taille basée sur le nouvel emplacement.


 
11. Procédé selon la revendication 1, dans lequel l'opération consistant à diriger le module de gestion de fenêtre, WMM qui est indépendant du module d'application pour afficher l'au moins une fenêtre de recouvrement comprend :
diriger le WMM qui est indépendant du module d'application pour afficher une pluralité de fenêtres de recouvrement, une fenêtre de recouvrement respective étant affichée sur chacun des N moniteurs, et la pluralité de fenêtres de recouvrement combinées étant coextensives avec toutes les dimensions de la zone d'affichage maximale respective des moniteurs combinés.
 
12. Procédé selon la revendication 1, dans lequel la détermination de l'au moins un moniteur principal comprend :
déterminer un moniteur particulier parmi les N moniteurs sur lequel la fenêtre d'application maximale est située, et désigner le moniteur particulier comme l'au moins un moniteur principal.
 
13. Procédé selon la revendication 1, dans lequel la détermination de l'au moins un moniteur principal comprend :

déterminer que la fenêtre d'application maximale s'étend sur de multiples moniteurs parmi les N moniteurs ;

déterminer qu'une majorité d'une zone de la fenêtre d'application principale est affichée sur un moniteur particulier parmi les multiples moniteurs ; et

désigner le moniteur particulier comme l'au moins un moniteur principal.


 
14. Dispositif, comprenant :

une pluralité de ports vidéo configurés pour communiquer avec une pluralité de moniteurs ;

une mémoire ;

un processeur couplé à la pluralité de ports vidéo et à la mémoire ;

un module d'application dans la mémoire et fonctionnel pour fournir des instructions au processeur, le processeur étant réactif aux instructions du module d'application, le module d'application étant fonctionnel pour :

déterminer qu'un mode plein écran multi-moniteur est demandé ;

déterminer un nombre N de la pluralité de moniteurs couplés à la pluralité de ports vidéo, N étant supérieur à un, les N moniteurs présentant chacun une zone d'affichage maximale respective basée sur un écran de moniteur correspondant ;

diriger un module de gestion de fenêtre, WMM, qui est indépendant du module d'application pour afficher au moins une fenêtre de recouvrement qui présente des dimensions coextensives avec toutes les dimensions des zones d'affichage maximales respectives des N moniteurs combinés, ladite fenêtre de recouvrement étant affichée au-dessus d'autres fenêtres associées à des modules d'application autres que le module d'application qui a demandé le mode plein écran multi-moniteur, ladite fenêtre de recouvrement comprenant une couleur en aplat ;

déterminer au moins un moniteur principal parmi les N moniteurs ;

déterminer une zone d'affichage plein écran associée à l'au moins un moniteur principal ;

dimensionner une fenêtre d'application principale du module d'application pour présenter des dimensions qui sont au moins coextensives avec des dimensions de la zone d'affichage plein écran ; et

diriger le module de gestion de fenêtre, WMM, pour afficher la fenêtre d'application principale dimensionnée au-dessus de la fenêtre de recouvrement sur l'au moins un moniteur principal, de telle sorte que la fenêtre d'application principale dimensionnée est sans bordure et ne dispose pas de boutons de réduction et d'agrandissement.


 
15. Produit de programme d'ordinateur pour mettre en œuvre un mode plein écran multi-moniteur dans un module d'application, le produit de programme d'ordinateur étant stocké sur un support de stockage lisible par ordinateur non transitoire et comprenant des instructions de module d'application configurées pour amener un dispositif comprenant un processeur et une pluralité de ports vidéo à réaliser les étapes suivantes :

déterminer que le mode plein écran multi-moniteur est demandé ;

déterminer un nombre N de moniteurs qui sont couplés à la pluralité de ports vidéo d'un dispositif, N étant supérieur à un, les N moniteurs présentant chacun une zone d'affichage maximale respective basée sur un écran de moniteur correspondant ;

diriger un module de gestion de fenêtre, WMM, qui est indépendant du module d'application pour afficher au moins une fenêtre de recouvrement qui présente des dimensions coextensives avec toutes les dimensions des zones d'affichage maximales respectives des N moniteurs combinés, ladite fenêtre de recouvrement étant affichée au-dessus d'autres fenêtres associées à des modules d'application autres que le module d'application qui a demandé le mode plein écran multi-moniteur, ladite fenêtre de recouvrement comprenant une couleur en aplat ;

déterminer au moins un moniteur principal parmi les N moniteurs ;

déterminer une zone d'affichage plein écran associée à l'au moins un moniteur principal ;

dimensionner une fenêtre d'application principale du module d'application pour avoir des dimensions qui sont au moins coextensives avec des dimensions de la zone d'affichage plein écran ; et

diriger le module de gestion de fenêtre, WMM, pour afficher la fenêtre d'application principale dimensionnée au-dessus de la fenêtre de recouvrement sur l'au moins un moniteur primaire, de telle sorte que la fenêtre d'application principale dimensionnée est sans bordure et ne dispose pas de boutons de réduction et d'agrandissement.


 




Drawing