B+ tree-based tiled multi-window dynamic adaptation method

By dynamically switching between B+ trees and multi-branch trees, along with a minimum window size threshold and a dual-field culling strategy, the problem of dynamic window changes in tiled window management is solved, achieving efficient multi-window management and adaptive layout, thus improving the user experience.

CN119883473BActive Publication Date: 2025-11-11NORTHWESTERN POLYTECHNICAL UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202411952159.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-12-27
Publication Date
2025-11-11
Estimated Expiration
2044-12-27

AI Technical Summary

Technical Problem

Existing tiled window management algorithms cannot efficiently handle dynamic additions, deletions, and size changes of windows, lacking adaptive capabilities and resulting in a poor user experience.

Method used

A multi-window dynamic adaptive method based on B+ trees is adopted. By dynamically switching between multi-branch trees and B+ trees, combined with a minimum window size threshold and a dual-field elimination strategy, efficient management and adaptive layout are achieved.

Benefits of technology

It improves layout adaptability and screen space utilization in multi-window environments, reduces the need for manual window layout adjustments, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119883473B_ABST
    Figure CN119883473B_ABST
Patent Text Reader

Abstract

The B+ tree-based dynamic adaptive multi-window tiling method belongs to the field of graphical user interface and human-computer interaction technology. To address the poor user experience caused by multiple windows crowding each other in tiling windows, the key is that when the window manager receives a command to open or close a window, if the number of windows to be displayed in the available display area is greater than the first maximum number of windows but not greater than the second maximum number of windows, the window manager sets the current tree-structure tiling window management mode to the second tree-structure tiling window management mode. If the number of windows to be displayed in the available display area is greater than the second maximum number of windows, the window manager determines the windows to be closed based on the number of user clicks and the most recent usage time, and closes them, setting the current tree-structure tiling window management mode to the second tree-structure tiling window management mode. This achieves efficient management and adaptive layout of multiple windows.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of graphical user interface and human-computer interaction technology, and in particular relates to a tiling multi-window dynamic adaptive method based on B+ tree, which is used to improve window management and layout optimization in a multi-window environment. Background Technology

[0002] With the rapid development of computer technology, graphical user interfaces (GUIs) have been widely adopted in operating systems and applications, and multi-window operation has become a common way for users to perform multitasking. In traditional window management systems, windows are mainly arranged in two ways: stacking and tiling. Stacking allows windows to overlap and allows users to move and resize them freely. Essentially, the window manager does not impose any predefined arrangement. A window in a stacked window management scheme can be seen as a piece of paper on a table. Windows can overlap (partially), and only the topmost window in the stack of overlapping windows is guaranteed to be fully visible because it is confined to the screen boundaries. Tiling allows for the free organization and arrangement of application windows, displaying them on the screen in a non-overlapping manner. Unlike stacking, tiling aims to maximize the utilization of screen space, improve multitasking efficiency, and reduce the need for users to manually adjust window size and position.

[0003] When using a tiled window manager, having too many vertically or horizontally divided windows can significantly impact the user experience. Furthermore, current tiled window management algorithms are typically based on simple data structures, such as linked lists or trees, which cannot efficiently handle dynamic additions, deletions, and size changes of windows. In addition, these algorithms lack adaptive capabilities in window layout and cannot dynamically adjust the layout based on window attributes and tile resolution. Therefore, there is an urgent need for an efficient and flexible multi-window management algorithm to solve the above problems. Summary of the Invention

[0004] The purpose of this invention is to provide a dynamic adaptive method for tiling multi-window applications based on B+ trees, which overcomes the problem of poor application visuals caused by multiple windows being squeezed in tiling windows, and achieves efficient management and adaptive layout of multiple windows.

[0005] In a first aspect, the B+ tree-based tiling multi-window dynamic adaptive method according to some embodiments of this application includes the following steps:

[0006] Obtain the first maximum number of windows that can be accommodated in the available display area under the first tree structure tiled window management mode, and the second maximum number of windows that can be accommodated in the available display area under the second tree structure tiled window management mode; wherein, the second maximum number of windows is greater than the first maximum number of windows;

[0007] When the window manager receives a command to open a new window or close a window, then:

[0008] (a) If the number of windows to be displayed in the available display area is not greater than the first maximum number of windows, the window manager sets the current tree structure tiling window management mode to the first tree structure tiling window management mode, and opens a new window or closes a window;

[0009] (b) If the number of windows to be displayed in the available display area is greater than the first maximum number of windows and not greater than the second maximum number of windows, the window manager sets the current tree structure tiling window management mode to the second tree structure tiling window management mode, and opens a new window or closes a window.

[0010] (c) If the number of windows to be displayed in the available display area is greater than the second maximum number of windows, the window manager determines the windows to be closed based on the number of user clicks and the recent usage time, and closes them, so that the number of windows to be displayed in the available display area is no greater than the second maximum number of windows, but greater than the first maximum number of windows, and sets the current tree structure tiling window management mode to the second tree structure tiling window management mode, and opens a new window;

[0011] Among them, the first tree structure tiled window management mode is a multi-branch tree structure tiled window management mode, and the second tree structure tiled window management mode is a B+ tree structure tiled window management mode.

[0012] According to some embodiments of the present application, a dynamic adaptive method for tiling multiple windows based on a B+ tree includes the following steps for obtaining a first maximum number of windows that can be accommodated in the available display area under a first tree structure tiling window management mode and a second maximum number of windows that can be accommodated in the available display area under a second tree structure tiling window management mode:

[0013] Initialize settings to determine the minimum acceptable window length in the first tree structure tiled window management mode. and minimum accept width And the minimum acceptable width of the window in the second tree structure tiled window management mode. ;

[0014] Based on the length of the available display area gaps between windows and minimum accepted length Calculate the maximum number of windows that can be accommodated in the vertical direction of the available display area. As shown in the following formula:

[0015]

[0016] Based on the total width of the screen gaps between windows and minimum accept width Calculate the maximum number of windows that can be accommodated horizontally in the available display area under the first tree structure tiled window management mode. As shown in the following formula:

[0017]

[0018] Based on the total width of the screen gaps between windows and minimum accept width Calculate the maximum number of windows that can be accommodated horizontally in the available display area under the second tree structure tiled window management mode. As shown in the following formula:

[0019]

[0020] Based on the maximum number of windows Calculate the maximum number of windows that the available display area can accommodate under the first tree structure tiled window management mode. As shown in the following formula:

[0021]

[0022] Based on the maximum number of windows and maximum number of windows Calculate the second maximum number of windows that can be accommodated in the available display area under the second tree structure tiled window management mode. As shown in the following formula:

[0023] .

[0024] According to some embodiments of this application, a dynamic adaptive method for tiling multiple windows based on a B+ tree is provided, wherein the method for obtaining the available display area includes the following steps:

[0025] Get the total length of the screen and total width ;

[0026] Get the height of the top sidebar of the screen and the height of the bottom sidebar The sidebar includes a status bar and / or a taskbar.

[0027] Calculate the length of the available display area .

[0028] According to some embodiments of this application, a B+ tree-based tiling multi-window dynamic adaptive method is used, wherein the length of the available display area is calculated. As shown in the following formula:

[0029] .

[0030] According to some embodiments of this application, in the tiled multi-window dynamic adaptive method based on B+ tree, the window manager receives an instruction to open a new window or an instruction to close a window, and the number of windows to be displayed in the available display area is N.

[0031] The number of windows to be displayed in the available display area mentioned in (a) is no greater than the first maximum number of windows, as shown in the following formula:

[0032]

[0033] The window manager determines the current tree structure tiled window management mode. If the current tree structure tiled window management mode is the first tree structure tiled window management mode, it maintains the current tree structure tiled window management mode; if the current tree structure tiled window management mode is the second tree structure tiled window management mode, it switches the current tree structure tiled window management mode back to the first tree structure tiled window management mode.

[0034] The number of windows to be displayed in the available display area mentioned in (b) is greater than the first maximum number of windows and not greater than the second maximum number of windows, as shown in the following formula:

[0035]

[0036] The window manager determines the current tree structure tiled window management mode. If the current tree structure tiled window management mode is the second tree structure tiled window management mode, then the current tree structure tiled window management mode is maintained; if the current tree structure tiled window management mode is the first tree structure tiled window management mode, then the current tree structure tiled window management mode is switched to the second tree structure tiled window management mode.

[0037] The number of windows to be displayed in the available display area mentioned in (c) is greater than the second maximum number of windows, as shown in the following formula:

[0038]

[0039] The window manager determines the windows to be closed based on the number of user clicks and the most recent usage time, and closes them, so that the number of windows to be displayed in the available display area is no greater than the second maximum number of windows, but greater than the first maximum number of windows, and maintains the current tree structure tiling window management mode as the second tree structure tiling window management mode.

[0040] According to some embodiments of this application, a dynamic adaptive method for tiling multiple windows based on a B+ tree is used. The window manager determines a window to be closed based on the number of user clicks and the most recent usage time, and closes it. This makes the number of windows to be displayed in the available display area equal to the second maximum number of windows, and maintains the current tree structure tiling window management mode as the second tree structure tiling window management mode.

[0041] According to some embodiments of this application, a dynamic adaptive method for tiling multiple windows based on a B+ tree includes the following steps for determining windows to be closed based on the number of user clicks and the most recent usage time:

[0042] Calculate the current display window of each of the available display areas. ;

[0043] The currently displayed window of each of the available display areas. The current display window corresponding to the one or more medians with the smallest median value is closed.

[0044] According to some embodiments of this application, a B+ tree-based dynamic adaptive method for tiling multiple windows is provided, wherein the current display window of each available display area is calculated. As shown in the following formula:

[0045]

[0046] In the formula, and These are weighting coefficients. This serves as a reference threshold for the number of clicks. This represents the interval between the most recent time and the current time for window i.

[0047] In a second aspect, embodiments of this application also provide an electronic device, the electronic device comprising: one or more processors, a memory, and one or more programs; wherein the one or more programs are stored in the memory, and the one or more programs include instructions that, when executed by the electronic device, cause the electronic device to perform the first aspect and any possible technical solution of the first aspect.

[0048] In a third aspect, embodiments of this application also provide a computer-readable storage medium comprising a computer program that, when executed on an electronic device, causes the electronic device to perform the first aspect and any possible technical solution of the first aspect.

[0049] Beneficial Effects: This invention achieves efficient management in multi-window environments by combining dynamic switching between multi-branch trees and B+ trees, improving layout adaptability and screen space utilization. The multi-branch tree structure is suitable for scenarios with fewer windows, offering a simple and intuitive layout; while the B+ tree structure supports rapid positioning and dynamic adjustment of high-density windows, ensuring stable performance. The introduction of a minimum window size threshold and a dual-field culling strategy further optimizes the user experience and efficiency of multitasking, reduces the need for manual window layout adjustments, and improves the overall user experience. Attached Figure Description

[0050] Figure 1 This is a flowchart of a tiled multi-window dynamic adaptive algorithm.

[0051] Figure 2 This is a schematic diagram of a multi-window arrangement based on a tiled layout.

[0052] Figure 3 This is a schematic diagram of the distributed nodes of a multi-branch tree in a flat structure.

[0053] Figure 4 for Figure 3 The tree structure represents a schematic diagram of screen segmentation.

[0054] Figure 5 This is a schematic diagram of the management structure for converting a multi-way tree to a B+ tree.

[0055] Figure 6 This is a schematic diagram of a B+ tree management structure.

[0056] Figure 7 The screen in the B+ tree management structure has reached the maximum number of windows.

[0057] Figure 8 The priority scores are for the top 9 applications. Detailed Implementation

[0058] The embodiments of this application are described in detail below with reference to the accompanying drawings, examples of which are shown in the drawings. This application provides a method and an electronic device. The method and device are based on the same technical concept. Since the principles by which the method and device solve the problem are similar, the implementations of the device and method can be referred to each other, and repeated details will not be repeated.

[0059] To provide a clearer understanding of this invention, the technical terms involved are defined and explained herein.

[0060] Multi-window management with tiled layout: such as Figure 2 The diagram shows a multi-window management system based on a tiled layout. The entire screen space is divided into multiple vertical areas, each of which is used to display an application window, forming a tiled layout.

[0061] It should be noted that while status bars are typically located at the top and bottom of a screen, this invention does not limit the number of status bars; rather, it incorporates top and bottom status bars based on most common screen layouts. Each application window is evenly distributed within the screen area (excluding the area of ​​the top and bottom status bars), and there are small gaps between each window and between the window and the four side borders of the screen to separate the windows.

[0062] Tree-based tiling management: This invention optimizes and improves tree-based tiling management algorithms, such as... Figure 3 As shown, the tree-based tiling window manager internally represents windows as leaf nodes, and non-leaf nodes and the root node are delimiters. The delimiters recursively divide the window set, and the delimiters are passed from the parent node down to the leaf nodes. For example... Figure 4 As shown, the red line represents the separator generated by the root node. The root node has three children, two of which are splits. This tree structure represents vertically dividing the screen into three equal-sized partitions, which are evenly distributed among the sub-partitions. The blue lines represent two vertical dividing lines, two of which have windows as their child nodes.

[0063] It should be noted that in this invention, except for the area generated by the child nodes of the root node which is vertically divided, the area generated by the child nodes of the other child nodes is horizontally divided.

[0064] B+ Tree: Considering that tree-based tiling window managers internally represent windows as leaf nodes, meaning the tree structure stores data only in the leaf nodes, a B+ tree is a tree structure that stores all data in the leaf nodes. The leaf nodes are arranged in order of size and connected by linked lists. A B+ tree is a self-balancing data structure that automatically maintains balance after window insertion and deletion. Window management and scheduling are not affected by changes in the number of windows. Furthermore, a B+ tree can quickly locate a specific window in the leaf node linked list, and the linked list order is not disrupted during addition and deletion operations, allowing the B+ tree to naturally adapt its tiling layout.

[0065] The tiled multi-window dynamic adaptive method based on B+ tree in one embodiment of the present invention specifically includes the following steps:

[0066] Step 1: Read the screen resolution length and width, and obtain the screen status bar length:

[0067] Step 1.1 Obtain the current screen resolution information and read the total screen length. and width These two parameters are used to calculate the available display area of ​​the screen, which in turn determines the basic unit of window layout.

[0068] Step 1.2 Obtain the height of the top and bottom status bars (or taskbars) of the screen. and The status bar typically displays system information and application icons, taking up some screen space; therefore, this area's usage needs to be considered when calculating the window area.

[0069] Step 1.3 Based on the new features described in Steps 1.1 and 1.2, calculate the available display area length:

[0070]

[0071] Step 2: Calculate the maximum number of nodes in the multi-way tree and the maximum number of nodes in the B+ tree to determine the order of the B+ tree.

[0072] In this invention, each tiled window has a minimum acceptable length and width. That is, when the length of the window reaches a set threshold, a structural transformation and adjustment will be triggered. When adjusting from a multi-branch tree to a B+ tree, its minimum acceptable width will also change.

[0073] Step 2.1 Initialize the minimum accept length of the window under the multi-way tree structure. and width and the minimum acceptable width of a window in a B+ tree structure. .

[0074] Step 2.2 Based on the data initialized in Step 2.1, calculate the maximum number of windows that can be accommodated in the vertical direction (this is the same for both structures because the height remains unchanged):

[0075]

[0076] Step 2.3 Based on the data initialized in Step 2.1, calculate the maximum number of windows that can be accommodated horizontally, under a multi-way tree structure:

[0077]

[0078] Under a B+ tree structure:

[0079]

[0080] in, The gap between each window.

[0081] Step 2.4 Based on the results obtained in Steps 2.1, 2.2, and 2.3, calculate the maximum number of windows that the screen can accommodate, and the maximum number of windows in the multi-branch tree structure (conversion threshold):

[0082]

[0083] Maximum number of windows in a B+ tree structure:

[0084]

[0085] Step 2.3 Calculate the order of the B+ tree ,Depend on Figure 3 From the structure, we can see that The value represents the maximum number of windows that can be accommodated in the vertical direction, i.e. .

[0086] Step 3: Dynamic Window Management

[0087] In a tiled layout, the number and size of windows may change continuously with user actions. Therefore, dynamic window management is required to ensure the rationality and consistency of the layout. The following are the specific steps for dynamic window management:

[0088] Step 3.1 Detect window changes; when the user opens a new window, the total number of windows... When a user closes a window, the total number of windows... For ease of illustration, in this invention, the number of windows to be displayed in the available display area is represented as N, whether a new window is opened or a window is closed. That is, the current number of windows displayed in the available display area is N-1, and when the user opens a new window, the number of windows to be displayed in the available display area is N. Similarly, the current number of windows displayed in the available display area is N+1, and when the user closes a window, the number of windows to be displayed in the available display area is N.

[0089] Step 3.2 Determine the window count threshold and check the number of currently open windows. Does it exceed the maximum number of screen windows in the multi-branch tree structure calculated in step 2.4? .like Continue using the multi-branch tree management structure and return to step 3.1. If... This triggers a tree structure conversion, switching the window management mode from a multi-branch tree to a B+ tree.

[0090] Step 3.3 Determine the window count threshold and check the number of currently open windows. Does it exceed the maximum number of screen windows in the B+ tree structure calculated in step 2.4? .like Then return to step 3.2. If If the current number of windows exceeds the maximum screen capacity, then a strategy is needed to remove some windows. This invention provides several reference strategies, including adding a user click count to the data structure of each window. The field considers windows with high user click counts as frequently used windows, which are generally not considered for removal. Then, a recent usage time is added. Field, when the user clicks the first When there is a window, its The window that has not been used for the longest time is considered a low-frequency window and can be removed. This invention provides a method for determining and removing windows using a combination of two fields, as shown in the following formula.

[0091]

[0092] in and These are weighting coefficients, which can be adjusted as needed. and The value can be set to reflect the frequency of user usage if more attention is paid to that. If you are more concerned about recent usage time, then set... ,and , This serves as a reference threshold for the number of clicks, used to normalize the click count. For window The interval between the most recent usage time and the current time is used to assess the infrequent usage of the window. Additionally... Larger sizes are more likely to be retained, while smaller sizes are more likely to be eliminated.

[0093] Step 3.4 Calculate the number of all open windows. And sort the windows from high to low. The smallest one is removed from the screen, and a new window replaces the deleted window.

[0094] Step 3.5 Continuously monitor the window changes from Step 3.1 and check the number of currently open windows. Is it less than .

[0095] If it is less than, return to step 3.2, and the window management structure is converted from a B+ tree to a multi-way tree; if it is not less than, return to step 3.3. This indicates that there are no more windows on the screen and the process has ended.

[0096] In one specific example, this invention achieves efficient management and layout optimization in a multi-window environment through a B+ tree-based tiling multi-window dynamic adaptive algorithm. This section will describe specific embodiments of the invention in detail, illustrating the principles of the invention through these embodiments. The accompanying drawings supplement the textual description with graphics. The principles and implementation of this invention are explained in detail below through specific embodiments.

[0097] The B+ tree-based tiling multi-window dynamic adaptive algorithm described in this invention specifically includes the following steps:

[0098] Step 1: Read the screen resolution length and width, and obtain the screen status bar length:

[0099] Step 1.1 Obtain the current screen resolution information and read the total screen length. and width These two parameters are used to calculate the available display area of ​​the screen, which in turn determines the basic unit of window layout.

[0100] Step 1.2 Obtain the height of the top and bottom status bars (or taskbars) of the screen. and The status bar typically displays system information and application icons, taking up some screen space; therefore, this area's usage needs to be considered when calculating the window area.

[0101] Step 1.3 Based on the new features described in Steps 1.1 and 1.2, calculate the available display area length:

[0102]

[0103] Step 2: Calculate the maximum number of nodes in the multi-way tree and the maximum number of nodes in the B+ tree to determine the order of the B+ tree.

[0104] In this invention, each tiled window has a minimum acceptable length and width. That is, when the length of the window reaches a set threshold, a structural transformation and adjustment will be triggered. When adjusting from a multi-branch tree to a B+ tree, its minimum acceptable width will also change.

[0105] Step 2.1 Initialize the minimum accept length of the window under the multi-way tree structure. and width and the minimum acceptable width of a window in a B+ tree structure. .

[0106] Step 2.2 Based on the data initialized in Step 2.1, calculate the maximum number of windows that can be accommodated in the vertical direction (this is the same for both structures because the height remains unchanged):

[0107]

[0108] Step 2.3 Based on the data initialized in Step 2.1, calculate the maximum number of windows that can be accommodated horizontally, under a multi-way tree structure:

[0109]

[0110] Under a B+ tree structure:

[0111]

[0112] in, The gap between each window.

[0113] Step 2.4 Based on the results obtained in Steps 2.1, 2.2, and 2.3, calculate the maximum number of windows that the screen can accommodate, and the maximum number of windows in the multi-branch tree structure (conversion threshold):

[0114]

[0115] Maximum number of windows in a B+ tree structure:

[0116]

[0117] Step 2.3 Calculate the order of the B+ tree ,Depend on Figure 2 From the structure, we can see that The value represents the maximum number of windows that can be accommodated in the vertical direction, i.e. .

[0118] Step 3: Dynamic Window Management

[0119] In a tiled layout, the number and size of windows may change continuously with user actions. Therefore, dynamic window management is required to ensure the rationality and consistency of the layout. The following are the specific steps for dynamic window management:

[0120] Step 3.1 Detect window changes; when the user opens a new window, the total number of windows... When a user closes a window, the total number of windows... .

[0121] Step 3.2 Determine the window count threshold and check the number of currently open windows. Does it exceed the maximum number of screen windows in the multi-branch tree structure calculated in step 2.4? .like Continue using the multi-branch tree management structure and return to step 3.1. If... This triggers a tree structure conversion, switching the window management mode from a multi-branch tree to a B+ tree. Implementation example: Figure 5 As shown, when When the threshold for converting from a multi-branch tree structure to a B+ tree structure is reached, a window management structure conversion is required. The converted tree structure and screen window distribution are as follows: Figure 6As shown, the first three leaf nodes and the last three leaf nodes are managed by a single parent node. The corresponding screen distribution is that the two parent nodes vertically divide the screen into two parts, and the three leaf nodes are evenly divided into three identical regions horizontally.

[0122] Step 3.3 Determine the window count threshold and check the number of currently open windows. Does it exceed the maximum number of screen windows in the B+ tree structure calculated in step 2.4? .like Then return to step 3.2. If If the current number of windows exceeds the maximum screen capacity, then a strategy is needed to remove some windows. This invention provides several reference strategies, including adding a user click count to the data structure of each window. The field considers windows with high user click counts as frequently used windows, which are generally not considered for removal. Then, a recent usage time is added. Field, when the user clicks the first When there is a window, its The window that has not been used for the longest time is considered a low-frequency window and can be removed. This invention provides a method for determining and removing windows using a combination of two fields, as shown in the following formula.

[0123]

[0124] in and These are weighting coefficients, which can be adjusted as needed. and The value can be set to reflect the frequency of user usage if more attention is paid to that. If you are more concerned about recent usage time, then set... ,and , This serves as a reference threshold for the number of clicks, used to normalize the number of clicks. The interval between the most recent usage time and the current time of window i is used to assess the infrequent usage of the window. Additionally... Larger sizes are more likely to be retained, while smaller sizes are more likely to be rejected. For example... Figure 7 As shown, when If the screen has reached its maximum number of windows and no more windows can be added, the windows must be deleted according to the above removal strategy.

[0125] Step 3.4 Calculate the number of all open windows. And sort the windows from high to low. The smallest one is removed from the screen, and a new window replaces the deleted window.

[0126] Step 3.5 Continuously monitor the window changes from Step 3.1 and check the number of currently open windows. Is it less than If the value is less than 1, return to step 3.2, and the window management structure is converted from a B+ tree to a multi-way tree. If the value is not less than 1, return to step 3.3. This indicates that there are no more windows on the screen and the process has ended.

[0127] Experimental Example: The DWAS algorithm experiment is used to verify the effectiveness of the multi-window dynamic adaptive adjustment algorithm (DWAS) designed in this paper. This part tests whether the system can smoothly switch the window management structure after reaching a set threshold by simulating different changes in the number of windows. In the experiment, the system is displayed on a PHILIPS monitor with a resolution of 1920×1080. The other parameters, such as the length of the top and bottom status bars, the gap between windows, and the minimum acceptable width and length of the switched windows, are shown in Table 1. In the parameter values, px represents pixels, which are the units of dots on the screen. They are widely used in computer graphics, image processing, display technology, and other fields, and can also be used to measure screen size, window width, etc.

[0128] Table 1. Experimental parameters of DWAS

[0129]

[0130] The parameters set in Table 1 can be written into the config configuration file of this display system to take effect. Through calculation, it can be found that the maximum number of windows that can be accommodated in the multi-branch tree structure is 6, the maximum number of windows that can be accommodated in the horizontal direction is 3, and the maximum number of windows that can be accommodated in the vertical direction is 3. Therefore, the maximum number of windows that the screen can accommodate under the two management structures are 6 and 9, respectively.

[0131] Next, while using this display system, we simulated opening multiple applications and recorded the screen changes as the number of windows changed. Graphical applications including audio / video, office suites, and GIS map tools were ported to the display system. When applications were randomly clicked on the desktop, the window state callback mechanism in the input management module of the synthesizer recorded the number of clicks and the most recent usage time for each window on the screen. The display of windows with 2, 4, 6, 8, and 9 windows was recorded respectively. When the maximum screen window threshold of 9 was reached, applications were randomly clicked again to verify whether the double-field elimination principle was triggered. The simulated application click order was: terminal, Radar, vlc, marble, qpdfviews, gwenview, gedit, kmplot, mpv, evince.

[0132] When N=2 or N=4, a multi-branch tree management structure is used, with the screen vertically divided evenly. When N=6 or N=8, a B+ tree management structure is used. The former has two workspaces, vertically dividing the screen evenly, with each workspace horizontally divided by three applications. The latter has three workspaces, with the first two workspaces horizontally divided by three applications and the last workspace horizontally divided by two applications. When the number of windows continues to increase to 9, a set threshold is reached. When a new window opens, the window with the lowest priority score is selected from the screen to replace it. In this simulation, the number of clicks for the first 9 applications is set. and time difference As shown in Table 2.

[0133] Table 2. Two-field parameters for the first 9 applications

[0134]

[0135] Based on the initialization , and The parameters can calculate the priority scores of the top 9 applications. The calculation results are as follows Figure 8 As shown.

[0136] Among the first nine applications, Radar and gedit have the lowest priority scores, both at 0.4930. When multiple applications have the same priority score, the selection rule determines the application to be replaced based on the order of the tree nodes in the window tree structure. Radar is under the first middle node, and gedit is under the third middle node; Radar appears earlier than gedit, meaning it will be replaced by the later-opened application, evince. When N=9, the three workspaces display the first nine applications sequentially. When the tenth application, evince, is opened, the application to be replaced is Radar, which is located in the middle of the first workspace. After evince opens, it displays the replacement position for Radar in the middle of the first workspace.

[0137] Based on the above embodiments, this application also provides a computer program that, when run on a computer, causes the computer to execute the methods provided in the above embodiments.

[0138] Based on the above embodiments, this application also provides a computer storage medium storing a computer program, which, when executed by a computer, causes the computer to perform the methods provided in the above embodiments.

[0139] The storage medium can be any available medium that a computer can access. For example, but not limited to, a computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer.

[0140] Based on the above embodiments, this application also provides a chip for reading a computer program stored in a memory to implement the method provided in the above embodiments.

[0141] Based on the above embodiments, this application provides a computer program product that implements the methods provided in the above embodiments when the computer program product is run on an electronic device.

[0142] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0143] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to this application. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart illustrations. Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0144] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0145] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0146] Obviously, those skilled in the art can make various modifications and variations to this application without departing from the spirit and scope of this application. Therefore, if such modifications and variations fall within the scope of the claims of this application and their equivalents, this application also intends to include such modifications and variations.

Claims

1. A tiled multi-window dynamic adaptive method based on B+ trees, characterized in that, Includes the following steps: Obtain the first maximum number of windows that can be accommodated in the available display area under the first tree structure tiled window management mode and the second maximum number of windows that can be accommodated in the available display area under the second tree structure tiled window management mode; wherein, the second maximum number of windows is greater than the first maximum number of windows; When the window manager receives a command to open a new window, then: (a) When the number of windows to be displayed in the available display area is not greater than the first maximum number of windows, the window manager sets the current tree structure tiling window management mode to the first tree structure tiling window management mode and opens a new window; (b) When the number of windows to be displayed in the available display area is greater than the first maximum number of windows and not greater than the second maximum number of windows, the window manager sets the current tree structure tiling window management mode to the second tree structure tiling window management mode and opens a new window; (c) When the number of windows to be displayed in the available display area is greater than the second maximum number of windows, the window manager determines the windows to be closed based on the number of user clicks on the windows and the recent usage time, and closes them, so that the number of windows to be displayed in the available display area is no greater than the second maximum number of windows, but greater than the first maximum number of windows, and sets the current tree structure tiling window management mode to the second tree structure tiling window management mode, and opens a new window; Among them, the first tree structure tiled window management mode is a multi-branch tree structure tiled window management mode, and the second tree structure tiled window management mode is a B+ tree structure tiled window management mode.

2. The tiled multi-window dynamic adaptive method based on B+ tree according to claim 1, characterized in that, in, The method for obtaining the first maximum number of windows that can be accommodated in the available display area under the first tree structure tiled window management mode and the second maximum number of windows that can be accommodated in the available display area under the second tree structure tiled window management mode includes the following steps: Initialize settings to determine the minimum acceptable window length in the first tree structure tiled window management mode. and minimum accept width And the minimum acceptable width of the window in the second tree structure tiled window management mode. ; Based on the length of the available display area gaps between windows and minimum accepted length Calculate the maximum number of windows that can be accommodated in the vertical direction of the available display area. As shown in the following formula: Based on the total width of the screen gaps between windows and minimum accept width Calculate the maximum number of windows that can be accommodated horizontally in the available display area under the first tree structure tiled window management mode. As shown in the following formula: Based on the total width of the screen Gaps between windows and minimum accept width Calculate the maximum number of windows that can be accommodated horizontally in the available display area under the second tree structure tiled window management mode. As shown in the following formula: Based on the maximum number of windows Calculate the maximum number of windows that the available display area can accommodate under the first tree structure tiled window management mode. As shown in the following formula: Based on the maximum number of windows and maximum number of windows Calculate the second maximum number of windows that can be accommodated in the available display area under the second tree structure tiled window management mode. As shown in the following formula: 。 3. The tiled multi-window dynamic adaptive method based on B+ tree according to claim 2, characterized in that, in, The method for obtaining the available display area includes the following steps: Get the total length of the screen and total width ; Get the height of the top sidebar of the screen and the height of the bottom sidebar The sidebar includes a status bar and / or a taskbar. Calculate the length of the available display area .

4. The tiled multi-window dynamic adaptive method based on B+ tree according to claim 3, characterized in that, in, Calculate the length of the available display area As shown in the following formula: 。 5. The tiled multi-window dynamic adaptive method based on B+ tree according to any one of claims 1-4, characterized in that, The window manager receives an instruction to open a new window, and the number of windows to be displayed in the available display area is N; The number of windows to be displayed in the available display area mentioned in (a) is no greater than the first maximum number of windows, as shown in the following formula: The window manager determines the current tree structure tiled window management mode. If the current tree structure tiled window management mode is the first tree structure tiled window management mode, it maintains the current tree structure tiled window management mode; if the current tree structure tiled window management mode is the second tree structure tiled window management mode, it switches the current tree structure tiled window management mode back to the first tree structure tiled window management mode. The number of windows to be displayed in the available display area mentioned in (b) is greater than the first maximum number of windows and not greater than the second maximum number of windows, as shown in the following formula: The window manager determines the current tree structure tiled window management mode. If the current tree structure tiled window management mode is the second tree structure tiled window management mode, then the current tree structure tiled window management mode is maintained; if the current tree structure tiled window management mode is the first tree structure tiled window management mode, then the current tree structure tiled window management mode is switched to the second tree structure tiled window management mode. The number of windows to be displayed in the available display area mentioned in (c) is greater than the second maximum number of windows, as shown in the following formula: The window manager determines the windows to be closed based on the number of user clicks and the most recent usage time, and closes them, so that the number of windows to be displayed in the available display area is no greater than the second maximum number of windows, but greater than the first maximum number of windows, and maintains the current tree structure tiling window management mode as the second tree structure tiling window management mode.

6. The tiled multi-window dynamic adaptive method based on B+ tree according to claim 5, characterized in that, in, The window manager determines a window to be closed based on the number of user clicks and the most recent usage time, and closes it, so that the number of windows to be displayed in the available display area is equal to the second maximum number of windows, and maintains the current tree structure tiling window management mode as the second tree structure tiling window management mode.

7. The tiled multi-window dynamic adaptive method based on B+ tree according to any one of claims 1-4, characterized in that, in, Determining which windows to close is based on the number of user clicks and the most recent usage time, including the following steps: Calculate the current display window of each of the available display areas. ; The currently displayed window of each of the available display areas. The current display window corresponding to the one or more medians with the smallest median value is closed; Among them, the current display window of each of the available display areas is calculated. As shown in the following formula: In the formula, and These are weighting coefficients. , This serves as a reference threshold for the number of clicks. For window User clicks For window The interval between the most recent time and the current time, index This indicates the user's clicked number. A window.

8. An electronic device, the electronic device comprising: One or more processors, a memory, and one or more programs; wherein the one or more programs are stored in the memory, and the one or more programs include instructions that, when executed by the electronic device, cause the electronic device to perform any one of the methods of claims 1-7.

9. A computer-readable storage medium comprising a computer program that, when executed on an electronic device, causes the electronic device to perform the method of any one of claims 1-7.

Citation Information

Patent Citations

  • Large-breadth interactive desktop-oriented multi-user window system

    CN102141893A

  • Interface display direction switching method, device and system, electronic equipment and medium

    CN117555636A