PATENT ABSTRACT
A window switching method. A window list is automatically adjusted according a lower limit to the sizes of program symbols on the window list, thus preventing the symbols on the window list from unlimited shrinkage due to an increased number of runtime program windows.

PATENT DESCRIPTION
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to computer techniques, and more particularly to window switching methods. 
   2. Description of the Related Art 
   A multi-tasking operating system (OS) can simultaneously open multiple application windows where one of them known as the focused window is selected to receive user operations. 
   In a Microsoft Windows™ operating system, the toolbar is utilized to switch windows. As more windows are opened, toolbar buttons shrink smaller, even until text and icons thereon become imperceptible. 
   In a Macintosh™ operating system, a list of window snapshots can be shown on a display using hot keys. Windows are switched by changing the focus on the list. As one could expect, when more windows are opened, window snapshots shrink much smaller, even to imperceptible scales. 
   BRIEF SUMMARY OF THE INVENTION 
   An exemplary embodiment of a window switching method is implemented in a computer system comprising a display and a window list displayed thereon. The window list comprises a symbol for a first program. When the computer system initiates a second program with a window thereof displayed on the display, a symbol for the second program is allocated in the window list. The sizes of the symbols for the first program and the second program are averagely adjusted. Whether the size of the symbol for the second program is smaller than a predetermined size is determined. If so, the window list and the symbol for the second program are automatically adjusted to make the sizes of the symbols for the first program and the second program respectively larger than the predetermined size. When a symbol on the list is selected, a window of a program corresponding to the selected symbol is assigned as a focused window of the computer system. 
   An exemplary embodiment of a window switching system comprises a display, a window list, a list manager, and an operating system. The window list is displayable on the display and comprises a symbol for a first program. The list manager allocates a symbol for a second program in the window list when the second program is initiated and a window thereof is displayed on the display. The list manager averagely adjusts the sizes of the symbols for the first program and the second program, and determines if the size of the symbol for the second program is smaller than a predetermined size. If so, the list manager automatically adjusts the window list and the symbol for the second to make the sizes of the symbols for the first program and the second program respectively larger than the predetermined size. When a symbol on the list is selected, the operating system assigns a window of a program corresponding to the selected symbol to be a focused window. 
   An exemplary embodiment of a window switching method is implemented in a computer system comprising a display and a window list to be displayed thereon. The window list comprises a symbol for a first program. A setting of a predetermined size is retrieved. When the computer system initiates a second program with a window thereof displayed on the display, a symbol for the second program is allocated in the window list. The window list and the symbol for the second program are automatically adjusted to make the size of the symbol for the second program larger than the predetermined size. When a symbol on the list is selected, a window of a program corresponding to the selected symbol is assigned as a focused window of the computer system. 
   A detailed description is given in the following embodiments with reference to the accompanying drawings. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The invention can be more fully understood by reading the subsequent detailed description and examples with references made to the accompanying drawings, wherein: 
       FIG. 1  is block diagram of an exemplary embodiment of a computer system; and 
       FIG. 2  is a flowchart of an exemplary embodiment of a window switching method; 
       FIG. 3  is a schematic view showing an exemplary embodiment of the configuration of a window list; 
       FIG. 4  is a schematic view showing another exemplary embodiment of the configuration of the window list; 
       FIG. 5  is a schematic view showing an exemplary embodiment of the configuration of the rearranged window list; 
       FIG. 6  is a schematic view showing another exemplary embodiment of the configuration of the rearranged window list; and 
       FIG. 7  is a flowchart of a window switching process. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   The following description is of the best-contemplated mode of carrying out the invention. This description is made for the purpose of illustrating the general principles of the invention and should not be taken in a limiting sense. The scope of the invention is best determined by reference to the appended claims. 
   Computer system  100  in  FIG. 1  comprises operating system (OS) 3, display  5 , and input device  6 . In OS 3, list manager  32  configures window list  31 . For each program, list manager  32  allocates a symbol thereof in window list  31  when the program is initiated by OS 3. Window list  31  displayable on display  5  may initially have a fixed size not larger than display  5  when there are few runtime applications are not so many. 
   A symbol of a program may comprise a static or dynamic snapshot of a window of the program. The dynamic snapshot is altered (such as changing appearance) with the status of the executed application. When a symbol on window list  31  is selected in response to a control signal from input/output device  6 , OS 3 assigns a window of a program corresponding to the selected symbol to be a focused window, i.e. the most upper window on the desktop of OS 3. List manager  32  may averagely allocate the space for symbols on window list  31 , such that each symbol is the same size. An example of window list  31  comprises a Windows™ toolbar. 
   Input device  6  may comprise a keyboard, a mouse, a touch panel, or another input device from which configuration module  33  receives settings. Modules of OS 3 may be implemented by computer programs executed by a processor (not shown) of computer system  100  to perform a window switching method. List manager  32  and configuration module  33  may be packed as a software package to be installed on computer system  100 . List manager  32  and configuration module  33  may work as a memory resident program which is executed each time when computer system  100  boots. Alternatively, list manager  32  and configuration module  33  may be triggered utilizing input device  6 . For example, the installed list manager  32  and configuration module  33  can be initiated utilizing a function key or a key combination. Before executing these modules, computer system  100  works based on the default window list management scheme of OS 3 (such as Microsoft Windows™). After these modules have been initiated, the following window switching method is in charge of window management, and the way in which input device  6  is operated is accordingly changed for the convenience of controlling window list  31 , as described in the following. 
   With reference to  FIG. 2 , computer system  100  executes a window switching method. 
   First, configuration module  33  receives a setting of predetermined size  34  defining the smallest size of program symbol on window list  31  (step S 2 ). As computer system  100  executes programs P 1 , P 2 , . . . and P n−1 , OS 3 displays windows A 1 , A 2 , . . . and A n−1  corresponding thereto on the main portion of display  5 . Programs P 1 , P 2 , . . . and P n−1  may comprise applications. 
     FIGS. 3 and 4  respectively show different examples of window list  31 . In  FIGS. 3 and 4 , symbols B 1 , B 2 , . . . and B n−1  are respectively snapshots of windows A 1 , A 2 , . . . and A n−1 , corresponding to programs P 1 , P 2 , . . . and P n−1 . Window list  31  is limited to the fixed size not exceeding the observable range of the main portion of display  5 . In  FIG. 3 , symbols B 1 , B 2 , . . . and B n−1  are arranged in a line. In  FIG. 4 , symbols B 1 , B 2 , . . . and B n−1  occupy the full screen of display  5 . 
   When computer system  100  begins to execute program P n  (step S 4 ), OS 3 displays window A n  of the program on display  5  (step S 6 ). List manager  32  allocates a symbol (such as a snapshot) for program P n  in window list  31  (step S 8 ). 
   In step S 8 , list manager  32  may averagely allocate the sizes of symbols B 1 , B 2 , . . . and B n  and determine if the size of the symbol for program P n  is smaller than predetermined size  34  (step S 10 ). 
   If not, step S 4  is repeated when another program is initiated. If so, list manager  32  automatically rearranges window list  31  and the symbol for program P n  (steps S 12  and S 14 ) to make the size of the symbol for program P n  larger than or equal to the predetermined size  34 . After having been averagely rearranged by list manager  32 , each window snapshot is larger than predetermined size  34 . 
   In step S 12 , when symbol B n  of program P n  is smaller than predetermined size  34 , list manager  32  automatically enlarges window list  31  and rearrange the sizes of snapshots in window list  31  in step S 14 . For example, list manager  32  averagely allocates snapshots on window list  31 . 
   With reference to the example in  FIG. 3 , after having been rearranged, window list  31  exceeds the border of display  5 , as shown in  FIG. 5 . Symbol B n  comprises a snapshot of window A n  corresponding to program P n . List manager  32  may move window list  31  according to signals from input device  6  of computer system  100 . 
   With the example in  FIG. 4 , after having been rearranged, window list  31  exceeds the border of display  5 , as shown in  FIG. 6 . Symbol B n  comprises a snapshot of window A n  corresponding to program P n . List manager  32  may move window list  31  according to signals from input device  6  of computer system  100 . 
   As described, input device  6  provides a first operation mode and a second operation mode. Upon initiation of list manager  32  or display of window list  31 , input device  6  may be converted from the first operation mode to the second operation mode. While window list  31  exceeds the observable range of display  5  after being rearranged, input device  6  provides signals for moving window list  31  and selecting a program symbol therefrom. For example, direction keys or a mouse of computer system  100  are utilized to move a cursor on display  5  in the first operation mode, and are utilized to move window list  31  and select a program symbol in the second operation mode. 
   With reference to  FIG. 7 , OS 3 receives control signals from input device  6  (step S 20 ) to show window list  31  (step S 22 ). OS 3 determines if window list  31  is to be closed (step S 24 ). If not, OS 3 determines if input device  6  provides control signals for selecting a focused snapshot from window list  31  (step S 25 ), which can be distinguished by a frame. If not, step S 24  is repeated. If so, OS 3 switches the focused snapshot of window list  31  according to the control signals (step S 26 ). When window list  31  is closed, OS 3 sets a window (such as program P n ) corresponding to the focused snapshot (such as snapshot B n ) to be the focused window (step S 28 ). 
   For example, the focused snapshot is labeled by a frame in the midst of display  5 . Input device  6  is operated to continuously and smoothly move window list  31 , thus changing relative positions of window list  31  and the frame. When window list  31  is closed, OS 3 sets a window corresponding to the snapshot in the center of display  5  to be the focused window. 
   Thus, snapshots on a window list are kept larger than the predetermined size and prevented from unlimited shrinkage. The size of a window list is adjusted, even to exceed a display size when too many windows are opened, and the enlarged window list is controlled via an input device. 
   While the invention has been described by way of example and in terms of the preferred embodiments, it is to be understood that the invention is not limited to the disclosed embodiments. To the contrary, it is intended to cover various modifications and similar arrangements (as would be apparent to those skilled in the art). Therefore, the scope of the appended claims should be accorded the broadest interpretation so as to encompass all such modifications and similar arrangements.