System and method for switching between software applications in multi-window operating system
First Claim
1. A computer implemented method for using a switch to command to switch a focus of an operating system of the computer form a first application currently in focus to a second application currently not in focus, said first and second applications each having at least one associated window and said operating system maintaining a list of all windows associated with said first and second applications, comprising the steps of:
- a) determining that a single switch to voice command for said second application has been detected by said computer;
b) determining if said second application is running;
c) switching the focus of the operating system to said second application if said second application is determined to be running in step (b); and
d) launching said second application if said second application is determined not to be running, wherein steps b), c), and d) are performed in response to the single switch to voice command.
2 Assignments
0 Petitions
Accused Products
Abstract
A computer implemented method and system for switching from one application to a second application. A user enters a “switch to” command, either directly or imbedded within a macro. A determination is then made whether the application to be switched to is running. If the application is running, the focus of the operating system is switched to the second application. If the second application is not running, then the application is launched. When determining whether the application is running, determinations are made regarding whether the application is invisible or owned.
43 Citations
17 Claims
-
1. A computer implemented method for using a switch to command to switch a focus of an operating system of the computer form a first application currently in focus to a second application currently not in focus, said first and second applications each having at least one associated window and said operating system maintaining a list of all windows associated with said first and second applications, comprising the steps of:
-
a) determining that a single switch to voice command for said second application has been detected by said computer;
b) determining if said second application is running;
c) switching the focus of the operating system to said second application if said second application is determined to be running in step (b); and
d) launching said second application if said second application is determined not to be running, wherein steps b), c), and d) are performed in response to the single switch to voice command. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
i) sequentially reading said list of windows comprising visible and invisible windows until a first visible window is read; and
ii) designating said first visible window as said second application.
-
-
3. The method of claim 1 wherein step (b) comprises the further steps of:
-
i) reading a first window in said list of windows, said list of windows comprising invisible and visible windows;
ii) determining whether said first window is an invisible window;
iii) if visible, designating said first window as said second application; and
iv) if invisible;
a) determining if there is an additional window in said list of windows, b) if an additional window is present in said list of windows, reading said additional window in said list of windows, c) determining whether said additional window is an invisible window, e) if visible, designating said additional window as said second application, and f) if invisible, repeating step (d) until it is determined that there are no additional windows.
-
-
4. The method of claim 1 wherein step (b) comprises the further steps of:
-
i) sequentially reading said list of windows comprising owned and unowned windows until a unowned window is read; and
ii) designating said first unowned window as said second application.
-
-
5. The method of claim 1 wherein step (b) comprises the further steps of:
-
i) reading a first window in said list of windows, said list of windows comprising owned and unowned windows;
ii) determining whether said first window is owned by another window;
iii) if unowned, designating said first window as said second application; and
iv) if owned;
a) determining if there is an additional window in said list of windows, b) if an additional window, reading said additional window in said list of windows, c) determining whether said additional window is owned by another window, d) if unowned, designating said additional window as said second application, e) if owned, repeating step (iv) until it is determined that there are no additional windows.
-
-
6. The method of claim 1 wherein step (b) comprises the further steps of:
-
i) reading a task entry associated with a window in said list of windows;
ii) determining an instance handle from said task entry, said instance handle having an associated file name;
iii) reading said file name;
iv) comparing said file name to said second application;
v) determining if said file name is identical to said second application; and
vi) switching the focus of the operating system to said second application if said file name is identical to said second application.
-
-
7. The method of claim 1 wherein step (b) comprises the further step of determining whether said second application is an executable computer application or a macro.
-
8. The method of claim 7 wherein step (d) of claim 1 comprises running said macro if it is determined that said second application is a macro.
-
9. A computer based system for switching a focus of an operating system of the computer using a switch to command from a first application currently in focus to a second application currently not in focus, said first and second applications each having at least one associated window and said operating system maintaining a list of all windows associated with said first and second applications, comprising:
-
a) means for determining if a single voice command to switch to said second application has been detected by said computer;
b) means for determining if said second application is running;
c) means for switching the focus of the operating system to said second application if said second application is determined to be running by said means for determining if said second application is running; and
d) means for launching said second application based on the single voice command if said second application is determined not to be running. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
i) means for sequentially reading said list of windows comprising visible and invisible windows until a first visible window is read; and
ii) means for designating said first visible window as said second application.
-
-
11. The system recited in claim 9 wherein said means for determining if said second application is running further comprises:
-
i) means for reading a first window in said list of windows, said list of windows comprising invisible and visible windows;
ii) means for determining whether said first window is an invisible window;
iii) means for designating said first window as said second application if said first window is visible; and
iv) means for determining if there is an additional window in said list of windows if said first window is invisible, including, a) means for reading said additional window if said additional window is present, b) means for determining whether said additional window is an invisible window if said additional window is present, c) means for designating said additional window as said second application if said additional window is visible, and d) means for determining if there is an additional window in said list of windows if said additional window is invisible.
-
-
12. The system recited in claim 9 wherein said means for determining if said second application is running further comprises:
-
i) means for sequentially reading said list of windows comprising owned and unowned windows until a first unowned window is read; and
ii) means for designating said first unowned window as said second application.
-
-
13. The system recited in claim 9 wherein said means for determining if said second application is running further comprises:
-
i) means for reading a first window in said list of windows, said list of windows comprising owned and unowned windows;
ii) means for determining whether said first window is an owned window;
iii) means for designating said first window as said second application if said first window is unowned; and
iv) means for determining if there is an additional window in said list of windows if said first window is owned, including, a) means for reading said additional window if said additional window is present, b) means for determining whether said additional window is an owned window if said additional window is present, c) means for designating said additional window as said second application if said additional window is unowned, and d) means for determining if there is an additional window in said list of windows if said additional window is owned.
-
-
14. The system recited in claim 9 wherein said means for determining if said second application is running further comprises:
-
i) means for reading a task entry associated with a window in said list of windows;
ii) means for determining an instance handle from said task entry, said instance handle having an associated file name;
iii) means for reading said file name;
iv) means for comparing said file name to said second application;
v) means for determining if said file name is identical to said second application; and
vi) means for switching the focus of the operating system to said second application if said file name is identical to said second application.
-
-
15. The system recited in claim 9 wherein said means for determining if said second application is running further comprises means for determining whether said second application is an executable computer application or a macro.
-
16. The system recited in claim 15 wherein said means for launching said second application further comprises means for running said macro if it is determined that said second application is a macro.
-
17. A computer readable medium having stored thereon computer executable instructions which, when executed by the computer, cause the computer to perform a method of switching operating system focus from a fist application, currently in focus to a second application, not currently in focus, the method comprising:
-
detecting a single voice command to switch focus; and
based on the single voice command;
determining whether the second application is running;
if the second application is running, switching the focus to the second application; and
if the second application is not running, launching the second application and switching the focus to the second application.
-
Specification