Window stack models for multi-screen displays
First Claim
1. A non-transitory computer readable medium, having stored thereon, computer-executable instructions executable by a processor, the computer-executable instructions causing the processor to execute a method for creating a window stack for a multi-display device, the computer-executable instructions comprising:
- instructions to create a first window stack for a first display of the multi-display device, wherein the first window stack is a logical arrangement stored in a memory of the multi-display device that describes a display order of all windows and desktops associated with the first display from a top to a bottom of the first window stack, wherein an inactive window or desktop is not displayed, and wherein the display order of windows and desktops in the first window stack can change based on user input;
instructions to create a second window stack for a second display of the multi-display device, wherein the second window stack is a logical arrangement stored in the memory of the multi-display device that describes a display order of all windows and desktops associated with the second display from a top to a bottom of the second window stack, and wherein the display order of windows and desktops in the second window stack can change based on user input;
instructions to create a logical data structure for each of one or more active windows and two or more inactive windows and desktops in each of the first and second window stacks;
instructions to assign a window identifier for each of the one or more windows and desktops;
instructions to assign a stack position identifier for all windows and desktops that identifies a position of each window and desktop from the top to the bottom of one of the first and the second window stacks;
instructions to receive an input to launch a first application in the multi-display device;
instructions to create a logical data structure for the first application;
instructions to open a first window of the first application;
instructions to assign a window identifier for the first window and store the window identifier in the logical data structure of the first application;
in response to receiving the input to launch the first application, instructions to determine one of the first display and the second display associated with the first window of the first application, wherein a window of a newly launched application can be displayed on either the first display or the second display;
after determining the first display is associated with the first window, instructions to assign a stack position identifier to the first window to indicate that the first window is at a top of the first window stack;
instructions to store the stack position identifier in the logical data structure of the first application;
after assigning the stack position identifier to the first window, instructions to change the stack position identifier for the one or more windows and desktops of the first window stack; and
instructions to display the first window on the first display, wherein the first window is displayed and is visible on at least a portion of the first display, a second window of a second open application is active and is displayed on the second display, and a third window of a third open application is displayed across a portion of both the first and second displays, wherein the third window has a display identifier indicating that the third window is associated with a composite display comprising at least the portion of the first and second displays, wherein the first window, the second window, and the third window are active, and wherein a first display controller is associated with the first display and a second display controller is associated with the second display.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods are provides for creating a window stack for a multi-screen device. The stack is an arrangement of an active window and at least one other active or inactive window for at least one of the two displays. The system can receive activation of a window in the device. Upon activation of the window, the system can determine a display associated with the active window and can determine a position in the window stack for the active window. Then, the system can generate a logic data structure for the active window to describe the position of the active window in the window stack.
205 Citations
21 Claims
-
1. A non-transitory computer readable medium, having stored thereon, computer-executable instructions executable by a processor, the computer-executable instructions causing the processor to execute a method for creating a window stack for a multi-display device, the computer-executable instructions comprising:
-
instructions to create a first window stack for a first display of the multi-display device, wherein the first window stack is a logical arrangement stored in a memory of the multi-display device that describes a display order of all windows and desktops associated with the first display from a top to a bottom of the first window stack, wherein an inactive window or desktop is not displayed, and wherein the display order of windows and desktops in the first window stack can change based on user input; instructions to create a second window stack for a second display of the multi-display device, wherein the second window stack is a logical arrangement stored in the memory of the multi-display device that describes a display order of all windows and desktops associated with the second display from a top to a bottom of the second window stack, and wherein the display order of windows and desktops in the second window stack can change based on user input; instructions to create a logical data structure for each of one or more active windows and two or more inactive windows and desktops in each of the first and second window stacks; instructions to assign a window identifier for each of the one or more windows and desktops; instructions to assign a stack position identifier for all windows and desktops that identifies a position of each window and desktop from the top to the bottom of one of the first and the second window stacks; instructions to receive an input to launch a first application in the multi-display device; instructions to create a logical data structure for the first application; instructions to open a first window of the first application; instructions to assign a window identifier for the first window and store the window identifier in the logical data structure of the first application; in response to receiving the input to launch the first application, instructions to determine one of the first display and the second display associated with the first window of the first application, wherein a window of a newly launched application can be displayed on either the first display or the second display; after determining the first display is associated with the first window, instructions to assign a stack position identifier to the first window to indicate that the first window is at a top of the first window stack; instructions to store the stack position identifier in the logical data structure of the first application; after assigning the stack position identifier to the first window, instructions to change the stack position identifier for the one or more windows and desktops of the first window stack; and instructions to display the first window on the first display, wherein the first window is displayed and is visible on at least a portion of the first display, a second window of a second open application is active and is displayed on the second display, and a third window of a third open application is displayed across a portion of both the first and second displays, wherein the third window has a display identifier indicating that the third window is associated with a composite display comprising at least the portion of the first and second displays, wherein the first window, the second window, and the third window are active, and wherein a first display controller is associated with the first display and a second display controller is associated with the second display. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A multi-display device comprising:
-
a first display associated with a first display controller; a second display associated with a second display controller; a memory; and a processor in communication with the memory and each of the first and second displays, the processor programmed to; create a first window stack for the first display of the multi-display device, wherein the first window stack is a logical arrangement stored in the memory of the multi-display device that describes a display order of all windows and desktops associated with the first display from a top to a bottom of the first window stack, wherein an inactive window or desktop is not displayed, and wherein the display order of windows and desktops in the first window stack can change based on user input; create a second window stack for the second display of the multi-display device, wherein the second window stack is a logical arrangement stored in the memory of the multi-display device that describes a display order of all windows and desktops associated with the second display from a top to a bottom of the second window stack, and wherein the display order of windows and desktops in the second window stack can change based on user input; create a logical data structure for each of one or more active windows and two or more inactive windows and desktops in each of the first and second window stacks; assign a window identifier for each of the one or more windows and desktops; assign a stack position identifier for all windows and desktops that identifies a position of each window and desktop from the top to the bottom of one of the first and the second window stacks; receive an input to launch a first application in the multi-display device; create a logical data structure for the first application; open a first window of the first application; assign a window identifier for the first window and store the window identifier in the logical data structure of the first application; in response to receiving the input to launch the first application, determine one of the first display and the second display associated with the first window of the first application, wherein a window of a newly launched application can be displayed on either the first display or the second display; after determining the first display is associated with the first window, assign a stack position identifier to the first window to indicate that the first window is at a top of the first window stack; store the stack position identifier in the logical data structure of the first application; after assigning the stack position identifier to the first window, change the stack position identifier for the one or more windows and desktops of the first window stack; and display the first window on the first display, wherein the first window is displayed and is visible on at least a portion of the first display. a second window of a second open application is active and is displayed on the second display, wherein a third window of a third open application is displayed across a portion of both the first and second displays, wherein the third window has a display identifier indicating that the third window is associated with a composite display comprising at least the portion of the first and second displays, wherein the first window, the second window, and the third window are active. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method for creating a window stack in a multi-display device, the method comprising:
-
a processor executing a framework, a desktop, and an Application Manager; the desktop providing at least one icon representing a first application; creating a first window stack for a first display of the multi-display device, wherein the first window stack is a logical arrangement stored in a memory of the multi-display device that describes a display order of all windows and desktops associated with the first display from a top to a bottom of the first window stack, wherein an inactive window or desktop is not displayed, and wherein the display order of windows and desktops in the first window stack can change based on user input; creating a second window stack for a second display of the multi-display device, wherein the second window stack is a logical arrangement stored in the memory of the multi-display device that describes a display order of all windows and desktops associated with the second display from a top to a bottom of the second window stack, and wherein the display order of windows and desktops in the second window stack can change based on user input; creating a logical data structure for each of one or more active windows and two or more inactive windows and desktops in each of the first and second window stacks; assigning a window identifier for each of the one or more windows and desktops; assigning a stack position identifier for all windows and desktops that identifies a position of each window and desktop from the top to the bottom of one of the first and the second window stacks; the framework receiving an input to launch the first application; creating a logical data structure for the first application; opening a first window of the first application; assigning a window identifier for the first window and storing the window identifier in the logical data structure of the first application; the framework determining at least a portion of the first display and the second display or a composite display to render a first window associated with the first application, wherein the composite display comprises at least the portion of the first and second displays, and wherein a window of a newly launched application can be displayed on the first display, the second display, or the composite display; after determining the first display is associated with the first window, assigning a stack position identifier to the first window to indicate that the first window is at a top of the first window stack; storing the stack position identifier in the logical data structure of the first application; after assigning the stack position identifier to the first window, changing the stack position identifier for the one or more windows and desktops of the first window stack; and displaying the first window on the first display, wherein the first window is displayed and is visible on at least aportion of the first display, a second window of a second open application is active and is displayed on the second display, and a third window of a third open application is displayed across a portion of both the first and second displays, wherein the third window has a display identifier indicating that the third window is associated with the composite display, wherein the first window, the second window, and the third window are active, and wherein a first display controller is associated with the first display and a second display controller is associated with the second display. - View Dependent Claims (18, 19, 20, 21)
-
Specification