Window system

Abstract: A window system is constructed by a checking section to check an overlapping state of a plurality of windows displayed on a display, a forming section to form window graphs each showing the positional relation of each window when the windows are seen from another direction such as vertical or horizontal direction different from the overlapping direction and each corresponding to each window, a display such as a color CRT or LCD display to display the window graphs, a detector to detect an overlapped portion of the window graphs from the window graphs formed, and a changing section to change an attribute of the window graph to clarify the overlapped portion of the window graphs when such a portion is detected. By performing a selecting or operating instruction by a mouse cursor or the like to a desired window graph, the window corresponding to the instructed window graph can be selected or operated.

Description: The invention relates to a window system which can display a plurality of windows in a display means and can execute a different processing operation for each window. In a conventional window system, in the case where a plurality of windows are displayed, since an overlapping of the windows is permitted, there is a situation such that the other windows are perfectly hidden in dependence on a display position and a size of the window. In the case where there is such a plurality of windows, since it is difficult to grasp the positional relation among the windows, in order to search for a hidden window, the user repeats operations such as to move the window displayed in the highest order to the lowest order or to change the window of the highest order to an icon, thereby enabling the lower order windows to be seen, or the like. As a method of grasping the positions of the windows, the following method has been realized. First, there is a technique such as "Computer apparatus having a function to display a plurality of windows" disclosed in Japanese Patent Application Laid-open No. 5-173743. According to such a technique, when there are overlapped windows, a mode is switched from an overlapping mode to a transparent mode and all of the hidden windows which cannot be seen are allowed to be seen, thereby enabling the position of the target window to be easily known. In an X window system (registered trade name of X consortium), there is a tvtwm window manager to provide a virtual desk-top environment. According to such a window manager, a diagram reduced as a whole is displayed so as to know an arrangement of the windows displayed on a display and an operation is instructed for such a diagram, thereby realizing the movement of the actual window. Namely, in order to grasp the overlapping state of the windows, it is necessary to repeat the operations such as movement of the window, change to the icon, and the like. Further, there is a layer display and operating function of MacDraw (registered trade name of Apple Computer Co. Ltd. in U.S.A.). Although such a function relates to an application software for forming a document instead of a window system, an overlapping state of pages (called layers) such that an image of a lower document can be transmitted and seen even when they are overlapped can be confirmed and operated by a menu. This shows that a technique such that the overlapping state can be grasped by a menu format although a relation with the window system is low exists as a prior art. Different from the window, since the sizes of layers are fixed, the overlapping state can be grasped and operated by the menu format. However, a plane-like operation that is peculiar to the window such as movement of position or change in size cannot be realized by the menu format. In the above conventional window system, means for easily grasping the overlapping state of the windows having a planar extent doesn't exist and means for enabling an operation to move the overlapped hidden window or to change a size of such a window to be directly executed doesn't exist. Specifically speaking, the foregoing "Computer apparatus having a function to display a plurality of windows" has a drawback such that in the case where overlapped windows are displayed as a transparent mode, since all of the figures on the windows are seen all together, there is a case where it is impossible to judge which figure corresponds to which window and it is difficult to know the position of a target window. Particularly, when the number of overlapped windows exceeds three, it is practically difficult to grasp the overlapping state of the windows from the transparent mode, so that it eventually takes a troublesomeness and a time to grasp such an overlapping state. Since the windows of the figures displayed on the virtual desk-top window are displayed like a plane in the above tvtwm window manager, there is a drawback such that it is difficult to grasp the overlapping state of the lower window. Further, the layer display and operating function of the MacDraw mentioned above has a drawback such that the overlapping state of the layers is changed in only the vertical direction and the layers cannot be moved in the vertical and horizontal directions and a resizing (change in size of the window) operation that is peculiar to the window system cannot be performed. It is known from Research Disclosure number 348, 1 April 1993, page 270 to provide a display of windows which, upon command from the user, appears to turn on its edge to thereby show all windows on edge as vertical bars. The invention is made in consideration of the above problems and it is an object of the invention to provide a window system which can improve a working efficiency of a window process for overlapped windows. Aspects of the present invention are set out in the appended claims. One embodiment of the invention has: detecting means for detecting the overlapped portion of the windows from the window graphs formed; and changing means for changing attributes of the window graphs in order to clarify the overlapped portion when the overlapped portion of the window graphs is detected by the detecting means. In further embodiments, the changing means clarifies the overlapped portion of the window graphs by at least one of the shape, color, flickering, texture, thickness, and shadow. In a further embodiment, the invention has: checking means for checking an overlapping state of a plurality of windows; forming means for forming window graphs each showing a positional relation of each window when the windows are seen from another direction different from an overlapping direction; display means for displaying the window graphs formed; input means for performing a selecting instruction or an operating instruction to the window; and control means for performing the selecting instruction or operating instruction to the window when the selecting instruction or operating instruction by the input means is executed for the window graphs displayed. The operating instruction may be for example an instruction to move the window in the vertical or horizontal direction, an instruction to change the overlapping state of the windows, an instruction to change the sizes of the windows, or an instruction to erase the windows. Further preferably speaking, the selecting instruction is generated for all of the window graphs. BRIEF DESCRIPTION OF THE DRAWINGS Fig. 1 is a block diagram showing a schematic construction of a window system according to the first embodiment of the invention; Fig. 2 is a diagram showing an example of windows displayed by display means in Fig. 1; Fig. 3 is a flowchart showing a procedure of a main routine for display that is executed by the window system in the first embodiment; Fig. 4 is a flowchart showing a detailed procedure of a subroutine for an initialization and formation processing of windows in step S1 in Fig. 1; Fig. 5 is a diagram showing an example of a window management table in Fig. 1; Fig. 6 is a flowchart showing a detailed procedure of a subroutine for display of window graphs in step S2 in Fig. 3; Fig. 7 is a flowchart showing a detailed procedure of a subroutine for display of window graphs according to the second embodiment; Fig. 8 is a diagram showing an example of windows and window graphs displayed by a window system of the second embodiment; Fig. 9 is a flowchart showing a procedure for a main routine which is executed by a window system according to the third embodiment; Fig. 10 is a flowchart showing a detailed procedure of a subroutine for a movement processing of windows in step S50 in Fig. 9; Fig. 11 is a flowchart showing a detailed procedure for a resizing subroutine of a window in step S50 in Fig. 9; Fig. 12 is a diagram showing the case where a mouse cursor M1 is moved onto a graph G2 corresponding to a window W2 and a mouse button is clicked at that location; Fig. 13 is a diagram showing an execution result in the case where the window graph G2 in Fig. 12 is moved to the left; Fig. 14 is a diagram showing an execution result in the case where the window graph G2 in Fig. 12 is moved in the depth direction; Fig. 15 is a diagram showing a state in the case where an operation to extend the right edge of the window graph G2 in Fig. 14 to the right by the mouse cursor M1 is executed; Fig. 16 is a flowchart showing a procedure of window operations which are added to a control operation of the window system of the third embodiment to embody a window system of the fourth embodiment; and Fig. 17 is a diagram showing windows in Fig. 15 in accordance with the reverse order by the window system of the fourth embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiments of the invention will now be described in detail hereinbelow with reference to the drawings. Fig. 1 is a block diagram showing a schematic construction of a window system according to the first embodiment of the invention. To grasp an overlapping state of windows, window graphs are displayed in the embodiment. In the diagram, the window system of the embodiment is constructed by: an input section 1 to input various information; a window operation section 2 to perform an operation to a desired window in accordance with an input by the input section 1; a window management section 3 to manage the windows in accordance with the operation by the window operation section 2; a memory 4 to store the inputted various information, a state of each window, and the like; a window management table 5 to manage each window held in a predetermined area in the memory 4; a window graph management section 6 to form window graphs on the basis of the data in the window management table 5; a drawing section 7 to display the windows and window graphs in accordance with outputs from the window graph management section 6 and window management section 3; and a display 8 to display an output from the drawing section 7. In the embodiment, a CRT display device is used as a display 8. A main memory is used as a memory 4. The window operation section 2, window management section 3, window graph management section 6, and drawing section 7 are realized by executing a control program stored in the main memory by a central processing unit (CPU). Fig. 2 is a diagram showing an example of the windows displayed in the display 8. In the diagram, W1 to W4 denote windows; V1 to V4 indicate diagrams (vertical window graphs) when the windows W1 to W4 are seen from the horizontal direction; H1 to H4 likewise diagrams (horizontal window graphs) when the windows W1 to W4 are seen from the vertical direction; A1 a main window display area; A2 a horizontal window graph display area; A3 a vertical window graph display area; and A4 a function area. A control operation which is executed by the window system constructed as mentioned above will now be described hereinbelow with reference to Figs. 3 to 6. Since an essence of the invention relates to the management, display, and operation of windows in the window system, only the essence of the invention will be explained in detail in the embodiment and the other portions are properly omitted for convenience of explanation. Therefore, since the whole window system is not explained in detail, it is assumed that the well-known processings to those skilled in the art are tacitly executed unless otherwise described. Fig. 3 is a flowchart showing a procedure of a main routine for a display that is executed by the window system of the embodiment. In the diagram, a subroutine for initialization and forming process of windows, which will be explained hereinlater, is first executed (step S1). A subroutine for a window graph display processing for displaying an overlapping state of the windows, which will be explained hereinlater, is executed (step S2). After that, the main routine is finished. Fig. 4 is a flowchart showing a detailed procedure of a subroutine for initialization and forming process of windows in step S1. Fig. 5 shows an example of a window management table that is formed at the time of formation of windows and corresponds to that (component element 5) described in Fig. 1 mentioned above. In Fig. 4, first, a check is made to see if the window management table 5 is initialized or a new window is additionally formed in the window management table 5 or not (step S11). In case of an activation of the window system or the like, the window management table 5 is initialized (step S12). Subsequently in step S13, a window is formed. However, in order to form the window management table 5 by a format shown in Fig. 5, a processing to read out coordinates (X1, Y1) of a left upper position and coordinates (X2, Y2) of a right lower position of the window formed is also executed. A depth of the window which was newly formed is set to "1" unless otherwise specified and is registered into the window management table 5. An overlapping state of the newly formed window and the other existing windows is examined by comparing the coordinates (X1, Y1, X2, Y2). When there is an overlapped portion, the depth of the overlapped window is increased by only "1". Further, when there is another window under such an overlapped window, the depth of such a lower window is similarly increased by "1". An updating of the depth is similarly repeated until there is no window under the overlapped window. In step S14, the newly formed window is stored into the memory 4 in a form of the additional registration into the window management table 5. Fig. 6 is a flowchart showing a detailed procedure of the subroutine for displaying window graphs in step S2. In the diagram, an overlapping state of the windows is first checked (step S21). As mentioned above, since the overlapping state of the windows is managed by the "depth" in the window management table 5 (Fig. 5) that is formed at the time of formation of the windows, the processing in step S21 is executed by specifically examining the "depth". Subsequently, window graphs as diagrams when the windows are seen from another direction different from the overlapping direction of the windows are formed (step S22). Specifically speaking, on the basis of the information (depth, X1, Y1, X2, Y2) of the windows examined in step S21 mentioned above, the window graphs when the windows are seen from another direction different from the overlapping direction are formed from the sizes in the horizontal and vertical directions and from the upper/lower relations. Further, the window graphs formed are displayed to the display 8 (step S23). In step S23, an image formed in step S22 is displayed on the CRT display as a display 8. As described above, according to the embodiment, as shown in Fig. 2, the window graphs V1 to V4 and H1 to H4 are displayed from the plurality of windows W1 to W4 displayed and the overlapping state of the windows can be easily grasped. In the embodiment, although the CRT display device has been used as a display 8, a liquid crystal display device can be also used. Even if the lower hidden window can be grasped, a case where the kind of such a window cannot be known is also considered. In this case, window names are added upon formation of the window graphs and the window graphs can be also displayed. A window system according to the second embodiment of the invention will now be described. The second embodiment differs from the foregoing first embodiment with respect to only a point that the window graphs are displayed in colors, thereby enabling the overlapping state or the like to be easily seen. A system similar to that (Fig. 1) of the first embodiment is used except that a color CRT display is used as a display 8. As a control operation which is executed by the window system of the embodiment, a control operation similar to that of the main routine for display (Fig. 4) described in the first embodiment is used. Such a control operation can be realized by changing the window graph display subroutine of the main routine to a subroutine of Fig. 7. Therefore, in steps in Fig. 7, processing steps similar to those in Fig. 6 are designated by the same step numbers and their descriptions are omitted. Fig. 7 is a flowchart showing a detailed procedure of the window graph display subroutine of the embodiment. As processes in the case where the window graphs are overlapped, steps S31 and S32 are added between steps S21 and S22 in the flowchart of Fig. 6. In step S31, whether a window graph to be formed overlaps the window graphs formed so far or not is judged by comparing the "depth" and the "X coordinate" or the "depth" and the "Y coordinate" in the window management table 5. Thus, when they overlap, the processing routine advances to step S32. When they don't overlap, the processing routine skips step S32 and advances to step S22. In step S32, a fact that the new window graph overlaps the other window graphs is emphasized by using another color different from the colors of the window graphs existing so far. Fig. 8 is a diagram showing an example of the windows and window graphs displayed by the window system of the embodiment. This diagram shows an example in the case where three windows W1, W2, and W3 having overlapped portions are shown together with the window graphs. G1 denotes a graph showing the overlapped portion when the windows W1 and W3 are seen from the horizontal lateral direction. In the embodiment, in the case where the colors of the windows formed so far are blue, the color of the overlapped portion G1 is set to red. In the case where the colors of the window graphs existing so far are blue and the color of the window graph to be formed from now on is red and it overlaps the existing window graphs, by setting the color of the overlapped portion G1 to purple as a mixture color of blue and red, the overlapping state can be further visually easily grasped. According to the second embodiment as described above, by using a color CRT display as a display 8 and adding the processing steps of changing the display color of the overlapped portion of the windows to the first embodiment, a confusion (complication) which occurs when grasping the overlapping state of the windows can be prevented. A similar effect is also derived by using a color liquid crystal display as a display 8. Even in the non-overlapped portions of the windows, common colors can be also allocated to the frames of the windows and the window graphs in order to distinguish each window. Further, even when each window is distinguished by changing a shape, a flickering, a texture, a thickness, a shadow, or the like as an 'attribute other than the color or by properly combining those attributes, a similar effect is obtained. A window system according to the third embodiment of the invention will now be described. The embodiment relates to the operation of the window and has a construction similar to that of the second embodiment except that a mouse is used as an input section 1. Fig. 9 is a flowchart showing a procedure of a main routine which is executed by the window system of the embodiment. First in step S41, a subroutine for initialization and forming process of windows is executed. In step S42, a subroutine for a window graph display processing is executed. The subroutine in steps S41 and S42 executes processes similar to those of the subroutine in steps S1 and S2 (Fig. 3) described in the first embodiment, respectively. Subsequently in step S43, the system waits for an input from the mouse as an input section 1. When there is an input, the processing routine advances to step S44. When there is no input, the processing routine is returned to step S43 and the system waits until there is an input. In the specification, "input" denotes a click of a mouse button instead of the movement of a mouse cursor and since the movement processing of the mouse cursor is not an essence of the embodiment, its description is omitted here. In step S44, a check is made to see if the mouse cursor exists in the window graph area A2 or A3 or not. When the mouse cursor exists in the window graph area A2 or A3, step S45 follows. When it doesn't exist in the window graph areas A2 and A3, step S46 follows. Since step S46 relates to other window processing that is executed by the window system and is not an essence of the embodiment, a description of such a processing is omitted here. The window graph is unconditionally coupled to the corresponding window. The selection of the window graph directly denotes the selection of the window. Fig. 12 is a diagram showing the case where a mouse cursor M1 is moved onto a graph G2 corresponding to the window W2 and the mouse button is clicked at this position. In step S45, whether the system is in a state in which the window is selected or not is discriminated by checking on which window graph the position of the mouse cursor M1 exists. When the mouse cursor M1 exists on the window graph, step S47 follows. When the mouse cursor doesn't exist on the window graph, the processing routine skips step S47 and advances to step S48. When the mouse cursor M1 exists on the window graph area, the window corresponding to the window graph is selected in step S47, thereby changing the display of the selected window graph (window graph G2 in Fig. 12). The presence or absence of the window selected is judged in step S48. When there is no selected window, the processing routine is again returned to step S43. When there is the selected window, step S49 follows. In step S49, a check is made to see if the operation of the window is executed or not. If YES, step S50 follows. If NO, the processing routine is returned to step S43. The operation of the window here denotes the moving operation of the window in the vertical and lateral direction like an operation such that when the mouse cursor is moved to the left with the mouse button depressed, the mouse cursor is moved to the left of the selected window. Fig. 13 shows an execution result in the case where the window graph G2 in Fig. 12 is moved to the left. In the case where the mouse button is moved in the depth direction (lower direction in case of the horizontal window graph, right direction in case of the vertical window graph) with the button depressed, the operation of the window denotes the moving operation to move the selected window in the depth direction. Fig. 14 shows an execution result in the case where the window graph G2 in Fig. 12 is moved in the depth direction. In the case where the mouse cursor is located at an end point of the window graph and is moved with the mouse button depressed, its operation means a changing operation (resize) of a size'of window. Fig. 15 is a diagram in the case where the operation to extend the right edge of the window graph G2 in Fig. 14 to the right by the mouse cursor M1. Fig. 10 is a flowchart showing a detailed procedure of a subroutine for a movement processing of the window in step S50. In the diagram, first in step S61, the coordinates of the window position are updated. In step S62, the window management table 5 is updated. In step S63, the window graph is displayed. Fig. 11 is a flowchart showing a detailed procedure of a resizing subroutine of the window in step S50. In the diagram, a size of window is changed in step S71. In association with the size change, the window management table 5 is updated in step S72 and the window graph is displayed in step S73 after that in a manner similar to steps S62 and S63 in Fig. 10. According to the embodiment as described above, by executing the selection processing or operation processing to a desired window graph, the selection processing or operation processing can be executed for the relevant window, so that an operating efficiency can be further improved. In the embodiment, although the mouse has been used as an input section 1, a similar effect is derived by using another pointing device (for example, a pen, a touch panel, or the like). The erasure of windows can be also realized in a manner similar to the foregoing embodiment. Further, a menu is displayed after the window graph was selected and by selecting and instructing "movement", "resize", "erase", or the like in the menu, a similar effect is obtained. A window system according to the fourth embodiment of the invention will now be described. The embodiment relates to a case where the depths of windows are arranged in the reverse order and uses substantially the same construction as that of the third embodiment. A control operation that is executed by the window system of the embodiment is also realized by adding processing steps shown in Fig. 16 as a window operation to the control operation of the third embodiment. In Fig. 16, first in step S81, a maximum value (L) of the depths of the windows is detected. In step S82, differences between (L) and all of the windows are calculated, thereby arranging the depths of the windows in the reverse order. In step S83, the window management table 5 is updated. After that, the result of the arrangement in the reverse order is displayed in step S84. The mouse cursor is moved to the area A4 at the right lower corner of the display 8 and the mouse button is clicked at this position. Thus, an overlapping state of the windows as shown in Fig. 15 changes as shown in Fig. 17. Such an operation is an operation to reverse the upper/lower relations among all of the windows. According to the embodiment as described above, a display state easily becomes a state in which many hidden windows can be seen in a lump, so that a target window can be found out quickly. Moreover, there is an effect such that by clicking the mouse button once again in the same area A4, the display state can be easily returned to the original arrangement state. In the case where the target window cannot be discriminated by only the size and position, the target window can be found out early for the windows in which the actual display contents have to be seen. According to the invention as described above, the overlapping state of the windows is checked, the positional relations of the windows when they are seen from another direction different from the overlapping direction are formed as window graphs, and the window graphs formed are displayed. Therefore, the overlapped hidden window can be easily found out. The overlapping state of the windows can be easily grasped. Thus, there is an effect such that a working efficiency of the window processes can be improved. Preferably, since the system has the detecting means for detecting the overlapped portions of the windows from the window graphs formed and the changing means for changing the attribute of the window graph in order to clarify the overlapped portion when the overlapped portion of the window graphs is detected by the detecting means, a confusion which occurs when grasping the overlapping state of the windows can be prevented. The overlapping state of the windows is checked, the positional relations of the windows when they are seen from another direction different from the overlapping direction of the windows are formed as window graphs, the window graphs formed are displayed, and when the selection or operation is instructed to a desired window graph among the window graphs formed, the selecting instruction or operating instruction is performed to the relevant window. Therefore, the hidden window can be directly operated, the overlapping state or position of the windows can be easily changed, and the operating efficiency can be further improved.

Claims: A window displaying system comprising: window display means (3, Fig.4) for displaying a plurality of windows (w1, w2, w3 and w4); checking means (6, S21) for checking an overlapping state of the plurality of windows displayed by said window display means; and graph display means (6,S23) for, in response to a checking by said checking means, displaying a set of window graphs (v1-v4; h1-h4), the set of window graphs showing the overlapping state of the plurality of windows displayed seen from another direction than the overlapping direction; characterised by : detecting means (6, S31) for detecting an overlapped portion of at least one of the window graphs displayed by said graph display means; and changing means (6, S32) for changing a display attribute of the overlapped portion in response to the overlapped portion of the window graph being detected by said detecting means. A window displaying system according to claim 1, wherein said changing means is operable to change the display attribute of the overlapped portion of the window graphs by changing at least one of shape, color, flickering, texture, thickness and shadow. A window displaying system according to any preceding claim, further comprising: designation means (1, S44 and S45) for designating one of the window graphs displayed by said graph display means, wherein each of the window graphs and the window corresponding to said each of the window graphs have a common color which is different from the colors of the other window graphs; instruction input means (1, S48 and S49) for inputting an operating instruction; and control means (2, S50) for executing the operating instruction input by said instruction input means for one of the plurality of windows corresponding to the one window graph designated by said designation means. A window displaying system according to claim 3, wherein the operating instruction is an instruction to move the window in the vertical or lateral direction, change the overlapping state of the windows, change a size of the window or erase the window. A window displaying system according to claim 3, wherein the operating instruction is performed for all of the displayed windows. A window displaying system according to any preceding claim, wherein each of the window graphs is provided with a name of the window corresponding to the window graph. A window displaying system as claimed in any preceding claim comprising setting means for setting first and second display areas (A1, A2, A3), said window display means being operable to display the windows in the first display area and the graph display means being operable to display the window graphs in the second display area. A window displaying system as claimed in claim 7 wherein the second display area comprises first and second portions (A2, A3) within which the graph display means is operable to display vertical and horizontal window graphs (V1-V4; H1-H4) respectively and, representative of vertical and horizontal co-ordinates of the windows respectively. A window displaying method comprising the steps of: displaying a plurality of windows (w1, w2, w3 and w4); checking an overlapping state of the plurality of windows displayed by said window display step; and displaying in response to a checking by said checking means a set of window graphs (v1-v4; h1-h4), the set of window graphs showing the overlapping state of the plurality of windows displayed seen from another direction than the overlapping direction; characterised by : detecting an overlapped portion of at least one of the displayed window graphs; and changing a display attribute of the overlapped portion in response to the overlapped portion of the window graph being detected. A method as claimed in claim 9, wherein said changing step changes the display attribute of the overlapped portion of the window graphs by changing at least one of shape, color, flickering, texture, thickness and shadow. A method as claimed in claim 9, further comprising the steps of: designating one of the displayed window graphs wherein each of the window graphs and the window corresponding to said each of' the window graphs have a common color which is different from the colors of the other window graphs; inputting an operating instruction; and executing the operating instruction input by said instruction input step for one of the plurality of windows corresponding to the one window graph designated by said designation step. A method as claimed in claim 11, wherein the operating instruction is an instruction to move the window in the vertical or lateral direction, change the overlapping state of the windows, change a size of the window or erase the window. A method as claimed in claim 11, wherein the operating instruction is performed for all of the displayed windows. A method as claimed in any of claims 9 to 13, wherein each of the window graphs is provided with a name of the window corresponding to the window graph. A method as claimed in any of claims 9 to 14 comprising setting first and second display areas (A1, A2, A3), said windows being displayed in the first display area and the window graphs being displayed in the second display area. A method as claimed in claim 15, wherein the second display area comprises first and second portions (A2, A3) within which are displayed vertical and horizontal window graphs (V1-V4; H1-H4) representative of vertical and horizontal co-ordinates of the windows respectively. A computer program comprising instructions for programming a computer to carry out a method as claimed in any one of claims 9 to 16.

Inventors: FUKUDA RYOJI, HARADA TAKASHI, FUKUDA, RYOJI, HARADA, TAKASHI
Applicants: CANON KK, CANON KABUSHIKI KAISHA
Application year: 1995
Main classification: G06F3
IPC codes: G06F3, G06T11, G09G5