1. A method for displaying multiple two-dimensional (2D) windows with related content within a three-dimensional (3D) display model, comprising:
- receiving a command to display a first window within the 3D display model;
- displaying content of the first window on a first surface of a 3D object;
- receiving a command to display a second window within the 3D display model, wherein content of the second window is related to content of the first window;
- looking up an identifier for the second window in a lookup table that contains entries specifying relationships between windows;
- determining if the second window is related to the first window;
- if so, displaying content of the second window on the second surface of the 3D object; and
- if not, displaying content of the second window on a surface of a distant 3D object, which is not located in close proximity to the 3D object in the 3D display model.
2. The method of claim 1, wherein the second surface of the 3D object is located on the opposite side of the 3D object from the first surface, and wherein only one of the first surface of the 3D object and the second surface of the 3D object is visible at any given time.
3. The method of claim 2, further comprising rotating the 3D object so that the second surface is visible.
4. The method of claim 1, further comprising:
- receiving a command to display a third window within the 3D display model; and
- displaying content of the third window on a surface of a second 3D object, wherein the second 3D object is located in close proximity to the 3D object in the 3D display model.
5. The method of claim 2, further comprising:
- receiving a modal dialog related to the content of the first window, wherein the modal dialog must be responded to before any other action may be taken on an application;
- rotating the 3D object so that the second surface is visible and the first surface is hidden; and
- displaying the modal dialog on the second surface.
6. The method of claim 5, further comprising rotating any related 3D objects so that related content on the surface of the related 3D objects is not visible until the modal dialog is acknowledged.
7. The method of claim 4, wherein the 3D object is stacked on top of the second 3D object so that the second 3D object is obscured by the 3D object from the viewpoint of a user.
8. The method of claim 7, wherein the 3D object is translucent so that the second 3D object is visible through the 3D object.
9. The method of claim 1, wherein the first window and the second window are associated with different applications.
10. The method of claim 1, further comprising:
- receiving a notification that the first window and the second window contain related content; and
- creating an association between the first window and the second window in a lookup table.
11. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for displaying multiple two-dimensional (2D) windows with related content within a three-dimensional (3D) display model, the method comprising:
- receiving a command to display a first window within the 3D display model;
- displaying content of the first window on a first surface of a 3D object;
- receiving a command to display a second window within the 3D display model, wherein content of the second window is related to content of the first window;
- looking up an identifier for the second window in a lookup table that contains entries specifying relationships between windows;
- determining if the second window is related to the first window;
- if so, displaying content of the second window on the second surface of the 3D object; and
- if not, displaying content of the second window on a surface of a distant 3D object, which is not located in close proximity to the 3D object in the 3D display model.
12. The computer-readable storage medium of claim 11, wherein the second surface of the 3D object is located on the opposite side of the 3D object from the first surface, and wherein only one of the first surface of the 3D object and the second surface of the 3D object is visible at any given time.
13. The computer-readable storage medium of claim 12, wherein the method further comprises rotating the 3D object so that the second surface is visible.
14. The computer-readable storage medium of claim 12, wherein the method further comprises:
- receiving a modal dialog related to the content of the first window, wherein the modal dialog must be responded to before any other action may be taken on an application;
- rotating the 3D object so that the second surface is visible and the first surface is hidden; and
- displaying the modal dialog on the second surface.
15. The computer-readable storage medium of claim 14, wherein the method further comprises rotating any related 3D objects so that related content on the surface of the related 3D objects is not visible until the modal dialog is acknowledged.
16. The computer-readable storage medium of claim 11, wherein the method further comprises:
- receiving a command to display a third window within the 3D display model; and
- displaying content of the third window on a surface of a second 3D object, wherein the second 3D object is located in close proximity to the 3D object in the 3D display model.
17. The computer-readable storage medium of claim 16, wherein the 3D object is stacked on top of the second 3D object so that the second 3D object is obscured by the 3D object from the viewpoint of a user.
18. The computer-readable storage medium of claim 17, wherein the 3D object is translucent so that the second 3D object is visible through the 3D object.
19. The computer-readable storage medium of claim 11, wherein the first window and the second window are associated with different applications.
20. The computer-readable storage medium of claim 11, wherein the method further comprises:
- receiving a notification that the first window and the second window contain related content; and
- creating an association between the first window and the second window in a lookup table.
21. An apparatus for displaying multiple two-dimensional (2D) windows with related content within a three-dimensional (3D) display model, comprising:
- a receiving mechanism configured to receive a command to display a first window within the 3D display model;
- a display mechanism configured to display content of the first window on a first surface of a 3D object;
- wherein the receiving mechanism is further configured to receive a command to display a second window within the 3D display model, wherein content of the second window is related to content of the first window;
- a lookup mechanism configured to lookup an identifier for the second window in a lookup table that contains entries specifying relationships between windows; and
- a determination mechanism configured to determine if the second window is related to the first window;
- wherein the display mechanism is further configured to display content of the second window on the second surface of the 3D object if the second window is related to the first window; and
- wherein the display mechanism is further configured to display content of the second window on a surface of a distant 3D object, which is not located in close proximity to the 3D object in the 3D display model, if the title of the second window is not related to an identifier for the first window.
22. The apparatus of claim 21, wherein the second surface of the 3D object is located on the opposite side of the 3D object from the first surface, and wherein only one of the first surface of the 3D object and the second surface of the 3D object is visible at any given time.
23. The apparatus of claim 22, further comprising a rotation mechanism configured to rotate the 3D object so that the second surface is visible.
24. The apparatus of claim 22, further comprising:
- wherein the receiving mechanism is configured to receive a modal dialog related to the content of the first window, wherein the modal dialog must be responded to before any other action may be taken on an application; and
- a rotation mechanism configured to rotate the 3D object so that the second surface is visible and the first surface is hidden;
- wherein the display mechanism is further configured to display the modal dialog on the second surface.
25. The apparatus of claim 24, wherein the rotation mechanism is further configured to rotate any related 3D objects so that related content on the surface of the related 3D objects is not visible until the modal dialog is acknowledged.
26. The apparatus of claim 21, wherein the receiving mechanism is further configured to receive a command to display a third window within the 3D display model, and wherein the display mechanism is further configured to display content of the third window on a surface of a second 3D object, wherein the second 3D object is located in close proximity to the 3D object in the 3D display model.
27. The apparatus of claim 26, wherein the 3D object is stacked on top of the second 3D object so that the second 3D object is obscured by the 3D object from the viewpoint of a user.
28. The apparatus of claim 27, wherein the 3D object is translucent so that the second 3D object is visible through the 3D object.
29. The apparatus of claim 21, wherein the first window and the second window are associated with different applications.
30. The apparatus of claim 21, further comprising:
- a notification mechanism configured to receive a notification that the first window and the second window contain related content; and
- an association mechanism configured to create an association between the first window and the second window in a lookup table.