INTELLIGENT WINDOW MANAGEMENT
First Claim
1. A computer-implemented method for managing the placement of one or more windows, the method comprising:
- defining a grid for a desktop display area, wherein the grid comprises a plurality of grid contours that are regularly spaced within the desktop display area;
receiving user input for placing a selected window into a new position within the desktop display area;
associating one or more edges of the selected window with one or more of the plurality of grid contours by;
determining an affinity between the one or more edges of the selected window and the one or more of the plurality of grid contours; and
providing a resistance, from varying amounts of resistances associated with different portions of the grid, to align the one or more edges of the selected window with the one or more of the plurality of grid contours based on the affinity; and
snapping the window to the grid based on the association between the one or more edges and the one or more of the plurality of grid contours, wherein the provided resistance indicates the stickiness of the window to the grid.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer-implemented method for managing the placement one or more windows, the method comprising, defining a grid for a desktop display area, wherein the grid comprises a plurality of grid contours that are regularly spaced within the desktop display area, receiving user input for placing a selected window into a new position within the desktop display area and associating one or more edges of the selected window with one or more of the plurality of grid contours. In certain aspects, the method further comprises steps for snapping the window to the grid based on the association between the one or more edges and the one or more of the plurality of grid contours. Systems and computer-readable media are also provided.
56 Citations
20 Claims
-
1. A computer-implemented method for managing the placement of one or more windows, the method comprising:
-
defining a grid for a desktop display area, wherein the grid comprises a plurality of grid contours that are regularly spaced within the desktop display area; receiving user input for placing a selected window into a new position within the desktop display area; associating one or more edges of the selected window with one or more of the plurality of grid contours by; determining an affinity between the one or more edges of the selected window and the one or more of the plurality of grid contours; and providing a resistance, from varying amounts of resistances associated with different portions of the grid, to align the one or more edges of the selected window with the one or more of the plurality of grid contours based on the affinity; and snapping the window to the grid based on the association between the one or more edges and the one or more of the plurality of grid contours, wherein the provided resistance indicates the stickiness of the window to the grid. - View Dependent Claims (3, 4, 5, 6, 7)
-
-
2. (canceled)
-
8. A system for managing the placement of one or more windows, the system comprising:
-
one or more processors; and a computer-readable medium comprising instructions stored therein, which when executed by the processors, cause the processors to perform operations comprising; defining a grid for a desktop display area, wherein the grid comprises a plurality of grid contours that are regularly spaced within the desktop display area; receiving user input for placing a selected window into a new position within the desktop display area; determining an affinity between one or more edges of the selected window and the one or more of the plurality of grid contours; associating one or more edges of the selected window with one or more of the plurality of grid contours based on the affinity; providing a resistance, from varying amounts of resistances associated with different portions of the grid, to align the one or more edges of the selected window with the one or more of the plurality of grid contours based on the affinity; and snapping the window to the grid based on the association between the one or more edges and the one or more of the plurality of grid contours, wherein the provided resistance indicates the stickiness of the window to the grid. - View Dependent Claims (9, 10, 11, 12, 13)
-
-
14. A computer-readable medium comprising instructions stored thereon, which when executed by a processor, cause the processor to perform operations comprising:
-
defining a grid for a desktop display area, wherein the grid comprises a plurality of grid contours that are regularly spaced within the desktop display area; receiving user input for placing a selected window into a new position within the desktop display area; determining an affinity between one or more edges of the selected window and the one or more of the plurality of grid contours; providing a resistance, from varying amounts of resistances associated with different portions of the grid, to align the one or more edges of the selected window with the one or more of the plurality of grid contours based on the affinity; associating one or more edges of the selected window with one or more of the plurality of grid contours based on the affinity; and snapping the window to the grid based on the association between the one or more edges and the one or more of the plurality of grid contours when the received user input is sufficient to overcome the resistance, wherein the provided resistance indicates the stickiness of the window to the grid.
-
-
15. A computer-implemented method for tiling a window, the method comprising:
-
presenting a window of a first size, in a desktop display area; receiving, in the window, a first user input indicating a selection of the window; receiving, in the window, a second user input indicating a first movement of the window in a direction of a first edge of the desktop display area, wherein the second user input comprises a linear motion to drag the window toward an edge of the desktop display area; in response to the second user input, tiling the window to a first predetermined size; receiving, in the window, a third user input indicating a second movement of the window in the direction of the first edge; and in response to the third user input, tiling the window to a second predetermined size. - View Dependent Claims (16, 17)
-
-
18. A system for tiling a window, the system comprising:
-
one or more processors; and a computer-readable medium comprising instructions stored therein, which when executed by the processors, cause the processors to perform operations comprising; presenting a window of a first size, in a desktop display area; receiving, in the window, a first user input indicating a selection of the window; receiving, in the window, a second user input indicating a first movement of the window in a direction of a first edge of the desktop display area, wherein the second user input comprises a linear motion to drag the window toward an edge of the desktop display area; in response to the second user input, tiling the window to a first size; receiving, in the window, a third user input indicating a second movement of the window in the direction of the first edge, wherein the third user input is based on a directional movement of the window; in response to the third user input, tiling the window to a second size; receiving, in the window, a fourth user input indicating a third movement of the window in the direction of the first edge, wherein the fourth user input is based on a directional movement of the window; and in response to the fourth user input, tiling the first window to a third size. - View Dependent Claims (19)
-
-
20. A computer-readable medium comprising instructions stored thereon, which when executed by a processor, cause the processor to perform operations comprising:
-
presenting a window of a first size, in a desktop display area; receiving, in the window, a first user input indicating a selection of the window; receiving, in the window, a second user input indicating a first movement of the window in a direction of a first edge of the desktop display area; in response to the second user input, tiling the window to a first size; receiving, in the window, a third user input indicating a second movement of the window in the direction of the first edge, wherein the third user input comprises a linear motion of an input source, and wherein the third user input is not dependent upon an ending position of the window in the desktop display area; and in response to the third user input, tiling the window to a second size.
-
Specification