Patent ID: 8856682

Claim:
In a computer that has at least one hardware processor and at least one tangible memory coupled to the at least one hardware processor, wherein the tangible memory stores computer instructions for an application program, wherein the at least one hardware processor is configured to execute the computer instructions for the application program, and wherein the computer is configured to display a computer desktop on a display device that has a display area and is coupled to the computer, a method of displaying a user interface for the application program on the display device, the method comprising: displaying a viewport of the computer desktop on the display area of the display device while the display area is unpartitioned; receiving an indication to display the user interface on the display device; in response to receiving the indication: partitioning the display area into a first display portion that is dedicated for displaying the user interface and a second display portion for displaying the viewport of the computer desktop; displaying at least a portion of the user interface in the first display portion of the display area; reducing the viewport in size to create a reduced-size viewport of the computer desktop that fits in the second display portion of the display area; and displaying the reduced-size viewport of the computer desktop in the second display portion of the display area, such that the user interface is not overlaid on the reduced-size viewport of the computer desktop; providing in the user interface a plurality of controls, at least some of which are configured to control at least one aspect of the appearance of the reduced-size viewport of the computer desktop displayed in the second display portion of the display area; and in response to an instruction to set a magnification level of the computer desktop displayed in the second display portion of the display area: if matching a magnification level of the user interface to the magnification level of the computer desktop would not cause the first display portion to occupy more than a threshold amount of the display area, then sizing the first display portion to accommodate the user interface matched to the magnification level of the computer desktop; and if matching the magnification level of the user interface to the magnification level of the computer desktop would cause the first display portion to occupy more than the threshold amount of the display area, then limiting the first display portion to the threshold amount of the display area by not matching the magnification level of the user interface to the magnification level of the computer desktop.