gocr ep0767419-001
(PICTURE)(PICTURE) (PICTURE)Europäis hes Patentamt (1 9) (PICTURE) European Patent Offi_e (PICTURE) Offi_e euroPéen des brevets (1 1 ) E _ O _6_ 4_ 9 B_ (1 2) EUROPEAN PATENT _PECl FICATlON (45) Date of pUbliCation and mention (51 ) _nt C_.7_. _O6F 3JO33, _O6F 9/44 of the grant of the patent_. 19.O4.2OOO Bulletin 2OOOl16 (21 ) Application number_. 963O5851 .6 (PICTURE)(22) Date of filing_. O9.O8.1996 (54) Method and system in a data pro_essing system windowing environment for displaying previously obs_ured information Verfahren und System zur Darstellung von vorher verborgenen Informationen in einer Rechnerfensterumgebung Méthode et système pour afficher les informations préalablement occultées dans un environnement (PICTURE)(PICTURE) de fenêtres informatiques __ _ __ h _h Note.. w._th._n n._ne months from the pub_._Cat._on of the ment._on of the grant of the European patent, any person may g._ve o nOtiCe tO the EUrOpean Patent OffiCe Of OppOSitiOn tO the EUrOpean patent granted. NOtiCe Of OppOSitiOn Shall be filed in ii a written reasoned statement. It shall not be deemed to have been filed until the opposition fee has been paid. (Art. w (PICTURE)99(1 ) European Patent Convention). Printed by Jouve, 75OO1 PARIS (FR)
gocr ep0767419-002
1 EP O 767 41 9 B1 2 Des_ription [OOO5] In general, windows may be displayed as tiled, or overlapped. Tiled windows are displayed side-by- BACKG ROUND OF TH E l NVENTlON side horizontally or vertically or both, with no overlap of their displayed regions. Overlapped windows appear to 1 . Te_hni_al Field. 5 be stacked one on top of another, like individual pieces of paper piled on a desktop, with the covered portions [OOO1] The present invention relates in general to an of lower windows not being displayed. This type of dis- improved data processing system, and in particular to a play is sometimes referred to as ''the desktop metaphor method and system for displaying information in a data for displays, '' or ''messy desk windowing.'' It is currently processing system. More particularly, the present inven- 1O popular in data processing systems to support such tion relates to a method and system for displaying infor- messy desk windowing. mation in windows in a graphical user interface. [OOO6] Referring to Figure 1 A, a typical window is shown containing textual information. Although it may 2. Des_ription of the Related Art. not be apparent in Figure 1 A, the textual information 15 shown in window 1 2 is displayed utilizing a technique [OOO2] A graphical user interface (G Ul) is a type of dis- called ''wordwrapping. '' Such wordwrapping allows a play format that enables a data processing system user program that displays textual information to break lines to choose commands, start programs, and see graphi- of text automatically to fill the display space in the win- cal and textual information generated by applications by dow in response to the current size of that window. Line pointing to pictorial representations (icons) and lists of 2O breaks created by wordwrapping may be known as soft menu items on the screen. Examples of such graphical returns. Thus, as the window display area is made larger user interfaces include the graphical user interface sold by resizing the window, lines in a paragraph of textual under the trademark ''Wl N DOWS'' by Microsoft Corpo- information are configured to extend from the left bound- ration and the graphical user interface sold under the ary to the right boundary of the window, and soft returns trademark ''OS/2 Warp'' by lnternational Business Ma- 25 are placed in the textual information as necessary for chines Corporation (l BM). the text to fill the window starting from left to right and [OOO3] For application developers, graphical user in- top to bottom. terfaces offer a programming environment that manag- [OOO7] As illustrated in Figure 1 A, data processing es the direct interaction between the computer and com- system help files are frequently displayed in a window puter user. This permits the developer to concentrate on 3O that allows for wordwrapping. Other examples of sys- application programming without devoting a large per- tems that allow for wordwrapping include the OS/2 help centage of effort to the details of screen display or system, the OS/2 system editor, and the program sold mouse and keyboard inputs. A GUl also enables pro- under the trademark ''AmiPro'' by Lotus. grammers to create programs that handle frequently [OOO8] As illustrated in Figure 1 B, a user may from preformed tasks, such as displaying textual or graphical 35 time-to-time wish to open a help file in window 1 2 to ob- information in a window, in the same way because the tain information about manipulating controls or other in- interface provides standard controlling mechanisms formation in a second window 1 4. Many times such a such as the generation of windows and dialog boxes. second window 1 4 will overlap the help window 1 2 and Another benefit is that applications written for a graphi- obscure information the user wants to see. To continue cal user interface are device-independent - as the inter- 4O to manipulate information in the second window 1 4 while face changes to support new input or output devices, using information in the help window 1 2, the user would such as a large-screen monitor, the applications can, have to click on the help window 1 2 to make it the active without modification, use such new devices. window, then resize the help window 1 2 or move it to a [OOO4] It is well known to use ''windows'' in implement- position where the desired information is not overlapped ing a graphical user interface. A window is a portion of 45 by the second window 1 4. This is an annoying set of the screen that can contain its own document or mes- steps for desktop management that wastes the compu- sage. Windows may be used to display various types of ter user's time. information and other objects, such as textual informa- [OOO9] European Patent Application O-6O5-945 deals tion, graphical information, and application tools such with this overlapping windows situation by allowing data as icons, buttons, status windows, and the like. Different 5O associated with an underlying window to be made visi- windows may receive output from different applications ble by adjusting the intensity values of the pixels in- running concurrently, and a single application may gen- volved. erate output displayed in several windows. Each win- dow might also contain its own menu or other controls, SUMMARY OF TH E l NVENTlON and the computer user might be able to enlarge and 55 shrink individual windows at will. Typically, windows act [OO1 O] It is therefore one object of the present inven- independently, as if each window were a virtual display tion to provide an improved data processing system. device. [OO1 1] It is another object of the present invention to 2
gocr ep0767419-003
3 EP O 767 41 9 B1 4 provide a method and system for displaying information Figure 5 depicts the reconfiguration of information in a data processing system. within the window shown in Figure 4 after an over- [OO1 2] It is yet another object of the present invention laying window has been resized, in accordance with to provide a method and system for displaying informa- the method and system of the present invention; tion in windows in a graphical user interface. 5 [OO1 3] The foregoing objects are achieved as is now Figure 6 illustrates a windowfor displaying informa- described. In a data processing system having a display tion with the display feature of the present invention and an operating system, information is displayed within disabled; a first window utilizing information display software. Thereafter, the process detects a second window dis- 1O Figure 7 depicts a title bar having means for ena- played within the display at a location that obscures a bling and disabling the display function of the portion of the information displayed in the first window. present invention; Utilizing the operating system, the process notifies the information display software that the portion of the infor- Figure 8 illustrates a window tiling feature in ac- mation within the first window is obscured by the second 15 cordance with the method and system of the window. In response to receiving this information, the present invention; information display software displays, in the first win- dow, the portion of the information that had been ob- Figure 9 illustrates another example of a window scured by the second window, wherein the information tiling feature in response to resizing a second win- in the first window previously obscured by the second 2O dow in accordance with the method and system of window may be viewed in the first window by the data the present invention; and processing system user. Information displayed in the first window may be textual or graphical. The information Figure 1 O depicts a high-level flowchart illustrating display software may also receive information from the the process of displaying information in a window in system that specifies coordinates of available display 25 accordance with the method and system of the area. In response to predetermined conditions, previ- present invention. ously obscured information may be displayed in availa- ble display area in a relocated first window. DETAl LED DESCRl PTlON OF TH E PREFERRED EMBODl MENT BRl EF DESCRlPTlON OF THE DRAWl N_S 3O [OO1 5] With reference now to the figures, and in par- [OO1 4] The novel features believed characteristic of ticular to Figure 2, there is depicted a data processing the invention are set forth in the appended claims. The system 2O, which includes processor 22, keyboard 24, invention itself however, as well as a preferred mode of and display 26. Keyboard 24 is coupled to processor 22 use, further objects and advantages thereof, will best be 35 by a cable 28. Display 26 includes display screen 3O, understood by reference to the following detailed de- which may be implemented utilizing a cathode ray tube scription of an illustrative embodiment when read in con- (CRT), a liquid crystal display (LCD), an electrolumines- junction with the accompanying drawings, wherein_. cent panel, or the like. Data processing system 2O also includes pointing device 32, which may be implemented Figure 1 A depicts a typical window in a graphical 4O utilizing a track ball, joystick, touch sensitive tablet or user interface according to the prior art; screen, trackpad, or as illustrated in Figure 2, a mouse. Pointing device 32 may be utilized to move a pointer or Figure 1 B shows a first window and a second win- cursor on display screen 3O. Processor 22 may also be dow that overlays the first window according to the coupled to one or more peripheral devices, such as mo- prior art_, 45 dem 34, CD-ROM 36, network adaptor 38 and floppy disk drive 4O, each of which may be internal or external Figure 2 depicts a data processing system in ac- to the enclosure of processor 22. An output device such cordance with the method and system of the as printer 42 may also be coupled to processor 22. present invention; [OO1 6] Those persons skilled in the art of data 5O processing systems design should recognize that dis- Figure 3 is a more detailed high-level blockdiagram play 26, keyboard 24, and pointing device 32 may each which further illustrates the major components of be implemented utilizing any one of several known off- the data processing system of Figure 2; the-shelf components. Data processing system 2O may be implemented utilizing any general purpose computer Figure 4 illustrates a display containing a window 55 or so-called personal computer, such as the personal that displays information in accordance with the computer sold under the trademark ''PS/2, '' which is method and system of the present invention; manufactured and distributed by International Business Machines Corporation (l BM), of Armonk, New York. 3
gocr ep0767419-004
5 EP O 767 41 9 B1 6 [OO1 7] With reference now to Figure 3, there is de- battery-backed CMOS RAM may be utilized to store picted a high-level block diagram which further illus- system configuration information. trates the major components that may be included in da- [OO21] Access to RAM 56, ROM 58, and nonvolatile ta processing system 2O of Figure 2. Data processing memoy 6O may be controlled by memory controller 62 system 2O is controlled primarily by computer readable 5 and bus controller 64. Memoy controller62 may provide instructions, which may be in the form of software, wher- an address translation function that translates virtual ad- ever, or by whatever means such software is stored or dresses into physical addresses as instructions are ex- accessed. Such software may be executed within cen- ecuted. Memory controller 62 may also provide a mem- tral processing unit (CPU) 5O to cause data processing ory protection function that isolates processes within the system 2O to do work. In many known workstations and 1O system and isolates system processes from user proc- personal computers, such as the personal computer esses. Thus, a program running in user mode can ac- sold by l BM under the trademark ''PS/2, '' central cess only memoy mapped by its own process virtual processing unit 5O is implemented by a single-chip CPU address space; it cannot access memoy within another called a microprocessor. Examples of such microproc- process's virtual address space unless memory sharing essors include the microprocessor sold under the trade- 15 between the processes has been set up. mark ''PENTl U M'' by Intel Corporation and the micro- [OO22] An expansion card or expansion board is a cir- processor sold under the trademark ''PowerPC'' by In- cuit board that includes chips and other electronic com- ternational Business Machines Corporation. ponents connected in a circuit that adds functions or re- [OO1 8] Coprocessor 52 is an optional processor, dis- sources to the computer. Typical expansion cards add tinct from main CPU 5O, that performs additional func- 2O memoy, disk-drive controllers 66, video support, paral- tions or assists CPU 5O. One common type of coproc- lel and serial ports, and internal modems. For laptop, essor is the floating-point coprocessor, also called a nu- palmtop, and other portable computers, expansion meric or math coprocessor, which is designed to per- cards usually take the form of PC Cards, which are credit form numeric calculations faster and better than gener- card-size devices designed to plug into a slot in the side al-purpose CPU 5O. Recently, however, the functions of 25 or back of a computer. An example of such a slot is the many coprocessors have been incorporated into more PCMCIA slot (Personal Computer Memory Card Inter- powerful single-chip microprocessors. national Association) which defines type l, l l and l l l card [OO1 9] CPU 5O fetches, decodes, and executes in- slots. Thus, empty slots 68 may be used to receive var- structions, and transfers information to and from other ious types of expansion cards or PCMCIA cards. resources via the computer's main data-transfer path, 3O [OO23] Disk controller 66 and diskette controller 7O system bus 54. Such a system bus connects the com- both include special-purpose integrated circuits and as- ponents in data processing system 2O and defines the sociated circuitry that direct and control reading from medium for data exchange. System bus 54 typically in- and writing to a hard disk drive 72 and a floppy disk or cludes data lines for sending data, address lines for diskette 74, respectively. Such disk controllers handle sending addresses, and control lines for sending inter- 35 tasks such as positioning read/write head, mediating be- rupts and for operating the system bus. An example of tween the drive and the microprocessor, and controlling such a system bus is the PCl (Peripheral Component the transfer of information to and from memory. A single Interconnect) bus and the bus sold under the trademark disk controller may be able to control more that one disk ''Micro Channel Architecture'' by l BM. The Micro Chan- drive. nel Architecture provides a function called bus arbitra- 4O [OO24] CD-ROM controller 76 may be included in data tion that regulates access to the bus by extension cards, processing 2O for reading data from CD-ROMs 78 (com- controllers, and CPU 5O. Devices that attach to the Mi- pact disk read-only memory). Such CD-ROMs use laser cro Channel and arbitrate to take over the bus are called optics rather than magnetic means for reading data. bus masters. Bus master support also allows multiproc- [OO25] Keyboard mouse controller 8O is provided in essor configurations of the Micro Channel to be created 45 data processing system 2O for interfacing with keyboard by the addition of bus master adapters containing a 82 and a pointing device, such as mouse 84. Such point- processor and its support chips. ing devices are typically utilized to control an on-screen [OO2O] Memory devices coupled to system bus 54 in- element, such as a cursor, which may take the form of clude random access memory (RAM) 56, read only an arrow having a hot spot that specifies the location of memory (ROM) 58, and nonvolatile memory 6O. Such 5O the pointer when the user presses a mouse button. Oth- memories include circuitry that allows information to be er pointing devices include the graphics tablet, the sty- stored and retrieved. ROMs contain stored data that lus, the light pen, the joystick, the puck, the trackball, cannot be modified. Data stored in RAM can be read or the trackpad and the pointing device sold under the changed by CPU 5O or other hardware devices. Nonvol- trademark ''TrackPoint'' by l BM. atile memoy is memory that does not lose data when 55 [OO26] Direct memory access (DMA) controller 86 power is removed from it. Nonvolatile memories include may be used to provide a memory access that does not ROM, E PROM, flash memory, bubble memoy, or bat- involve CPU 5O. Such memoy accesses are typically tery-backed CMOS RAM. As shown in Figure 3, such employed for data transfer directly between memory 4
gocr ep0767419-005
7 EP O 767 41 9 B1 8 and an ''intelligent'' peripheral device, such as between [OO33] During data processing operations, the various memory 56 and disk controller 66. devices connected to system bus 54 may generate in- [OO27] Communication between data processing sys- terrupts which are processed by interrupt controller 1 O4. tem 2O and other data processing systems may be fa- An interrupt is a request for attention from CPU 5O that cilitated by serial controller 88 and network adaptor 9O, 5 can be passed to CPU 5O by either hardware or soft- both of which are coupled to system bus 54. Serial con- ware. An interrupt causes the microprocessor to sus- troller 88 is utilized totransmit information between com- pend currently executing instructions, save the status of puters, or between a computer and peripheral devices, the work in progress, and transfer control to a special one bit at a time over a single line. Serial communica- routine, known as an interrupt handler, that causes a tions can be synchronous (controlled by some time 1O particular set of instructions to be carried out. Interrupt standard such as a clock) or asynchronous (managed controller 1 O4 may be required to handle a hierarchy of by the exchange of control signals that govern the flow interrupt priorities and arbitrate simultaneous interrupt of information). Examples of serial communications requests. Interrupt controller 1 O4 may also be used to standards include the RS-232 interface and the RS-422 temporally disable interrupts. interface. 15 [OO34] With reference now to Figure 4, there is de- [OO28] As illustrated, such a serial interface may be picted a display containing a window that displays infor- utilized to communicate with modem 92. A modem is a mation in accordance with the method and system of communications device that enables a computer to the present invention. As illustrated, display screen 3O transmit information over a standard telephone line. Mo- includes window 1 5O and window 1 52. Window 1 5O dis- dems conve_ digital computer signals to analog signals 2O plays information under the control of information dis- suitable for communication over telephone lines. Mo- play software, which may include, for example, a text dem 92 may be utilized to connect data processing sys- editor or word processing program, or software that dis- tem 2O to an on-line information service, such as the plays help files. In the example shown in Figure 4, the information service provided under the service mark information is textual information and graphical informa- ''PRODl_y'' by l BM and Sears. Such on-line se_ice 25 tion, wherein graphic 1 54 is positioned below the te_ual providers may offer software which may be downloaded information in window 1 5O. into data processing system 2O via modem 92. Modem [OO35] According to an important aspect of the 92 may provide a connection to other sources of soft- present invention, window 1 52 is displayed at a location ware, such as a server, an electronic bulletin board, and within display screen 3O that obscures a portion of win- the Internet or World Wide Web. 3O dow 1 5O. Figure 4 illustrates that information in window [OO29] Network adaptor 9O may be used to connect 1 5O may be displayed according to the method and sys- data processing system 2O to a local area network 94. tem of the present invention so that it is useful to a data Network 94 may provide computer users with means of processing system user, and not obscured by window communicating and transferring software and informa- 1 52. In the absence of the method and system of the tion electronically. Additionally, network 94 may provide 35 present invention, a portion of the information displayed distributed processing, which involves several comput- in window 1 5O would be obscured by window 1 52, in a ers and the sharing of workloads or cooperative efforts manner similar that illustrated in Figure 1 B. In accord- in performing a task. ance with the present invention, textual information and [OO3O] Display 96, which is controlled by display con- graphical information that had been obscured by win- troller 98, is used to display visual output generated by 4O dow 1 52 has been moved within window 1 5O to a loca- data processing system 2O. Such visual output may in- tion within window 1 5O that is not obscured by window clude text, graphics, animated graphics, and video. Dis- 1 52. If window 1 5O includes textual information, the play 96 may be implemented with a CRT-based video words are relocated, maintaining their predetermined display, an LCD-based flat-panel display, or a gas plas- order, as if the right or left margins were reset to permit ma-based flat-panel display. Display controller 98 in- 45 the text to wrap around an area obscured by window cludes electronic components required to generate a 1 52. video signal that is sent to display 96. [OO36] With reference now to Figure 5, there is de- [OO31] Printer 1 OO may be coupled to data processing picted a display containing a window that displays infor- system 2O via parallel controller 1 O2. Printer 1 OO is used mation according to the method and system of the to put text or a computer-generated image on paper or 5O present invention in a second case. As illustrated, win- on another medium, such as a transparency. Other dow 1 5O within display 3O contains textual and graphical types of printers may include an imagesetter, a plotter, information. The graphical information takes the form of or a film recorder. graphic 1 54. Window 1 52 has been displayed in a loca- [OO32] Parallel controller 1 O2 is used to send multiple tion that extends almost entirely across window 1 5O, data and control bits simultaneously over wires connect- 55 leaving a portion of window 1 5O along the right side that ed between system bus 54 and another parallel com- is too narrow to display textual or graphical information. munication device, such as printer 1 OO. The most com- In this case, textual information that starts above win- mon parallel interface is the Centronics interface. dow 1 52 has been moved from a location obscured by 5
gocr ep0767419-006
9 EP O 767 419 B1 1 O window 152 to a location immediately belowwindow 152 lized to enable and disable the function on a window- - a location that is not obscured by window 152. There- by-window basis. For example, in another embodiment, fore, after window 152 has been resized from the size a pull-down menu may be used to enable and disable shown in Figure 4, window 15O continues to make in- the display function of the present invention. formation within window 15O visible to the data process- 5 [OO4O] With reference now to Figure 8, there is de- ing user. picted a window tiling feature in accordance with the [OO37] With reference now to Figure 6, there is de- method and system of the present invention. As illus- picted a display that includes a window for displaying trated, display 3O includes windows 15O and 152. Win- information, wherein the method and system for display- dow 1 5O has been moved to a location within display 3O ing information has been disabled in accordance with 1O that is not occupied by window 152. Window 1 5O has one embodiment of the present invention. As illustrated, been moved to such a location in response two events_. display 3O includes windows 15O and 152. Window 15O (1 ) detecting that window 152 is displayed in a location is utilized to display information, in the form of textual that obscures a portion of information displayed in win- information and graphical information 154. Window 152 dow 15O when window 1 5O was in an original position, has been displayed in a location such that a portion of 15 and (2) determining that a portion of window 15O that the information in window 15O has been obscured by was not obscured by window 152 did not include suffi- window 152. Because the method and system for dis- cient area to display information in window 15O. There- playing information has been disabled in the example fore, when event number 2 occurs, there is not enough shown in Figure 6, the textual and graphical information area in window 15O that is not obscured by window 152 154 in window 15O has been partially obscured by win- 2O to legibly or intelligibly display either textual information dow 152. or graphical information contained in window 15O. In this [OO38] Means for enabling and disabling the display situation, the present invention provides a means for lo- function of the present invention may be accomplished cating open or available display space within display 3O at either the system level or in the information display and moving and resizing window 15O to occupy such software. At the system level, when the display is disa- 25 available display space. bled, the system may stop notifying, or sending mes- [OO41] In order to implement the window relocation sages to, the information display software, which would feature ofthe present invention, the system may monitor then prevent the information display from reconfiguring the available display space within display 3O, and notify information in a window that has been overlapped. If the the information display software responsible for window enable/disablefunction is handled in the information dis- 3O 15O that such available display space exists and of the play software, the information display software maysim- location of such available display space. ply ignore a message from the system that indicates a [OO42] With reference now to Figure 9, there is de- portion of information displayed in a window under the picted a display having two windows in accordance with control of the information display software has been ob- a window relocation feature of the method and system scured. 35 of the present invention. As illustrated, window 152 has [OO39] With reference now to Figure 7, there is de- been enlarged so that it occupies display space previ- picted a title bar having means for enabling and disa- ously occupied by window 15O in Figure 8. In response bling the display function of the present invention. As to such an enlargement of window 152, window 15O has illustrated in the embodiment shown in Figure 7, select- been resized to occupy a smaller remaining space with- ed areas in the menu bar of window 15O are used to 4O in display 3O, and window 15O now includes scroll but- permit selection of various features or modes of opera- tons along the right hand side of the window. Such scroll tion of window 15O. As illustrated, the means for receiv- buttons have been added because all the information in ing user input to enable and disable the display feature window 15O may not be displayed in the smaller display of the present invention is implemented with a button, area now occupied by window 15O. such as buttons 156 and 158. By selecting button 156, 45 [OO43] As window 152 is resized to occupy even more the display feature of the present invention is disabled display space within display 3O, the remaining display and any window 152 that overlays window 1 5O contain- space within window 15O may fall below a predeter- ing button 156 may obscure information displayed in mined minimum amount of display space beyond which window 1 5O that is below overlaying window 152. If the the method and system of the present invention will not user clicks on button 158, the display feature of the 5O attempt to display a resized window 15O. present invention is enabled, and any window 152 po- [OO44] With reference now to Figure 1 O, there is de- sitioned to obscure information in window 15O will cause picted a high-level flowchart illustrating the process of window 15O to reconfigure the information contained displaying information in a window in accordance with therein so that an overlaying window 152 does not ob- the method and system of the present invention. As il- scure information. Although the embodiment illustrated 55 lustrated, the process begins at block 2OO, and thereaf- in Figure 7 utilizes buttons in a title bar to enable and ter passes to block2O2 wherein information is displayed disablethe displayfunction of the present invention, oth- in a first window using information display software. er controls associated with specific windows may be uti- Such information display software may include software 6
gocr ep0767419-007
1 1 EP O 767 41 9 B1 1 2 that allows for wordwrapping of textual information, in- [OO49] In still another embodiment, the information cluding the OS/2 help system, the OS/2 system editor, display software may display obscured information in AmiPro, and OpenDoc compound documents. The in- the first window when the second, obscuring window is formation displayed in the first window may include tex- also displayed by the same information display software tual information, graphical information, or other dis- 5 that displays the first window. In this embodiment, no played information such as buttons and controls, video communication is needed between the information dis- display areas, tool palettes, or the like. play software and eitherthe operating system or another [OO45] Thereafter, a second window is displayed with- application - the information display software independ- in the display area of the data processing system, as ently monitors the obstruction of information in windows illustrated at block 2O4. Next, the process determines 1O it is displaying. whether or not information in the first window is ob- [OO5O] Referring again to block 2O8, once the infor- scured by the second window, as depicted at block 2O6. mation display software receives the message that the Such a determination may be made by a comparison of first window has been obscured by the second window, the boundaries of the first window and the second win- the process determines whether or not the display fea- dow by the operating system of the data processing sys- 15 ture that reveals obscured information is enabled for the tem. If the process determines that information in the first window, as illustrated at block 21 O. If the display first window is not obscured by the second window, the feature is not enabled, the process may ignore the mes- process iteratively loops back to block 2O2, wherein the sage from the system that the first window has been ob- first and second windows are displayed according to any scured, as illustrated by the no branch from block 21 O. new directions given by the computer user to the graph- 2O ln another embodiment, the display feature that reveals ical user interface. obscured information may inhibit messages from the op- [OO46] If the process determines that a portion of the erating system to the information display software in or- information in the first window is obscured by the second der to disable the feature. It may be advantageous to window, the process sends a message to the informa- have the display feature of the present invention ena- tion display software that informs the information display 25 bled at the operating system level so that any application software that a portion of the information displayed in may take advantage of it. Such an enable and disable the first window is obscured by the second window, as control may be treated as a system level control, like the depicted at block 2O8. Such a message to the informa- minimize/maximize buttons on a title bar. If, however, tion display software may come from the operating sys- the feature that reveals obscured information is ena- tem, or alternatively from the software that displayed the 3O bled, the process determines whether or not information second window that overlays the first window. Addition- can be reconfigured for display in the visible space in ally, the message to the information display software the first window, as depicted at block 21 2. may contain information that unobscured display space [OO51] If the information in the first window can be exists at specified coordinates within the display screen. reconfigured to be displayed in the visible space of the [OO47] In other embodiments, the information display 35 first window, the information display software conforms software that displayed the first window may perform the information in the first window to display the portion of detection that the first window has been partially ob- information previously obscured by the second window, scured. Such detection may include steps that query the as illustrated in block 21 4. Such conforming of informa- operating system for information regarding the position tion may utilize functions in the information display soft- of other windows that may obscure information in the 4O ware in conjunction with information received from the first window. Additional system queries may request da- system regarding visible window area, and may include ta necessary to determine the location of available dis- moving information or resizing information within the play space for an alternative location for the first window. first window so that information is not obscured by the second window. [OO48] In yet another embodiment, the information 45 [OO52] In one embodiment utilizing OpenDoc contain- display software may cooperate with other applications er parts, an OpenDoc part having dimensions equal to that display windows to pass data that notifies the infor- the region of the first window that is overlapped by the mation display software that information in the first win- second window may be created and embedded in the dow has been obscured. To obtain such cooperation be- client area of the first window. This forces the contents tween applications, an area in memoy may be shared 5O of the OpenDoc container to automatically adjust to the for describing the location and Z-order of windows dis- newly added part, causing the information in the Open- played by each of the cooperating applications. Thus the Doc container to flow around the boundaries of the sec- cooperating applications are tasked with displaying ob- ond window. scured information without resorting to assistance from [OO53] Once the information in the first window has the operating system. Such cooperating applications 55 been conformed around the second window, the proc- may be written by the same software manufacturer, or ess returns to block 2O2, wherein information may be they may conform to any industy standard for commu- reconformed in response to a movement of either the nicating such window display data. first or second windows, or in response to an enable- 7
gocr ep0767419-008
1 3 EP O 767 41 9 B1 1 4 ment or disablement of the display feature of the present table storage media (e.g. read only memoy devices invention. within a computer such as ROM 58 or CD-ROM disks [OO54] Referring again to decision block21 2, if the vis- 78 readable by a computer l/O attachment) ; (b) infor- ible space in the first window falls below a predeter- mation alterably stored on writable storage media (e.g. mined minimum amount of space so that the information 5 floppy disks 74 and hard drives 72) ; or (c) information cannot be reconfigured for display in such minimal conveyed to a computer through communication media amount of window space, the process determines such as network 94 and telephone networks via modem whether or not the first window can be moved to an avail- 92. It should be understood, therefore, that such media, able space in the display area, as illustrated at block when carying computer readable instructions that di- 21 6. If the first window cannot be moved to an available 1O rect the method functions of the present invention rep- space in the display area, the process iteratively returns resent alternate embodiments of the present invention. to block 2O2 for detecting any changes in the display of [OO58] One such embodiment is drawn to a computer windows in the display screen. If, however, the first win- program product comprising_. a computer usable medi- dow can be moved to an available space in the display um having computer readable program code and com- area, the information display software utilizes informa- 15 puter readable system code embodied on said medium tion received from the system regarding available dis- for displaying previously obscured information, said play space to resize and/or relocate the first window in computer program product including_. computer reada- the available display space in the display screen, as de- ble program code means for displaying information with- picted at block 21 8. Thereafter, the process returns to in a first window in said display; computer readable sys- block 2O2. 2O tem code means for detecting a second window dis- [OO55] While the invention has been described and il- played in said display at a location that obscures a por- Iustrated above with textual and graphical information, tion of said information displayed in said first window; other forms of information displayed within a window computer readable system code means for notifying may be reconfigured to become visible after being over- said computer readable program code means for dis- lapped by another window. These other forms of infor- 25 playing information within a first windowthat said portion mation may include various buttons or tool palettes or of said information within said first window is obscured other controls, video display areas, or areas containing by said second window; and computer readable pro- animated graphics. And while the invention has been gram code means for displaying in said first window said described and illustrated with reference to only two win- portion of said information that had been obscured by dows, information displayed in one window may be con- 3O said second window, wherein said information in said figured around a plurality of windows. Similarly, a win- first window previously obscured by said second win- dow may be moved or resized to a location that is avail- dow may be viewed in said first window by a data able in a screen having multiple windows. Moreover, processing system user. available window space need not be limited to space [OO59] Further, this embodiment involves the compu- that does not contain an additional window - available 35 ter program product wherein the computer readable space may include an area of the screen that would system code means for notifying said computer reada- overlay other windows that have been placed lower in ble program code means for displaying information with- a Z-order in response to current conditions in the data in said first window that said portion of said information processing system. In this situation, the process may within said first window is obscured by said second win- determine that a window that is being relocated or re- 4O dow further comprises computer readable system code sized according to the present invention is more impor- means for sending a message from said computer read- tant than other windows that may exist further down in able system code means to said computer readable pro- the Z-order. gram code means for displaying information within said [OO56] The method embodiments of the present in- first window, wherein said message includes data that vention also include sending a message from the oper- 45 represents said portion of said information within said ating system to information display software, where the first window is obscured by said second window. message includes data that represents the portion of the [OO6O] The computer readable program code means information within the first window that is obscured by for displaying in said first window said portion of said the second window. information that had been obscured by said second win- [OO57] As indicated above, aspects of this invention 5O dow further comprises computer readable program pertain to specific ''method functions'' implementable on code means for moving said portion of said information computer systems. In an alternate embodiment, the in- that had been obscured by said second window to a lo- vention may be implemented as a computer program cation within said first window that is not obscured by product for use with a computer system. Those skilled said second window. in the art should readily appreciate that programs defin- 55 [OO61] The computer program product can further in- ing the functions of the present invention can be deliv- clude computer readable program code means for de- ered to a computer in many forms; including, but not lim- termining that the area of a visible portion of said first ited to_. (a) information permanently stored on non-wri- window falls below a predetermined threshold; compu- 8
gocr ep0767419-009
1 5 EP O 767 41 9 B1 1 6 ter readable program code means for determining that displaying in said first window said portion of available display area exceeds a predetermined mini- said information that had been obscured by mum area; computer readable system code means for said second window, including moving said por- sending display coordinates of said available display ar- tion of said information that had been obscured ea to said computer readable program code means for 5 by said second window to a location within said displaying information within said first window; compu- first windowthat is not obscured by said second ter readable program code means for relocating and window, using said informatoin display soft- conforming said first window to said available display ware. area. [OO62] Another embodiment of the invention embod- 1O 2. The method in a data processing system for dis- ied on a computer program product includes a computer playing information according to claim 1 wherein usable medium having computer readable program said information includes textual information includ- code embodied on said medium for displaying previous- ing words in a predetermined order in said first win- Iy obscured information, said computer program product dow, and wherein said step of displaying in said first including_. computer readable program code means for 15 window said portion of said information that had displaying information within a first window in said dis- been obscured by said second window includes lo- play; computer readable program code means, respon- cating words in said textual information in said pre- sive to the obstruction of a portion of said first window determined order in one or more portions of said information by a second window, for displaying in said first window that is not obscured by said second first window said portion of said information that had 2O window. been obscured by said second window, wherein said in- formation in said first window previously obscured by 3. The method in a data processing system for dis- said second window may be viewed in said first window playing information according to claim 1 or claim 2 by a data processing system user. wherein step of displaying in said first window said [OO63] The foregoing description of a preferred em- 25 portion of said information that had been obscured bodiment of the invention has been presented for the by said second window includes scaling said infor- purpose of illustration and description. It is not intended mation that had been obscured by said second win- to be exhaustive or to limit the invention to the precise dow size within said first window so that it is not ob- form disclosed. Obvious modifications or variations are scured by said second window. possible in the light of the above teachings. The embod- 3O iment was chosen and described to provide the best il- 4. The method in a data processing system for dis- Iustration of the principals of the invention and its prac- playing information according to any preceding tical application, and to enable one of ordinary skill in claim further including the steps of_. the art to utilize the invention in various embodiments and with various modifications as are suited to the par- 35 determining that the area of a visible portion of ticular use contemplated. All such modifications and said first window falls below a predetermined variations are within the scope of the invention as de- threshold; termined by the appended claims when interpreted in accordance with the breadth they are fairly, legally, and in response to said area of a visible portion of equitably entitled. 4O said first window falling below a predetermined threshold_. Claims determining that available display area ex- ceeds a predetermined minimum area; _ . A method in a data processing system for displaying 45 information, wherein said data processing system sending said information display software includes a display and an operating system, said display coordinates of said available dis- method comprising the steps of_. play area; displaying information within a first window in 5O relocating and conforming said first win- said display using information display software; dow to said available display area. detecting a second window displayed in said 5. A data processing system for displaying informa- display at a location that obscures a portion of tion, wherein said data processing system includes said information displayed in said first window_, 55 a display, and an operating system, said data processing system comprising_. notifying said information display software of the detection; means for displaying information within a first 9
gocr ep0767419-010
1 7 EP O 767 41 9 B1 1 8 window in said display utilizing information dis- verarbeitungssystem, wobei das Datenverarbei- play software; tungssystem eine Anzeige und ein Betriebssystem enthält und das Verfahren die folgenden Schritte means for detecting a second window dis- umfasst_. played in said display at a location that ob- 5 scures a portion of said information displayed Anzeigen der Daten in einem ersten Fenster in said first window; der Anzeige unter Verwendung von Software für die Datenanzeige; means for notifying said information display software that said portion of said information 1O Erkennen eines zweiten in der Anzeige ange- within said first window is obscured by said sec- zeigten Fensters an einer Position, die einen ond window; and Teil der in dem ersten Fenster angezeigten Da- ten verdeckt_, means within said information display software for displaying in said first window said portion 15 Weitergeben dieser Feststellung an die Soft- of said information that had been obscured by ware für die Datenanzeige; said second window, wherein said information in said first window previously obscured by said Anzeigen des Teils der von dem zweiten Fen- second window is moved to a location within ster verdeckten Daten in dem ersten Fenster, said first window that is not obscured by said 2O einschließlich des Verschiebens der von dem second window. zweiten Fenster verdeckten Daten an eine Po- sition, die nicht von dem zweiten Fenster ver- 6. The data processing system for displaying informa- deckt wird, unter Verwendung der Software für tion according to claim 5 further including_. die Datenanzeige. 25 means for determining that the area of a visible 2. Verfahren zur Anzeige von Daten in einem Daten- portion of said first window falls below a prede- verarbeitungssystem nach Anspruch 1 , wobei die termined threshold_, Daten in dem ersten Fenster Textdaten einschließlich Wörtern in einer vorgegebenen Rei- means for determining that available display ar- 3O henfolge umfassen und wobei der Schritt des An- ea exceeds a predetermined minimum area in zeigens des Teils der Daten, der von dem zweiten response to said area of a visible portion of said Fenster verdeckt wird, in dem ersten Fenster die first window falling below a predetermined Positionierung der Wörter der Textdaten in der vor- threshold; gegebenen Reihenfolge in einem oder mehreren 35 Teilbereichen des ersten Fensters umfasst, der means for sending said information display bzw. die nicht durch das zweite Fenster verdeckt software display coordinates of said available wird bzw. werden. display area in response to said area of a visible portion of said first window falling below a pre- 3. Verfahren zur Anzeige von Daten in einem Daten- determined threshold; 4O verarbeitungssystem nach Anspruch 1 oder An- spruch 2, wobei der Schritt des Anzeigens des Teils means for relocating and conforming said first der Daten, die von dem zweiten Fenster verdeckt window to said available display area in re- werden, in einem ersten Fenster die Skalierung der sponse to said area of a visible portion of said von dem zweiten Fenster verdeckten Daten in dem first window falling below a predetermined 45 ersten Fenster umfasst, so dass sie von dem zwei- threshold. ten Fenster nicht verdeckt werden. 7. A computer program comprising computer program 4. Verfahren zur Anzeige von Daten in einem Daten- code means adapted to perform all the steps of verarbeitungssystem nach einem beliebigen der claim 1 when said program is run on a computer. 5O vorhergegangenen Ansprüche, das weiter die fol- genden Schritte umfasst_. 8. A computer program as claimed in claim 7 embod- ied on a computer readable medium. Ermitteln, ob die Fläche eines sichtbaren Teil- bereichs des ersten Fensters unter einem vor- 55 gegebenen _renzwert liegt_, Patentansprü_he als Reaktion darauf, dass die Fläche eines 1 . Verfahren zur Anzeige von Daten in einem Daten- sichtbaren Teilbereichs des ersten Fensters 1 O
gocr ep0767419-011
1 9 EP O 767 41 9 B1 2O unter einem vorgegebenen Grenzwert liegt_. Grenzwert liegt; Ermitteln, ob die verfügbare Anzeigefläche ei- Mittel für die Verschiebung und Anpassung des ne vorgegebene Mindestfläche übersteigt; ersten Fensters an die verfügbare Anzeigeflä- 5 che, als Reaktion darauf, dass die Fläche eines Senden von Anzeigekoordinaten der verfügba- sichtbaren Teilbereichs des ersten Fensters ren Anzeigefläche an die Software für die Da- unter einem vorgegebenen Grenzwert liegt. tenanzeige; Verschieben und Anpassen des ersten Fensters an die verfügbare Anzeigeflä- 7. Computerprogramm, das Computerprogrammco- che. 1O demittel umfasst, die für die Ausführung aller Schrit- te aus Anspruch 1 geeignet sind, wenn das Pro- 5. Datenverarbeitungssystem zur Anzeige von Daten, gramm auf einem Computer ausgeführt wird. wobei das Datenverarbeitungssystem eine Anzeige und ein Betriebssystem enthält und das Datenver- 8. Computerprogramm nach Anspruch 7, das auf ei- arbeitungssystem Folgendes umfasst_. 15 nem computerlesbaren Medium enthalten ist. Mittel für die Anzeige von Daten in einem ersten Fenster der Anzeige unter Verwendung der Revendi_ations Software für die Datenanzeige; 2O _ . Procédé dans un système de traitement de don- Mittel für die Erkennung eines zweiten in der nées destiné à afficher des informations, dans le- Anzeige angezeigten Fensters der Anzeige an quel ledit système de traitement de données com- einer Position, die einen Teil der in dem ersten prend un dispositif d'affichage et un système d'ex- Fenster angezeigten Daten verdeckt; ploitation, ledit procédé comprenant les étapes con- 25 sistant à _. Mittel für die Benachrichtigung der Software für die Datenanzeige darüber, dass der Teil der afficher des informations à l'intérieur d'une pre- Daten in dem ersten Fenster durch das zweite mière fenêtre dans ledit dispositif d'affichage Fenster verdeckt wird; und en utilisant un logiciel de présentation d'infor- 3O mations, Mittel der Software für die Datenanzeige zur Anzeige des Teils der von dem zweiten Fenster détecter une seconde fenêtre affichée dans le- verdeckten Daten in dem ersten Fenster, wobei dit dispositif d'affichage à un emplacement qui die von dem zweiten Fenster verdeckten Daten occulte une partie desdites informations affi- in dem ersten Fenster an eine Position inner- 35 chées dans ladite première fenêtre, halb des ersten Fensters verschoben werden, die nicht von dem zweiten Fenster verdeckt notifier audit logiciel de présentation d'informa- wird. tions la détection, 6. Datenverarbeitungssystem zur Anzeige von Daten 4O afficher dans ladite première fenêtre ladite par- nach Anspruch 5, das weiter Folgendes umfasst_. tie desdites informations qui a été occultée par Iadite seconde fenêtre, y compris en déplaçant Mittel für die Ermittlung, ob die Fläche eines ladite partie desdites informations qui a été oc- sichtbaren Teilbereichs des ersten Fensters cultée par ladite seconde fenêtre à un empla- unter einem vorgegebenen Grenzwert liegt_, 45 cement à l'intérieur de ladite première fenêtre qui n'est pas occulté par ladite seconde fenêtre, Mittel für die Ermittlung, ob die verfügbare An- en utilisant ledit logiciel de présentation d'infor- zeigefläche eine vorgegebene Mindestfläche mations. übersteigt, als Reaktion darauf, dass die Flä- che eines sichtbaren Teilbereichs des ersten 5O 2. Procédé dans un système de traitement de don- Fensters unter einem vorgegebenen Grenz- nées destiné à afficher des informations selon la re- wert liegt; vendication 1 , dans lequel lesdites informations comprennent des informations textuelles compre- Mittel für das Senden von Anzeigekoordinaten nant des mots dans un ordre prédéterminé dans la- der verfügbaren Anzeigefläche an die Software 55 dite première fenêtre, et dans lequel ladite étape für die Datenanzeige, als Reaktion darauf, dass consistant à afficher dans ladite première fenêtre die Fläche eines sichtbaren Teilbereichs des ladite partie desdites informations qui a été occultée ersten Fensters unter einem vorgegebenen par ladite seconde fenêtre comprend la localisation
gocr ep0767419-012
21 EP O 767 41 9 B1 22 des mots dans lesdites informations textuelles se- sentation d'informations que ladite partie des- Ion ledit ordre prédéterminé dans une ou plusieurs dites informations à l'intérieur de ladite premiè- parties de ladite première fenêtre qui ne sont pas re fenêtre est occultée par ladite seconde fenê- occultées par ladite seconde fenêtre. tre, et 5 3. Procédé dans un système de traitement de don- un moyen à l'intérieur dudit logiciel de présen- nées destiné à afficher des informations selon la re- tation d'informations destiné à afficher dans la- vendication 1 ou la revendication 2, dans lequel dite première fenêtre ladite partie desdites in- l'étape consistant à afficher dans ladite première fe- formations qui a été occultée par ladite secon- nêtre, ladite partie desdites informations qui a été 1O de fenêtre, dans lequel lesdites informations occultée par ladite seconde fenêtre, comprend la dans ladite première fenêtre précédemment mise à l'échelle desdites informations qui ont été occultées par ladite seconde fenêtre sont dé- occultées par ladite seconde taille de fenêtre à l'in- placées vers un emplacement à l'intérieur de térieur de ladite première fenêtre, de sorte qu'elle ladite première fenêtre qui n'est pas occultée ne soit pas occultée par ladite seconde fenêtre. 15 par ladite seconde fenêtre. 4. Procédé dans un système de traitement de don- 6. Système de traitement de données destiné à affi- nées destiné à afficher les informations selon l'une cher les informations selon la revendication 5, com- quelconque des revendications précédentes, com- prenant en outre _. prenant en outre les étapes consistant à _. 2O un moyen destiné à déterminer que la zone déterminer que la surface d'une partie visible d'une partie visible de ladite première fenêtre d'une dite première fenêtre tombe en dessous tombe en dessous d'un seuil prédéterminé, d'un seuil prédéterminé, 25 un moyen destiné à déterminer que la su_ace en réponse à ce que ladite surface d'une partie d'affichage disponible dépasse une surface mi- visible d'une dite première fenêtre tombe en nimum prédéterminée en réponse au fait que dessous d'un seuil prédéterminé _. Iadite surface d'une partie visible de ladite pre- mière fenêtre tombe en dessous d'un seuil pré- déterminer que la surface d'affichage disponi- 3O déterminé, ble dépasse une surface minimum prédétermi- née, un moyen destiné à envoyer les coordonnées d'affichage de ladite surface d'affichage dispo- envoyer des coordonnées d'affichage de ladite nible audit logiciel de présentation d'informa- surface d'affichage disponible audit logiciel de 35 tions, au fait que ladite surface d'une partie vi- présentation d'informations, sible de ladite première fenêtre tombe en des- sous d'un seuil prédéterminé, relocaliser et conformer ladite première fenêtre à ladite surface d'affichage disponible. un moyen destiné à relocaliser et à conformer 4O ladite première fenêtre à ladite surface d'affi- 5. Système de traitement de données destiné à affi- chage disponible en réponse au fait que ladite cher des informations, dans lequel ledit système de surface d'une partie visible de ladite première traitement de données comprend un dispositif d'af- fenêtre tombe en dessous d'un seuil prédéter- fichage, et un système d'exploitation, ledit système miné. de traitement de données comprenant _. 45 7. Programme informatique comprenant un moyen de un moyen destiné à afficher des informations à code de programme informatique adapté pour exé- l'intérieur d'une première fenêtre dans ledit dis- cuter toutes les étapes de la revendication 1 lorsque positif d'affichage en utilisant un logiciel de pré- ledit programme est exécuté sur un ordinateur. sentation d'informations, 5O 8. Programme informatique selon la revendication 7, un moyen destiné à détecter une seconde fe- mis en oeuvre sur un support lisible par un ordina- nêtre affichée dans ledit dispositif d'affichage à teur. un emplacement qui occulte une partie desdi- tes informations affichées dans ladite première 55 fenêtre, un moyen destiné à notifier audit logiciel de pré- 1 2
gocr ep0767419-013
(PICTURE) EP O 767 419 B1 _ 1 2 F__. 1i4 P_or _rt
gocr ep0767419-014
_ EP O 767 419 B1 (PICTURE) _ 14
gocr ep0767419-015
(PICTURE)EPO767419B1 15 -
gocr ep0767419-016
_ EP O 767 419 B1 _ (PICTURE) O _ 4 U _ O ___ 4 _ X _W_ - 16
gocr ep0767419-017
EP O 767 419 B1 (PICTURE)O _ __ _ 17
gocr ep0767419-018
EP O 767 419 B1 (PICTURE)O _ __ _ . 18
gocr ep0767419-019
EP O 767 419 B1 (PICTURE)O . _ __ _ 19
gocr ep0767419-020
(PICTURE) EP O 767 419 B1 h . __ _ _ OO ' __ __ 2O
gocr ep0767419-021
EP O 767 419 B1 (PICTURE)O ' Oo __ , _ . 21
gocr ep0767419-022
EPO767419 B1 (PICTURE)O . ' _ __ _ 22
gocr ep0767419-023
(PICTURE) EP O 767 419 B1 23