Responsive user interface to manage a non-responsive application
First Claim
1. A method for managing an original user interface for an application, the method comprising:
- signaling hunt state for the application;
creating a ghost user interface in response to the hung state that appears in place of the original user interface, wherein creating the ghost user interface includes;
creating a ghost thread for the ghost user interface; and
creating the ghost user interface in the area occupied by the original user interface;
detecting activity in an event queue of the applications wherein detecting activity in the event queue of the application includes;
placing a high priority special event in the event queue; and
detecting a message generated in response to the high priority special event;
replacing the ghost user interface with the original user interface in response to the detection of activity in the event queue of the application; and
directing input events corresponding to the area covered by the ghost user interface, which includes at least some of the area covered by the original user interface, to the ghost thread.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system are provided for managing application programs with non-responsive user interfaces, possibly due to a bottleneck in handling events/messages. The method and system make an apparently frozen application user interface responsive so as to permit alternative tasks be executed or close the hung application. This is enabled by implementing routines to (a) detect if an application is hung, (b) replace the user interface for the hung application with a ghost interface, implemented by a separate thread, that permits system functionality such as sizing, minimization and closing of the application, and (c) destroying the ghost interface if the hung application becomes responsive again along with restoring the application'"'"'s user interface along with updated event queues. Furthermore, creation of the ghost user interface is accompanied by placing a high priority special event in the hung application'"'"'s queue to detect renewed responsiveness without requiring explicit monitoring.
-
Citations
25 Claims
-
1. A method for managing an original user interface for an application, the method comprising:
-
signaling hunt state for the application;
creating a ghost user interface in response to the hung state that appears in place of the original user interface, wherein creating the ghost user interface includes;
creating a ghost thread for the ghost user interface; and
creating the ghost user interface in the area occupied by the original user interface;
detecting activity in an event queue of the applications wherein detecting activity in the event queue of the application includes;
placing a high priority special event in the event queue; and
detecting a message generated in response to the high priority special event;
replacing the ghost user interface with the original user interface in response to the detection of activity in the event queue of the application; and
directing input events corresponding to the area covered by the ghost user interface, which includes at least some of the area covered by the original user interface, to the ghost thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method for replacing a user interface element created by a application by a substitute user interface element created by a scheduled code path in a multithreaded computing environment, the method comprising:
-
detecting a flip-window signal while the user interface element is being displayed;
in response to the flip-window signal, creating the substitute user interface element in the context of the scheduled code path;
superimposing the substitute user interface element over a first-user-interface-element-occupied real estate; and
caching input corresponding to the substitute user interface element wherein the cached input is subsequently handled by the application. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A multithreaded computing system for executing an application having a user interfaces, wherein if the application is non-responsive to user input the user interface is replaced by a ghost user interface, the system comprising:
-
a non-responsive-aplication detecting code for detecting a non-responsive application;
a ghost thread for creating the ghost user interface to replace the user interface in response to detection of a non-responsive application;
a high priority special entry in a queue for the application for detecting if the application is responsive;
a plurality of computer executable instructions for destroying the ghost user interface in response to handling of the high priority special entry by the application; and
a cache of events and messages for handling by the application wherein the events and messages are directed at the ghost thread. - View Dependent Claims (23, 24, 25)
-
Specification