Patent US5657463A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5657463A Expired / Lapsed US ⏱️ 0.0 years remaining

Method and apparatus for positioning a new window on a display screen based on an arrangement of previously-created windows

Assignee: Apple Inc
•
Filing: 1994-01-19
•
Granted: 1997-08-12
•
Expires: 2014-01-19
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and apparatus for positioning windows on a display screen in a computer environment in which a user perceives that multiple operations can be executed simultaneously. The method and apparatus for positioning windows is based upon the number of existing windows and the arrangement of previously-created windows. Preferably, a computer system incorporating the invention includes a one or more dam structures, herein called "window slots", each window slot retaining location information and indicating, either explicitly or implicitly, availability of the window slot. Window slots can be organized into a window slot structure. If a window is being opened, then a window slot is assigned to the window being opened and a window slot structure having zero or more window slots is updated. The assigning and updating is based upon the availability of a window slot and the number of in-use window slots in the window slot structure. Then the assigned window slot is associated with an identifier for the window being opened, and the window is opened on the display device.

Inventors

  • 👤 Christopher R. Bingham

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 12:35
CPC Classifications
G; G09; G09G; G09G5/00; G09G5/14

Claims Analysis

Total Claims: 39
Claim 1
Independent Claim 234 words
A method for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, the computer system having a processor, an input device and a display screen, the processor capable of executing an operating system which supports windowing functionality and a graphical user interface which supports windows, the input device capable of receiving information on the positioning of the windows, said method comprising the steps of: determining an operation to be performed on a window; when the operation includes opening the window, determining whether a window slot structure references any available window slots and if it does, then assigning an available window slot to the window being opened, and if it does not, then creating a new window slot, determining a location based on availability of a window slot and the number of unavailable window slots, and setting the new window slot to specify the determined location and assigning the new window slot to the window being opened such that the window slot is in-use; and when the operation includes closing the window, storing in the window slot assigned to the window being closed the location on the display screen of the window being closed such that it can be accessed using the assigned window slot and unassigning the window being closed from the window slot such that the window slot is available.
Claim 2
Independent Claim 234 words
A method for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, the computer system having a processor, an input device and a display screen, the processor capable of executing an operating system which supports windowing functionality and a graphical user interface which supports windows, the input device capable of receiving information on the positioning of the windows, said method comprising the steps of: determining an operation to be performed on a window; when the operation includes opening the window, determining whether a window slot structure references any available window slots and if it does, then assigning an available window slot to the window being opened, and if it does not, then creating a new window slot, determining a location based on availability of a window slot and the number of unavailable window slots, and setting the new window slot to specify the determined location and assigning the new window slot to the window being opened such that the window slot is in-use; and when the operation includes closing the window, storing in the window slot assigned to the window being closed the location on the display screen of the window being closed such that it can be accessed using the assigned window slot and unassigning the window being closed from the window slot such that the window slot is available.
Claim 3
Dependent Claim 54 words
A method as in claim 1 wherein the step of determining whether the window slot structure references any available window slot includes the step of searching the window slots in the window slot structure until an available window slot is found or until all of the window slots have been examined, whichever occurs first.
Claim 4
Independent Claim 471 words
A method for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, the computer system having a processor, an input device and a display screen, the processor capable of executing an operating system which supports windowing functionality and a graphical user interface which supports windows, the input device capable of receiving information on the positioning of the windows, said method comprising the steps of: determining an operation to be performed on a window; when the operation includes opening the window, determining whether a window slot structure references any available window slots and if it does, then assigning an available window slot to the window being opened, and if it does not, then (a) creating a new window slot, (b) determining a location by performing the following steps: (1) determining how many, if any, window slots, other than the newly created window slot, are referenced by the window slot structure; (2) if the window slot structure does not reference another window slot, then setting the new window slot to specify a default location; (3) if the window slot structure references only one other window slot then calculating a position which is at an offset from the location specified by the one other window slot and if the calculated position is a valid location on the display screen, then setting the new window slot to specify the calculated position, and if the calculated position is an invalid location on the display screen then setting the new window slot to specify a default position; and (4) if the window slot structure references more than one other window slot, then determining a difference between a location specified by a window slot referenced by a most-recently-used variable and a location specified by a window slot referenced by a second-most-recently-used variable, adding the determined difference to the location specified by the window slot referenced by the most-recently-used variable to compute a result, and if the result is a valid location on the display device then setting the new window slot to specify the result, and if the result is not a valid location on the display device then performing step (3) as if the window slot structure referenced only one other window slot marked as in-use, (c) setting the new window slot to specify the determined location, and (d) assigning the new window slot to the window being opened such that the window slot is in-use; and when the operation includes closing the window, storing in the window slot assigned to the window being closed the location on the display screen of the window being closed such that it can be accessed using the assigned window slot and unassigning the window being closed from the window slot such that the window slot is available.
Claim 5
Independent Claim 471 words
A method for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, the computer system having a processor, an input device and a display screen, the processor capable of executing an operating system which supports windowing functionality and a graphical user interface which supports windows, the input device capable of receiving information on the positioning of the windows, said method comprising the steps of: determining an operation to be performed on a window; when the operation includes opening the window, determining whether a window slot structure references any available window slots and if it does, then assigning an available window slot to the window being opened, and if it does not, then (a) creating a new window slot, (b) determining a location by performing the following steps: (1) determining how many, if any, window slots, other than the newly created window slot, are referenced by the window slot structure; (2) if the window slot structure does not reference another window slot, then setting the new window slot to specify a default location; (3) if the window slot structure references only one other window slot then calculating a position which is at an offset from the location specified by the one other window slot and if the calculated position is a valid location on the display screen, then setting the new window slot to specify the calculated position, and if the calculated position is an invalid location on the display screen then setting the new window slot to specify a default position; and (4) if the window slot structure references more than one other window slot, then determining a difference between a location specified by a window slot referenced by a most-recently-used variable and a location specified by a window slot referenced by a second-most-recently-used variable, adding the determined difference to the location specified by the window slot referenced by the most-recently-used variable to compute a result, and if the result is a valid location on the display device then setting the new window slot to specify the result, and if the result is not a valid location on the display device then performing step (3) as if the window slot structure referenced only one other window slot marked as in-use, (c) setting the new window slot to specify the determined location, and (d) assigning the new window slot to the window being opened such that the window slot is in-use; and when the operation includes closing the window, storing in the window slot assigned to the window being closed the location on the display screen of the window being closed such that it can be accessed using the assigned window slot and unassigning the window being closed from the window slot such that the window slot is available.
Claim 6
Dependent Claim 26 words
A method as in claim 3 further comprising the step of: when the operation includes closing a window, updating the second-most-recently-used variable and the most-recently-used variable.
Claim 7
Dependent Claim 40 words
A method as in claim 3 wherein the updating step comprises setting the second-most-recently-used variable to specify the location specified by the most-recently-used variable and then setting the most-recently-used variable to specify the location specified by the window being closed.
Claim 8
Independent Claim 158 words
An apparatus for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, said apparatus comprising: a processor capable of executing an operating system and a graphical user interface, each capable of supporting windows; a display device for displaying windows; an input device for manipulating windows on the display device; a memory; a system bus interconnecting said processor, said input device, said memory and said display device for exchanging information among them; means for determining what operation is being performed; and a window slot structure stored in said memory, said window slot structure having zero or more window slots, each window slot specifying a location on the display device and specifying whether the slot is in-use, the location specified by a window slot being based on a location of a previously created window, availability of a window slot and a total number of in-use window slots.
Claim 9
Independent Claim 158 words
An apparatus for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, said apparatus comprising: a processor capable of executing an operating system and a graphical user interface, each capable of supporting windows; a display device for displaying windows; an input device for manipulating windows on the display device; a memory; a system bus interconnecting said processor, said input device, said memory and said display device for exchanging information among them; means for determining what operation is being performed; and a window slot structure stored in said memory, said window slot structure having zero or more window slots, each window slot specifying a location on the display device and specifying whether the slot is in-use, the location specified by a window slot being based on a location of a previously created window, availability of a window slot and a total number of in-use window slots.
Claim 10
Dependent Claim 57 words
An apparatus as defined in claim 6 further comprising: means for assigning a window slot to a window being opened; means for updating the window slot structure based upon the availability of a window slot and the number of in-use window slots in the window slot structure; and means for opening a window on the display device.
Claim 11
Dependent Claim 350 words
A computer system configured to provide windowing functionality, the functionality including operations of opening a window and closing a window, said computer system comprising: a processor; a memory; a display device having a display screen; a bus interconnecting said processor, memory and display device; said memory having stored therein one or more window slots, each window slot being configured to specify a location on said display screen and to specify availability of the window slot, a window slot being unavailable when it is assigned to a particular window; and said processor configured to determine a location at which to display a window on said display screen by (a) determining how many, if any, window slots, other than the newly created window slot, are referenced by the window slot structure; (b) if the window slot structure does not reference another window slot, then setting the new window slot to specify a default location; (c) if the window slot structure references only one other window slot then calculating a position which is at an offset from the location specified by the one other window slot and if the calculated position is a valid location on the display screen, then setting the new window slot to specify the calculated position, and if the calculated position is an invalid location on the display screen then setting the new window slot to specify a default position; and (d) if the window slot structure references more than one other window slot, then determining a difference between a location specified by a window slot referenced by a most-recently-used variable and a location specified by a window slot referenced by a second-most-recently-used variable, adding the determined difference to the location specified by the window slot referenced by the most-recently-used variable to compute a result, and if the result is a valid location on the display device then setting the new window slot to specify the result, and if the result is not a valid location on the display device then performing step (c) as if the window slot structure referenced only one other window slot marked as in-use.
Claim 12
Dependent Claim 350 words
A computer system configured to provide windowing functionality, the functionality including operations of opening a window and closing a window, said computer system comprising: a processor; a memory; a display device having a display screen; a bus interconnecting said processor, memory and display device; said memory having stored therein one or more window slots, each window slot being configured to specify a location on said display screen and to specify availability of the window slot, a window slot being unavailable when it is assigned to a particular window; and said processor configured to determine a location at which to display a window on said display screen by (a) determining how many, if any, window slots, other than the newly created window slot, are referenced by the window slot structure; (b) if the window slot structure does not reference another window slot, then setting the new window slot to specify a default location; (c) if the window slot structure references only one other window slot then calculating a position which is at an offset from the location specified by the one other window slot and if the calculated position is a valid location on the display screen, then setting the new window slot to specify the calculated position, and if the calculated position is an invalid location on the display screen then setting the new window slot to specify a default position; and (d) if the window slot structure references more than one other window slot, then determining a difference between a location specified by a window slot referenced by a most-recently-used variable and a location specified by a window slot referenced by a second-most-recently-used variable, adding the determined difference to the location specified by the window slot referenced by the most-recently-used variable to compute a result, and if the result is a valid location on the display device then setting the new window slot to specify the result, and if the result is not a valid location on the display device then performing step (c) as if the window slot structure referenced only one other window slot marked as in-use.
Claim 13
Independent Claim 214 words
A method for displaying windows in a computer system configured to provide windowing functionality including operations of creating a window, opening a window and closing a window, the computer system having a processor, a memory, a display device having a display screen, and a bus interconnecting the processor, memory and display device, said memory configured to store therein one or more window slots, each window slot configured to store a location and to implicitly or explicitly indicate availability of the window slot, said method comprising the steps of: when a window is created or opened, (1) determining whether an available window slot exists in said memory, (2) if an available window slot exists, then assigning the window to the available window slot, displaying the window on the display screen at a location specified by the available window slot and indicating that the available window slot is in-use, and (3) if an available window slot does not exist, then creating a new window slot, assigning the window to the new window slot, determining a location, the location based upon the number of in-use window slots, setting the new window slot to specify the determined location, displaying the window on the display screen at the determined location and indicating that the available window slot is in-use.
Claim 14
Independent Claim 214 words
A method for displaying windows in a computer system configured to provide windowing functionality including operations of creating a window, opening a window and closing a window, the computer system having a processor, a memory, a display device having a display screen, and a bus interconnecting the processor, memory and display device, said memory configured to store therein one or more window slots, each window slot configured to store a location and to implicitly or explicitly indicate availability of the window slot, said method comprising the steps of: when a window is created or opened, (1) determining whether an available window slot exists in said memory, (2) if an available window slot exists, then assigning the window to the available window slot, displaying the window on the display screen at a location specified by the available window slot and indicating that the available window slot is in-use, and (3) if an available window slot does not exist, then creating a new window slot, assigning the window to the new window slot, determining a location, the location based upon the number of in-use window slots, setting the new window slot to specify the determined location, displaying the window on the display screen at the determined location and indicating that the available window slot is in-use.
Claim 15
Dependent Claim 62 words
A method as defined in claim 9, further comprising the steps of: when a window is closed, (1) setting the window slot associated with the closing window to a location at which the closing window was last displayed on the display screen, (2) unassigning the closing window from the associated window slot, and (3) indicating that the associated window slot is available.
Claim 16
Dependent Claim 124 words
A computer system configured to provide windowing functionality, the functionality including operations of opening a window and closing a window, said computer system comprising: a processor; a memory; a display device having a display screen; a bus interconnecting said processor, memory and display device; said memory having stored therein one or more window slots, each window slot being configured to specify a location on said display screen and to specify availability of the window slot, a window slot being unavailable when it is assigned to a particular window; and said processor configured to display a window on said display screen at a location based upon locations of one or more previously-created windows, availability of window slots and a total number of in-use window slots.
Claim 17
Dependent Claim 124 words
A computer system configured to provide windowing functionality, the functionality including operations of opening a window and closing a window, said computer system comprising: a processor; a memory; a display device having a display screen; a bus interconnecting said processor, memory and display device; said memory having stored therein one or more window slots, each window slot being configured to specify a location on said display screen and to specify availability of the window slot, a window slot being unavailable when it is assigned to a particular window; and said processor configured to display a window on said display screen at a location based upon locations of one or more previously-created windows, availability of window slots and a total number of in-use window slots.
Claim 18
Dependent Claim 27 words
A computer system as in claim 11 wherein said window slots are stored within a window slot structure, said window slot structure being stored in said memory.
Claim 19
Dependent Claim 39 words
A computer system as in claim 11 wherein available window slots are stored within a first window slot structure stored on said memory and unavailable window slots are stored within a second window slot structure stored on said memory.
Claim 20
Dependent Claim 141 words
A computer system having a processor, a display device and a memory, said computer system being configured to open, close and display windows, said computer system comprising: said memory having stored therein one or more window slots, each window slot capable of being associated with an open window and configured to reference a location on the display device; means for indicating whether a particular window slot is in-use or available; means for determining if an available window slot exists; means for assigning an available window slot to a window being displayed; means for creating a new window slot; means for determining a location at which to display the window being displayed, said location being based upon availability of a window slot and a total number of in-use window slots; and means for assigning the determined location to the window being displayed.
Claim 21
Dependent Claim 141 words
A computer system having a processor, a display device and a memory, said computer system being configured to open, close and display windows, said computer system comprising: said memory having stored therein one or more window slots, each window slot capable of being associated with an open window and configured to reference a location on the display device; means for indicating whether a particular window slot is in-use or available; means for determining if an available window slot exists; means for assigning an available window slot to a window being displayed; means for creating a new window slot; means for determining a location at which to display the window being displayed, said location being based upon availability of a window slot and a total number of in-use window slots; and means for assigning the determined location to the window being displayed.
Claim 22
Dependent Claim 26 words
A computer system as defined in claim 14, wherein said assigning means stores the determined location in the window slot assigned to the window being displayed.
Claim 23
Dependent Claim 60 words
A computer system as defined in claim 15, further comprising: means for closing a window; said setting means causing a window slot assigned to a closing window to specify the location of the closing window on the display screen; and means for unassigning a window slot from a window being closed, thereby causing the unassigned window slot to be available.
Claim 24
Dependent Claim 29 words
A computer system as defined in claim 15 wherein the means for assigning a window to a window slot is said memory having stored therein a window identification structure.
Claim 25
Dependent Claim 65 words
A computer system as defined in claim 14, wherein the location determining means interacts with said availability determining means such that if an available window slot exists, then the determined location is set to the location indicated in the available window slot, and if an available window slot does not exist, then the determined location is based on the total number of in-use window slots.
Claim 26
Independent Claim 137 words
A method for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, the computer system having a processor and a display screen, the processor capable of executing an operating system which supports windowing functionality and a graphical user interface which supports windows, said method comprising the steps of: determining an operation to be performed on a window; creating a window slot when a window is opened and existing window slots are unavailable; and when the operation includes opening the window, determining a location at which to display the opened window on the display screen, the location being based on availability of a window slot and a total number of in-use window slots and displaying the window on the display screen at the determined location.
Claim 27
Independent Claim 137 words
A method for positioning windows on a display screen in a computer system in which a user perceives that multiple operations can be executed simultaneously, the computer system having a processor and a display screen, the processor capable of executing an operating system which supports windowing functionality and a graphical user interface which supports windows, said method comprising the steps of: determining an operation to be performed on a window; creating a window slot when a window is opened and existing window slots are unavailable; and when the operation includes opening the window, determining a location at which to display the opened window on the display screen, the location being based on availability of a window slot and a total number of in-use window slots and displaying the window on the display screen at the determined location.
Claim 28
Dependent Claim 41 words
A method as defined in claim 19 further comprising the step of: when the operation includes closing the window, storing the location on the display screen of the window being closed such that it can be accessed using a window slot.
Claim 29
Dependent Claim 93 words
A computer readable medium having stored thereon instructions for causing a computer to perform the following steps: determining if an available window slot exists; if an available window slot exists, assigning an available window slot to a window being opened and if an available window slot does not exist, creating a new window slot; determining a location at which to display the window being displayed, said location being based upon availability of a window slot and a total number of in-use window slots; and assigning the determined location to the window being opened.
Claim 30
Dependent Claim 93 words
A computer readable medium having stored thereon instructions for causing a computer to perform the following steps: determining if an available window slot exists; if an available window slot exists, assigning an available window slot to a window being opened and if an available window slot does not exist, creating a new window slot; determining a location at which to display the window being displayed, said location being based upon availability of a window slot and a total number of in-use window slots; and assigning the determined location to the window being opened.
Claim 31
Dependent Claim 54 words
A computer readable medium as defined in claim 21 wherein if an available window slot exists, then the determined location is set to the location indicated in the available window slot, and if an available window slot does not exist, then the determined location is based on the total number of in-use window slots.
Claim 32
Dependent Claim 118 words
A computer readable medium having stored thereon instructions for causing a computer to perform the following steps: determining an operation to be performed on a window; when the operation includes opening the window, determining whether an available window slot exists; if an available window slot exists then displaying the window at the location specified by an available window slot; and if an available window slot does not exist, then creating a window slot and determining a location at which to display the opened window on the display screen, the location being based on availability of a window slot and a total number of in-use window slots and displaying the window on the display screen at the determined location.
Claim 33
Dependent Claim 118 words
A computer readable medium having stored thereon instructions for causing a computer to perform the following steps: determining an operation to be performed on a window; when the operation includes opening the window, determining whether an available window slot exists; if an available window slot exists then displaying the window at the location specified by an available window slot; and if an available window slot does not exist, then creating a window slot and determining a location at which to display the opened window on the display screen, the location being based on availability of a window slot and a total number of in-use window slots and displaying the window on the display screen at the determined location.
Claim 34
Dependent Claim 46 words
A computer readable medium as defined in claim 23, wherein if an available window slot exists, the window being opened is assigned to the window slot and if an available window slot does not exist, the window being opened is assigned to the created window slot.
Claim 35
Dependent Claim 20 words
A computer readable medium as defined in claim 24 wherein the determined location is stored in the created window slot.
Claim 36
Independent Claim 120 words
A method for positioning windows on a display screen in a computer system, said method comprising the steps of: determining an operation to be performed on a window; when the operation includes opening the window, determining whether an available window slot exists; if an available window slot exists then displaying the window at the location specified by an available window slot; and if an available window slot does not exist, then creating a window slot and determining a location at which to display the opened window on the display screen, the location being based on availability of a window slot and a total number of in-use window slots and displaying the window on the display screen at the determined location.
Claim 37
Independent Claim 120 words
A method for positioning windows on a display screen in a computer system, said method comprising the steps of: determining an operation to be performed on a window; when the operation includes opening the window, determining whether an available window slot exists; if an available window slot exists then displaying the window at the location specified by an available window slot; and if an available window slot does not exist, then creating a window slot and determining a location at which to display the opened window on the display screen, the location being based on availability of a window slot and a total number of in-use window slots and displaying the window on the display screen at the determined location.
Claim 38
Dependent Claim 44 words
A method as defined in claim 26, wherein if an available window slot exists, the window being opened is assigned to the window slot and if an available window slot does not exist, the window being opened is assigned to the created window slot.
Claim 39
Dependent Claim 18 words
A method as defined in claim 27 wherein the determined location is stored in the created window slot.

References Cited (Backward Citations)

US4769762A Cited
US5121478A Cited
US5101365A Cited
US5091717A Cited
US5060170A Cited
US5377317A Cited
US5390295A Cited
US5371847A Cited
US5499334A Cited
US5459825A Cited
US5577187A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2000-08-11 2001-02-10 2001-08-12 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2004-08-11 2005-02-10 2005-08-12 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2008-08-11 2009-02-10 2009-08-12 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag