Adaptive sizing and positioning of application windows
First Claim
Patent Images
1. A computer-implemented method comprising:
- receiving a user input to move a floating application window, the user input effective to snap the floating application window into a region of a multi-application environment;
identifying one or more edges of one or more additional application windows of one or more respective additional applications;
determining, based on the one or more edges of the one or more additional application windows, a size for the floating application window or a position for the floating application window such that the floating application window fills the region of the multi-application environment to at least one of the one or more edges of the one or more additional application windows, the determining comprising;
determining whether the one or more additional application windows include a vertically adjacent application window that is vertically adjacent to the region or a horizontally adjacent application window that is horizontally adjacent to the region;
responsive to determining that the one or more additional application windows include the vertically adjacent application window, determining the size or position for the floating application window based on one or more edges of the vertically adjacent application window;
responsive to determining that the one or more additional application windows include both the vertically adjacent application window and the horizontally adjacent application window, determining the size or the position for the floating application window based on the one or more edges of the vertically adjacent application window while disregarding edges of the horizontally adjacent application window; and
responsive to determining that the one or more additional application windows include the horizontally adjacent application window and that the one or more additional application windows do not include the vertically adjacent application window, determining the size or the position for the floating application window based on one or more edges of the horizontally adjacent application window; and
presenting, based on the size determined for the floating application window or the position determined for the floating application window, the floating application window in the region of the multi-application environment to enable user interaction.
2 Assignments
0 Petitions
Accused Products
Abstract
This document describes techniques and apparatuses enabling adaptive sizing and positioning of application windows. In some embodiments, these techniques and apparatuses enable sizing and positioning of application windows to provide an optimized layout of application windows.
1592 Citations
19 Claims
-
1. A computer-implemented method comprising:
-
receiving a user input to move a floating application window, the user input effective to snap the floating application window into a region of a multi-application environment; identifying one or more edges of one or more additional application windows of one or more respective additional applications; determining, based on the one or more edges of the one or more additional application windows, a size for the floating application window or a position for the floating application window such that the floating application window fills the region of the multi-application environment to at least one of the one or more edges of the one or more additional application windows, the determining comprising; determining whether the one or more additional application windows include a vertically adjacent application window that is vertically adjacent to the region or a horizontally adjacent application window that is horizontally adjacent to the region; responsive to determining that the one or more additional application windows include the vertically adjacent application window, determining the size or position for the floating application window based on one or more edges of the vertically adjacent application window; responsive to determining that the one or more additional application windows include both the vertically adjacent application window and the horizontally adjacent application window, determining the size or the position for the floating application window based on the one or more edges of the vertically adjacent application window while disregarding edges of the horizontally adjacent application window; and responsive to determining that the one or more additional application windows include the horizontally adjacent application window and that the one or more additional application windows do not include the vertically adjacent application window, determining the size or the position for the floating application window based on one or more edges of the horizontally adjacent application window; and presenting, based on the size determined for the floating application window or the position determined for the floating application window, the floating application window in the region of the multi-application environment to enable user interaction. - View Dependent Claims (2, 3, 4, 5, 6, 18, 19)
-
-
7. A system comprising:
-
one or more processors; one or more computer-readable storage media storing processor-executable instructions that, responsive to execution by the one or more processors, perform operations comprising; receiving an input initiating placement of a floating application window into a region of a multi-application environment; identifying one or more edges of one or more additional application windows of one or more respective additional applications; determining, based on the one or more edges of the one or more additional application windows, a size for the floating application window or a position for the floating application window such that the floating application window fills the region of the multi-application environment to at least one of the one or more edges of the one or more additional application windows, the determining comprising; determining whether the one or more additional application windows include a vertically adjacent application window that is vertically adjacent to the region or a horizontally adjacent application window that is horizontally adjacent to the region; responsive to determining that the one or more additional application windows include the vertically adjacent application window, determining the size or position for the floating application window based on one or more edges of the vertically adjacent application window; responsive to determining that the one or more additional application windows include both the vertically adjacent application window and the horizontally adjacent application window, determining the size or the position for the floating application window based on the one or more edges of the vertically adjacent application window while disregarding edges of the horizontally adjacent application window;
orresponsive to determining that the one or more additional application windows include the horizontally adjacent application window and that the one or more additional application windows do not include the vertically adjacent application window, determining the size or the position for the floating application window based on one or more edges of the horizontally adjacent application window; and presenting, based on the size determined for the floating application window or the position determined for the floating application window, the floating application window in the region of the multi-application environment to enable user interaction. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
at least a memory and a processor to perform operations comprising; receiving a user input to move an application window, the user input effective to snap the application window into a region of a multi-application environment; identifying one or more edges of one or more additional application windows of one or more respective additional applications; determining, based on the one or more edges of the one or more additional application windows, a size for the application window or a position for the application window such that the application window fills the region of the multi-application environment to at least one of the one or more edges of the one or more additional application windows, the determining comprising; determining whether the one or more additional application windows include a vertically adjacent application window that is vertically adjacent to the region or a horizontally adjacent application window that is horizontally adjacent to the region; responsive to determining that the one or more additional application windows include the vertically adjacent application window, determining the size or position for the application window based on one or more edges of the vertically adjacent application window; responsive to determining that the one or more additional application windows include both the vertically adjacent application window and the horizontally adjacent application window, determining the size or the position for the application window based on the one or more edges of the vertically adjacent application window while disregarding edges of the horizontally adjacent application window;
orresponsive to determining that the one or more additional application windows include the horizontally adjacent application window and that the one or more additional application windows do not include the vertically adjacent application window, determining the size or the position for the application window based on one or more edges of the horizontally adjacent application window; and presenting, based on the determined size or position for the application window, the application window in the region of the multi-application environment to enable user interaction. - View Dependent Claims (16, 17)
-
Specification