Patent ID: 12189920

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.

The present invention will be described with respect to particular embodiments and with reference to certain drawings, but the invention is not limited thereto and is only limited by the claims. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

Use of ordinal terms such as “first”, “second”, “third”, etc., in the claims to modify a claim element does not by itself connote any priority, precedence, or order of one claim element over another or the temporal order in which acts of a method are performed, but are used merely as labels to distinguish one claim element having a certain name from another element having the same name (but for use of the ordinal term) to distinguish the claim elements.

Please refer toFIGS.1to3,FIG.1is a schematic diagram of opening a plurality of browsers in the same window in accordance with one embodiment of the present disclosure.FIG.2is a schematic diagram of a window arrangement system100in accordance with one embodiment of the present disclosure.FIG.3is a flowchart of a window arrangement method300in accordance with one embodiment of the present disclosure. The window arrangement method300can be implemented by the window arrangement system100.

In one embodiment, as shown inFIG.1, when multiple browsers are open in the same window, although many charts or tables can be compared at one time, the toolbar and address bar TL of the browsers take up space, which makes reading imperfect. If users don't need the toolbar and address bar TL, users can use the full-screen mode of the browser (for example, set the key “F11” on the keyboard of some computers to enter the full-screen mode). However, in doing so, only one browser window can be shown.

Please refer toFIG.2, the window arrangement system100in the embodiment of the present invention includes a processor10, a storage device20and a display30.

In one embodiment, the processor10is coupled to the storage device20. The processor10is used for accessing a program stored in the storage device20, such as a window arrangement application, to execute a window arrangement application.

In one embodiment, the processor10can be implemented by a micro controller, a microprocessor, a digital signal processor, an application specific integrated circuit (ASIC), or a logic circuit.

In one embodiment, the storage device20can be implemented as a read-only memory, flash memory, floppy disk, hard disk, optical disk, flash drive, tape, a database that can be accessed by the network, or those familiar with this technique can easily think of storage media with the same functions.

In one embodiment, the window arrangement application can be implemented by software.

In one embodiment, the function of the window arrangement application can be implemented by a hardware circuit or a chip with a specific function that is independent of the storage device20.

In one embodiment, the processor10is configured to access the window arrangement application stored in the storage device20to execute a window arrangement application. The processor10executes the following actions. The processor10obtains the first program identifier of a foreground window. The processor10determines whether the first program identifier belongs to a preset identifier. If the first program identifier belongs to the preset identifier, then the processor10obtains the first handle of the foreground window and the first window data. The processor10sets an application handle of a window arrangement application as the parent window handle of the first handle. The processor10removes a first toolbar or a first address bar of the first window through the window arrangement application to generate a first simplified window. The processor10displays the first simplified windows in a window of the window arrangement application according to the first window data and a first default window position through the window arrangement application. The specific implementation is described in detail below with an example illustrated inFIG.3.

In one embodiment, the processor10is used to access the window arrangement application stored in the storage device20to execute the window arrangement application. When the processor10executes the window arrangement application, the following steps are performed.

In step310, the processor10obtains the first program identifier of a foreground window.

Please refer toFIG.4, which is a schematic diagram of a work administrator interface in which multiple browsers are open, in accordance with one embodiment of the present disclosure.

In the example illustrated inFIG.4, four Chrome browsers are opened, and the display30can display four Chrome browsers. If the work administrator interface is opened, the display mode is found that the Chrome browser is a main process and the main process brings the sub-process itself. Although only 4 Chrome browsers are opened, a string of chrome.exe appears. As shown inFIG.4, it is difficult for the user to know from the string of chrome.exe which four processes correspond to the four Chrome browsers displayed on the display30. The present invention is not limited to use with the Chrome browser: as long as the program in question is an application program with a handle, it can be applied. For the convenience of description, the Chrome browser is used as an example below.

In one embodiment, since each program identifier (process identification, PID) of each chrome.exe inFIG.4is the same, each handle of each Chrome browser window is different, and each Chrome browser window only has one handle. By looking for the handle of each window of chrome.exe inFIG.4and looking for the handle of the foreground window, it is possible to find out which four processes correspond to the four Chrome browsers displayed on the display30. In one embodiment, the handle is an identifier used to identify an object or item, and the handle is configured to identify the four Chrome browsers displayed on the display30. In one embodiment, the handle for each window is automatically generated by the operating system.

Thereby, the chrome.exe executable file corresponding to each of the four Chrome browsers displayed on the display30can be found.

In one embodiment, the process code of the window arrangement application inFIG.4is WiTidy.exe, which means that the window arrangement application is the parent process of multiple Chrome browser processes. In other words, multiple Chrome browser processes are sub-processes of the window arrangement application.

In one embodiment, since each Chrome browser window displayed on each display30has only one handle, the program identifier of chrome.exe corresponding to each Chrome browser inFIG.4is the same.

In one embodiment, when a process that opens the Chrome browser is called, the Chrome browser window is brought to the foreground. At this time, the processor10can find the handle of the Chrome browser window, and through the handle, query the program identifier corresponding to the process of the Chrome browser.

In one embodiment, the processor10obtains the first program identifier corresponding to the first window W1(e.g., first foreground window) in a plurality of foreground windows. The processor10obtains the second program identifier corresponding to the second window W2in the plurality of foreground windows. The processor10obtains the third program identifier corresponding to the third window W3in the plurality of foreground windows. The processor10obtains the fourth program identifier corresponding to the fourth window W4from the plurality of foreground windows.

In one embodiment, the processor10pre-records the first to fourth program identifiers corresponding to the first to fourth windows W1to W4in the storage device20as preset identifiers.

In one embodiment, the processor10determines whether the first program identifier of the foreground window belongs to a preset identifier.

In step320, the processor10obtains a first handle of the foreground window in response to the first program identifier belonging to the preset identifier. The processor10then obtains the first window data of the foreground window and sets the application handle of the window arrangement application as the parent window handle of the first handle.

In one embodiment, the application handle of the window arrangement application is set as the parent window handle of the first handle through the processor10, representing that the first window W1in the foreground window is a sub-window (child window) of the window of the window arrangement application. The first window W1is displayed in the window of the window arrangement application.

In one embodiment, the processor10sets the Chrome browser of the first window W1to full-screen, the respective first program identifiers corresponding to the multiple sub-windows of the first window W1are all the same program identifier.

In one embodiment, each time a Chrome browser is started, the Chrome browser is set by the processor10to the topmost window of the display screen of the display30. The processor10queries whether the first program identifier of the Chrome browser is the same as the preset identifier. If the first program identifier of the Chrome browser is the same as the preset identifier, the Chrome browser and the previously preset first window W1are regarded as the same window.

In one embodiment, in response to the first program identifier belonging to the preset identifier, the processor10obtains a first handle of the foreground window (e.g., the first window W1), and obtains a first window data of the foreground window. Moreover, the processor10sets the application handle of a window arrangement application as the parent window handle of the first handle.

In one embodiment, the processor10queries whether the preset identifier is the same as the program identifier of the foreground window (e.g., the first window W1) through the handle. If the same, the processor10obtains the size and type (sub-window or parent window) of the window through the handle. And, the processor10records the information into the storage device20.

In one embodiment, when the user starts the window arrangement application, the window arrangement application is set as the parent window. More specifically, the processor10sets the window handle of WiTidy.exe (the process code of the window arrangement application) as the parent window, so that the entire window appears in a black state, and other windows within the parent window are sub-windows.

In one embodiment, if there is only one sub-window, the window arrangement application configures the sub-window to be displayed in full-screen.

In one embodiment, when there are multiple screens, the window arrangement application can select the main screen or the extended screen as the parent window according to a preset option set in advance.

In step330, the processor10removes a first toolbar or a first address bar TL of the foreground window through the window arrangement application to generate a first simplified window W1′.

In one embodiment, the processor10removes the first toolbar and/or a first address bar TL of the first window W1through the Application Programming Interface (API), thereby generating the first simplified window W1′. In one embodiment, the processor10uses full-screen function to remove toolbar or address bar.

In one embodiment, the processor10removes the respective toolbar and/or address bar TL of the first window W1to the fourth window W4through the application programming interface, so as to generate the first simplified window W1′ to the fourth simplified window W4′.

In step340, the processor10displays the first simplified window W1′ in a window of the window arrangement application according to the first window data and a first default window position through the window arrangement application.

Please refer toFIG.5.FIG.5is a schematic diagram of a simplified window in the same window in accordance with one embodiment of the present disclosure. As shown inFIG.5, the window arrangement application displays the first simplified window W1′ to the fourth simplified window W4′, and displays the first simplified window W1′ to the fourth simplified window W4′ through the display30.

As mentioned above, the processor10sets the window handle of WiTidy.exe (the process code of the window arrangement application) as the parent window, so that the entire window is in a black state, and other windows within the parent window are sub-windows. Therefore, in this example, the first simplified window W1′ to the fourth simplified window W4′ are sub-windows that are displayed in the parent window.

In this way, each of the first simplified window W1′ to the fourth simplified window W4′ does not retain the toolbar and/or address bar, and each Chrome browser can be displayed and arranged in a certain area in a full-screen mode. It also won't cause a single Chrome browser to occupy the entire parent window size. Compared withFIG.1, the picture inFIG.5has no toolbar or address bar, which can make the report in the dashboard larger, more concise and convenient for users to watch.

In one embodiment, the first window data refers to the window size, type (sub-window or parent window), and parent window handle corresponding to the first window W1stored in the storage device20.

In an embodiment, please refer toFIG.6, which is a schematic diagram of a simplified window in the same window in accordance with one embodiment of the present disclosure. In one embodiment, the default window position can be pre-configured according to the number of windows. InFIG.6, the default window position610is the configuration for arranging 4 windows. The default window position620is the configuration for arranging 6 windows. The default window position630is the configuration for arranging 9 windows. However, the configuration method in the invention is not limited thereto, and the default window position can be adjusted according to the implementation.

In one embodiment, the processing methods of the first window W1to the fourth window W4are the same. Taking the second window W2as an example, the processor10obtains a second handle of a second window, obtains a second program identifier corresponding to the second window W2, and determines whether the second program identifier belongs to the preset identifier. In response to the second program identifier belonging to the preset identifier, a second handle and a second window data of the second window W2are obtained, and the application handle of the window arrangement application is set as the parent window handle of the second handle. The second toolbar or the second address bar of the second window W2is removed by the window arrangement application to generate a second simplified window W2′. Moreover, through the window arrangement application, the simplified second window W2′ is displayed in the window of the window arrangement application according to the second window data and a second default window position.

In one embodiment, after the window arrangement application obtains the screen resolution size, the first simplified window W1is displayed in the windows of the window arrangement application according to the first window data, the screen resolution size and the default window position. In one embodiment, the screen resolution size can be obtained through detecting the information of the display by the processor10or the operation system.

More specifically, in one embodiment, according to the screen resolution and to be divided into several windows, the size (width and height) of each window is calculated, then the processor10obtains the default window position and the data related to the window information mentioned later according to the configuration file. Since there is a lot of data about window information, it can know how big the current window should be (for example, setting the width and height of the first simplified windowW1), and the processor10then arranges the current window (e.g., the first simplified window W1) to the corresponding position according to the configuration file and the data related to the window information.

In one embodiment, after the window arrangement application obtains the screen resolution size, according to all window data, screen resolution size and default window position, all simplified windows (for example, the first simplified window to the fourth simplified window W1-W4) are displayed in the windows of the window arrangement application.

In one embodiment, the processor10defines a first timer for the first window W1through a first uniform resource locator (URL). The first timer is configured to set a first time period. The display content of the first window W1is updated according to the first time period. Similarly, other windows (such as the second window W2to the fourth window W4) can also define their respective timers through their respective uniform resource locators. The timer is configured to set the time period for updating the content. The update time period of each window can be set according to the information displayed on the dashboard.

For example, the processor10defines a second timer for the second window W2through a second uniform resource locator, the second timer is configured to set a second time period, and the second window W2updates the display content according to the second time period. In one embodiment, the first time period is, for example, 30 seconds, which means that the content of the first window W1is updated every 30 seconds. The second time period is, for example, 5 seconds, which means that the content of the first window W2is updated every 5 seconds. However, the configuration in the invention is not limited thereto, and the time period corresponding to each window can be adjusted according to the implementation.

In one embodiment, in response to the first time period reaching an update time earlier than the second time period, the first window W1is set as the topmost window to update the first window. In response to the second time period reaching the update time earlier than the first time period, the second window is set as the topmost window to update the second window.

In one embodiment, in response to opening the window arrangement application, the processor10opens a control interface. As shown inFIG.7,FIG.7is a schematic diagram of a control interface700in accordance with one embodiment of the present disclosure.

The title bar of the control interface700reads window arrangement application named WiTidy App. The control interface700includes a full-screen button, a plurality of window arrangement template options (such as Google, Test 1-4, Group Name 1, Group Name 2 and Google Search), and a plurality of window lists each corresponding to each of the window layout arrangement options. The window list contains multiple current simplified windows. Each the current windows correspond to a current uniform resource locator or an executable file. For example, click on Google Search, the window list lists the current simplified windows included in the Google Search template, including Test 1-Test 4. The button of the window arrangement template options (such as Group Name 1) that is not clicked displays “Show up” by default, which indicates that it can be clicked to expand the corresponding current simplified window.

On the other hand, the clicked button of window arrangement template options (such as Google Search) is changed from “Show up” to “Close”, which means that the four current simplified windows with Test 1-Test 4 can be closed at the same time. In addition, in response to the Test 1-Test 4 in the current simplified window (e.g., Test 1) is clicked, and the full-screen button “Full-screen” is pressed, then the current simplified window named Test 1 will be configured to be maximized or full-screen. Other current simplified windows are displayed minimized (for example, the current simplified windows named Test 2-Test 4).

In one embodiment, when the current simplified window named Test 1 is configured to be maximized or displayed in full-screen, the full-screen button “Full-screen” is changed to the return button. In response to the return button is pressed, the window arrangement application causes the current simplified windows (e.g., Test 1 to Test 4) to be displayed in the windows of the window arrangement application according to the default window position (e.g., the configuration of the default window position610).

In an embodiment, please refer toFIG.8, which is a schematic diagram of a plurality of current simplified windows and a control interface in accordance with one embodiment of the present disclosure. These current simplified windows (e.g., Test 1 to Test 4) and the control interface700can be in the same parent window. In one embodiment, the control interface700can be freely dragged to an appropriate position.

In one embodiment, in response to opening the window arrangement application, the processor10opens a control interface and calls an application handle of the window arrangement application. As shown inFIG.9,FIG.9is a flowchart of a method900for setting a record program identifier in accordance with one embodiment of the present disclosure.

In step910, the processor10performs the process of the window arrangement method300when an event occurs that registers the foreground window with the operating system. In one embodiment, before obtaining the first program identifier of the foreground window, the window arrangement method300registers an event that the foreground window appears by the operating system. And, in response to the event that the foreground window appears detected by the operating system, the processor loads settings associated with a sub-window from a configuration file.

In step915, the processor10loads the settings associated with the sub-window from a configuration file.

Next, the processor10can load the URL or the executable file of the specified path from the configuration file, and make some settings through the control interface700. For example, the URL of the foreground window is displayed on the control interface700, or “Show up” on the control interface700is clicked . . . and so on.

In step920, the processor10loads and opens the uniform resource locator (URL) in the configuration file or the executable file of the specified path, and further determines whether the URL or the file extension ends with “.exe”.

In one embodiment, the processor10responds that the URL or the file extension name ends with “.exe”, and then step930is performed. The processor10responds that the file extension name does not end with “.exe”, representing the configuration file records a URL, step940is performed to open the URL with a browser.

In one embodiment, the processor10enters the end in response to checking all the URLs or the specified paths in the configuration file, which means ending the method of setting and recording the program identifier.

In step930, the processor10records the program identifier of the executable file of the specified path in the storage device20.

In other words, in response to the processor10determining that the file extension of the path is an executable file (for example, ending in “.exe”), the path is, for example, an executable file. The executable file of this path is opened as a foreground window, such as a small painter. The processor10records the program identifier of the foreground window in the storage device20as a preset identifier.

In step940, the processor10starts the browser and records the program identifier of the URL in the storage device20.

In one embodiment, the browser can refer to Chrome, IE, Firefox, Microsoft Edge, Opera, Safari, etc., but is not limited thereto.

In other words, in this step, the processor10finds that the URL is not an executable file by checking the URL of the configuration file, and starts the Chrome browser based on the URL. The processor10obtains the program identifier of the browser window associated with the URL, and records the program identifier in the storage device20as a preset identifier.

To sum up, the window arrangement method and the window arrangement system can automatically find out which browsers or windows are open and being displayed on the display, and can automatically arrange the browsers or windows. It can also achieve the effect of automatically updating content for well-arranged browsers.

Although the invention has been illustrated and described with respect to one or more implementations, equivalent alterations and modifications will occur or be known to others skilled in the art upon the reading and understanding of this specification and the annexed drawings. In addition, while a particular feature of the invention may have been disclosed with respect to only one of several implementations, such a feature may be combined with one or more other features of the other implementations as may be desired and advantageous for any given or particular application.