Disclosed embodiments relate to window control of computer display screens.
Modern computer display technology affords increased resolution and larger screen sizes which enable an ever increasing density of application displays. Displays generally have dedicated areas for window-control functions, typically located in the title bar region, to provide control functions such as window maximize and window-close. Myriad displays which comprise two or more displays under common user' control is one type of display commonly used in the control room of manufacturing plants.
This Summary is provided to introduce a brief selection of disclosed concepts in a simplified form that are further described below in the Detailed Description including the drawings provided. This Summary is not intended to limit the claimed subject matter's scope.
Disclosed embodiments recognize conventional application displays which have dedicated areas for window-control functions (WCFs) typically in the title bar region of the display can create an overly busy look and feel, particularly for myriad displays, and also consume screen area on generally seldom utilized control functions. Removing this dedicated area for selecting WCFs addresses this busyness problem, but creates a significant new problem of how to initiate WCFs on windows whose WCFs have been removed.
Disclosed embodiments solve the problem of window control for application displays without any dedicated areas for selecting WCFs. For example, in contrast to each display in a myriad display (and each window in the display for multi-window displays) conventionally having their own dedicated area with icons for governing WCFs, such as maximize-window, close window, a window control panel (WCP) with a hover menu including a plurality of icons for WCFs therein is provided on each of the display screen window (window) as a pop-up to the user only after the user “hovers” their mouse-pointer (mouse) over a designated trigger area in the window.
The trigger area can comprise a portion of the WCP. Disclosed WCPs provide the ability to perform a range of WCFs including, but not limited to: close, maximize, fast-update, output-focus and global output-focus. Close and maximize are generally standard computer WCFs, minimize is optional, while fast-update, output-focus and global-output-focus are examples of more specific WCFs that may be used in certain “managed display” environments commonly provided in manufacturing production control rooms.
A “mouse” as known in the art is a commonly used computer input device, where generally the mouse movement is visually fed back to the user by a graphic symbol or cursor displayed on the display screen that copies the mouse's movement creating the illusion in the mind of user of directly moving it with his or her own hand. Application programs derive user commands according to spatial relationships between the displayed information and the cursor's position on the screen. Disclosed embodiments may be practiced with either a wired mouse or with a wireless mouse.
Disclosed embodiments are described with reference to the attached figures, wherein like reference numerals are used throughout the figures to designate similar or equivalent elements. The figures are not drawn to scale and they are provided merely to illustrate certain disclosed aspects. Several disclosed aspects are described below with reference to example applications for illustration. It should be understood that numerous specific details, relationships, and methods are set forth to provide a full understanding of the disclosed embodiments.
One having ordinary skill in the relevant art, however, will readily recognize that the subject matter disclosed herein can be practiced without one or more of the specific details or with other methods. In other instances, well-known structures or operations are not shown in detail to avoid obscuring certain aspects. This Disclosure is not limited by the illustrated ordering of acts or events, as some acts may occur in different orders and/or concurrently with other acts or events. Furthermore, not all illustrated acts or events are required to implement a methodology in accordance with the embodiments disclosed herein.
Disclosed hover pop-up panel-based application display controller embodiments implement a method of hover pop-up panel-based application window control for providing WCFs for display screens which generally requires no change to the computer hardware, where disclosed program code determines when the mouse of an operator or other user is hovering over a generally small designated trigger area (e.g., near the upper right portion or upper left portion of the window), and when in the trigger area a temporary WCP is automatically presented on that window. As the trigger area is generally not shown in the windows, the trigger area can be discovered by a user by discovery (trial and error) or by training.
The display screen 112 and display controller 115 collectively function to display a set of display windows 114, 116, 118, 120 to the operator or other user (not shown) that uses a mouse 138 as a user interface device, generally along with a keyboard. There are monitor-control graphical user interfaces (MCGUIs) 122, 124, 126, 128 shown in the display windows 114, 116, 118, 120, respectively. The computing system 110 may be a desktop personal computer system, a laptop personal computer system, a personal digital assistant, a mobile computing device, or any other general purpose computer processing device. As used herein, a “display screen” can comprise display types other than MCGUI-type displays, such as a typical computer display, for example a notepad.
The phrase “monitor-control graphical user interface” as used herein refers to a GUI which displays information and generally provides command control for monitoring and/or controlling applications, such as for an industrial process or industrial equipment. The MCGUIs 122, 124, 126, 128 typically include a text display area (not shown), a video display area (not shown), an image display area (not shown), command buttons (not shown), scroll bars (not shown), and/or the like. Each of the MCGUIs 122, 124, 126, 128 is displayed in a particular display window 114, 116, 118, 120. For example, an MCGUI 122 is displayed in the display window 114. Similarly, the MCGUI 124 is displayed in the display window 116. Likewise, the MCGUI 126 is displayed in the display window 118. The MCGUI 128 is displayed in the display window 120. However, it should be understood that more than one GUI can be displayed in each of the display windows 114, 116, 118, 120.
The term “window” as used herein refers to a visual area of a display screen containing content. Such content can include, but is not limited to, still images, video images, an animated image, text, graphs, charts, data, GUIs, or any other information useful in monitoring an area of interest and/or controlling a desired process. In the industrial process scenario, the GUIs can contain information necessary for enabling an operator (not shown) to monitor and/or control an industrial process or equipment. Such information includes, but is not limited to, real-time images of industrial equipment (e.g., a tank filled with a liquid), data indicating temperature of a particular area of an industrial plant, data indicating temperature of a liquid used in an industrial process, and data indicating how much liquid is in a particular container.
There are many types of IPCS known in the art for controlling industrial equipment and processes. IPCS 100 includes a primary server 102, an operator computing system 110, an optional secondary (or back-up) server 104, a plant control system 106, and industrial processing equipment 108. The plant control system 106 has a distributed network configuration, i.e., there are application specific modules communicably connected to each other, industrial equipment, and operator interfaces via a local control network.
Each of the components 102, 110, 104, 106, and 108 is known to those having ordinary skill in the art, and therefore will not be described in detail herein. The computing system 110 is configured to enable the control of the industrial equipment 108 by an operator (not shown, such as in a control room) interacting using the mouse 138.
Display controller 115 includes software code (code) 134 stored in a memory (e.g., read only memory, (ROM), or random access memory (RAM)) 136 executable by a processing device 132 for implementing a disclosed method of hover pop-up panel-based application window control for display screens. Processing device 132 is coupled to a display driver 133 which drives the display screen 112. The processing device 132 can comprise a microprocessor, digital signal processor (DSP) or microcontroller unit (MCU). The user interface generally comprises a keyboard (not shown), and the mouse 138. The display screen 112 can also be touch sensitive.
Step 202 comprises generating a detect signal responsive to detecting a mouse hovering over a pre-defined trigger area of the first window. As noted above, the trigger area can be within the area the WCP is displayed. As known in the art, mouse position detection to enable step 202 is standard on computers. Step 203 comprises sending the detect signal to a processor which is coupled to a display driver that is coupled to drive the display screen. In step 204, responsive to receiving the detect signal, the processor and display driver cause the displaying of a WCP as a popup within the first window, where the WCP includes icons each associated with a WCF including at least close and maximize.
The WCFs can further comprise minimize, as well as fast-update, output-focus and global output-focus which are examples of more specific WCFs that may be applicable in certain “managed display” environments as may be seen in manufacturing production control rooms. The fast-update provides a “mode” in which a given (aka MCGUI) monitoring and control GUI could be placed into a mode of consuming process-control data resources at a higher rate, by “updating fast”. Fast-update is applicable for process data (e.g., from a plant), but not for text, so that fast-update will generable not be available for selection (so that its icon is shown unavailable in the WCP, such as being shown as greyed to indicate being unavailable) when text is displayed in the window.
Output-focus provides a mechanism whereby in a given set of similar application displays, which of that set of displays would be replaced (closed, shut down) upon invocation of new display that belongs to set of displays, or types of displays, that would belong to that group of similar application displays. Global-output-focus provides a mechanism whereby, regardless of the type of display that may next be invoked, the one and only global-output-focus MCGUI would be replaced upon invocation of a new MCGUI application display. Another WCF is the “window-lock option” defined as a way to preclude the automatic incrementing of an output-focus status to be applied to a given window that exists within a set of two or more similar application displays.
When the mouse 138 of an operator (or other user) is hovering over the trigger area the WCP with a hover menu therein pops-up in response can show not only icons for the WCFs provided, but can also show the current state of those WCFs which have state information, which can define three (3) different current states, 1) disabled/unavailable (unavailable), such as the icon shown grayed out, and for available WCFs 2) enabled but not currently engaged (OFF), for example the icon shown ungrayed/unhighlighted, or 3) ON/engaged (ON), such as the icon shown either highlighted (as in output-focus, global output-focus), modified (as in maximized and locked vs. unlocked) or animated (as in fast update). A user can toggle between ON and OFF for an available WCF, except for WCFs that when turned OFF by themselves results in insufficient system guidance. For example, output-focus when ON to “make the next display information go here”, is an example exception to two-way toggling because turning it OFF by itself is insufficient system guidance as a user typically also selects a different window to have the output-focus set ON, i.e. selects an output-focus for another window.
One or more WCFs may be unavailable, such as fast-update while text is being displayed in the window as described above. Unavailable is generally uniquely represented to distinguish it from OFF, such as by the icon being grayed out. State information being ON or OFF is generally provided for fast-update, window-lock, output-focus, global-output focus, maximize/restore, and window close. Each WCF available for selection may be selected by clicking on its associated icon to render it ON in order to execute the desired WCF option (e.g., fast-update or maximize/restore).
Other example WCFs that can be included, including acknowledge-alarm, confirm-message, and window-drag. Alarm state can be indicated showing a status icon, e.g., “no alarms present”, “alarms present, highest current alarm is low, high or emergency” and also elaborated to indicate graphically a mix of the alarms (e.g., a pie chart) with its selection causing an action of either invoking the alarm summary page or (as may be configured) acknowledging the unacknowledged alarms. Message state can be similarly indicated, showing an indication of current messages, those that have yet to be confirmed, and those yet to be acknowledged. Window drag may be a target area presented on the WCP which when clicked and dragged, allows a user to reposition the window to the desired location. The user may then select and thereby execute a desired available WCF, or simply move the mouse 138 away out from the area of the WCP, both of which actions can result in the WCP being removed from sight. Disclosed code 134 can monitor movements of the mouse 138 while the WCP remains presented. The result is the ability to control windows without conventionally requiring a dedicated screen area (e.g., title bar area) for selecting WCFs nor the attendant conventional screen clutter from a conventional dedicated control panel.
The WCP stops being displayed promptly after it is no longer being hovered over the WCP. There can be a timer, which can be user configurable, to determine how long after the mouse exits the WCP to continue to present the WCP in the window. The WCP can also be “opted out” temporarily by either a generic mechanism (e.g. adding a “window property”) or in real time, e.g. by a user holding down the “control” key, for example if a user decides he or she does not want to have the WCP shown to allow viewing needed information in the area of the WCP.
Referring now to
Disclosed embodiments are further illustrated by the following specific Examples, which should not be construed as limiting the scope or content of this Disclosure in any way.
There five WCF icons shown in the WCP 415, with fast-update, display-lock, output-focus global, output-focus, and maximize shown left to right. A close icon (generally an “X”) that is generally to the right of the maximize icon is not shown in
The rightmost display window is shown having a distinctive border pattern 420 shown with a thicker black line border indicating it is the display window of the plurality of display windows that is currently “active” (where the keyboard or mouse input would be directed). The distinctive border pattern may also be differently colored, such as a blue border vs. a non-active thin line black border. The mechanism chosen is to draw, each time a given window becomes active, a recognizably distinct border around that window. One particular example color and thickness that can be default values are cyan/blue and 2-pixels wide, respectively. Similarly, each inactive display window is provided a typically less distinctive border.
The example screenshot of
Regarding “fast update” and “global-output focus”, only one window system-wide can generally be “fast update”, and for “global-output focus”. “Fast update” means this window is temporarily putting heavier burden on the data access network by retrieving data at a higher rate. “Global-output focus” means regardless of normal workspace window-replacement configuration logic, put the next invoked display here.
Regarding “display lock” and “output-focus”, these WCFs cannot generally both be active, but both can be available for enabling at same time. These two types of groupings allow for a set of “like” displays to positioned similarly into a defined collection of locations (e.g. replace a specific set of displays in an orderly, predictable manner, such as “round robin replacement”). Round robin, as the name indicates, means the “next window to be replaced”—aka the “output-focus” window is incremented automatically, as each new display of that ilk is invoked. Manual select is identical but for the ‘auto-increment of output-focus mechanism, hence one manually selects the ‘output-focus’ window, if one wishes to change it among a group of such windows. The display lock icon provides a free pass by which the round robin auto-increment mechanism “skips” a given window in a round robin group. Accordingly, the display lock icon's status will be shown as disabled (or not available) if a) the window is not part of a round robin group, or b) the round robin group has a total of just one window (possible), or c) no other windows in the round robin group are available (e.g. three of the four windows in a round robin group are already locked.).
While various disclosed embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. Numerous changes to the subject matter disclosed herein can be made in accordance with this Disclosure without departing from the spirit or scope of this Disclosure. In addition, while a particular feature may have been disclosed with respect to only one of several implementations, such feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.
As will be appreciated by one skilled in the art, the subject matter disclosed herein may be embodied as a system, method or computer program product. Accordingly, this Disclosure can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, this Disclosure may take the form of a computer program product embodied in any tangible medium of expression having computer usable program code embodied in the medium.