(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)
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
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
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
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
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
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
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
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
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
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
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
(PICTURE)
EP O 767 419 B1 _
1 2
F__. 1i4
P_or _rt
_
EP O 767 419 B1
(PICTURE)
_ 14
(PICTURE)EPO767419B1
15 -
_
EP O 767 419 B1
_ (PICTURE)
O
_
4
U
_
O
___
4
_
X
_W_ - 16
EP O 767 419 B1
(PICTURE)O _
__
_
17
EP O 767 419 B1
(PICTURE)O _
__
_ .
18
EP O 767 419 B1
(PICTURE)O .
_
__
_
19
(PICTURE)
EP O 767 419 B1 h
. __
_
_ OO '
__ __
2O
EP O 767 419 B1
(PICTURE)O ' Oo
__
, _ .
21
EPO767419 B1
(PICTURE)O .
' _
__
_
22
(PICTURE)
EP O 767 419 B1
23