Wayland split-screen display window auxiliary method and device, terminal and storage medium
By automatically identifying blank areas and planning ideal split-screen positions in Wayland's split-screen display, drawing rectangles and creating attribute entries, the cumbersome split-screen operation in existing technologies is solved, improving user experience and efficiency.
Patent Information
- Application Number
- CN202610405457.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-31
- Publication Date
- 2026-05-08
AI Technical Summary
In a stacked window manager environment, users lack efficient split-screen assistance tools when multitasking, and existing operations are cumbersome, reducing window management efficiency and user experience.
With the aid of split-screen, the system determines the area not displayed in split-screen mode, draws a rectangle, creates attribute entries and attaches them to the display subtree, receives viewing and selection operations, and automatically plans and allocates windows until the area not displayed in split-screen mode meets the conditions.
It achieves adaptive planning of screen space and visual interaction, improves screen utilization and user operation efficiency, reduces the probability of accidental operation, and enhances users' perception of system status.
Smart Images

Figure CN121996133A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of computer graphics display technology, and in particular to a Wayland split-screen display window auxiliary method, device, terminal, and storage medium. Background Technology
[0002] With the evolution of computer graphics display technology, the Wayland protocol, due to its superior performance in high resolution and high refresh rate, as well as its simple and efficient architecture, has gradually become the preferred alternative to traditional X11 display servers in open-source systems such as Linux. The Wayland compositor, as the core display manager of the system, is responsible for managing the compositing, rendering, and interaction of windows. In terms of window management, existing technologies typically use protocols such as whr_layer_shell to manage the window interface according to different layers such as background, bottom, top, and overlay to control their Z-axis depth order.
[0003] In developing this invention, the inventors discovered the following technical problem: In a stacked window manager environment, there is a lack of efficient auxiliary tools when users want to tile multiple application windows on the screen in a split-screen manner. Existing methods typically require users to manually perform a series of cumbersome operations: First, users need to find and activate the target window by switching tasks or clicking with the mouse; then, by dragging the window to the edge of the screen or relying on specific keyboard shortcuts, they must manually trigger the split-screen and adjust the window size to place a window in the desired split-screen area. After the initial split-screen operation, if the screen display area is not filled, users must repeat the entire process of finding the window, activating the window, dragging, or triggering the split-screen if they want to continue filling the remaining area. In complex work scenarios where there are many open windows on the desktop and multiple split-screen areas need to be planned, this repetitive and indirect operation significantly reduces the efficiency of window management, increases the user's operational burden, and affects the overall workflow continuity and office efficiency. Regarding the split-screen display function to improve the efficiency of multi-tasking parallel processing, the current Wayland synthesizer ecosystem has a significant user experience shortcoming. Summary of the Invention
[0004] This invention provides a Wayland split-screen display window assistance method, device, terminal, and storage medium to solve the technical problem of cumbersome operation of the split-screen display function in the prior art, which utilizes the Wayland synthesizer to improve the efficiency of multi-task parallel processing.
[0005] In a first aspect, embodiments of the present invention provide a Wayland split-screen display window assistance method, including: When the split-screen assist condition is triggered, determine the area that is not displayed in split-screen mode based on the windows that are already displayed in split-screen mode; Define an ideal split-screen area based on the area of the unsplit-screen display window, and draw a rectangle within the ideal split-screen area; Create corresponding attribute entries for each window that is not displayed in split screen; Create a display subtree for the rectangle, and attach the attribute entries as child nodes to the display subtree; Upon receiving a view operation, the attribute entries of the child node are changed from an invisible state to a visible state for display. Receive a selection operation, determine the window that is not displayed in a split screen based on the attribute entry information corresponding to the selection operation, and assign the rectangle to the window that is not displayed in a split screen. Returning to the step of determining the area not displayed in split-screen mode based on the windows already displayed in split-screen mode when the split-screen assist condition is triggered, until the area not displayed in split-screen mode no longer meets the conditions for splitting screen mode again, or there are no windows not displayed in split-screen mode.
[0006] Secondly, embodiments of the present invention also provide a Wayland split-screen display window auxiliary device, comprising: The determination module is used to determine the area that is not displayed in split screen based on the windows that are already displayed in split screen when the split screen assist condition is triggered; The drawing module is used to set an ideal split-screen area based on the area of the unsplit-screen display window, and to draw a rectangle within the ideal split-screen area. Create separate modules to create corresponding attribute entries for each window that is not displayed in split screen mode; The mounting module is used to create a display subtree for the rectangle and mount the attribute entries as child nodes to the display subtree. The conversion module is used to receive viewing operations and convert the attribute entries of the child nodes from an invisible state to a visible state for display. The allocation module is used to receive selection operations, determine the windows that are not displayed in split screens based on the attribute entry information corresponding to the selection operation, and allocate the rectangle to the windows that are not displayed in split screens. The return module is used to return to the steps taken when the split-screen assist condition is triggered, based on the windows already displayed in the split-screen mode, to determine the area not displayed in the split-screen mode, until the area not displayed in the split-screen mode no longer meets the conditions for splitting the screen again, or there are no windows not displayed in the split-screen mode.
[0007] Thirdly, embodiments of the present invention also provide a terminal, including: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the Wayland split-screen display window assistance method provided in the above embodiments.
[0008] Fourthly, embodiments of the present invention also provide a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform the Wayland split-screen display window assistance method provided in the above embodiments.
[0009] The Wayland split-screen display window assistance method, device, terminal, and storage medium provided in this invention, when a split-screen assistance condition is triggered, determines the area not displayed in a split-screen manner based on the already split-screen windows; sets an ideal split-screen area based on the area of the unsplit-screen windows and draws a rectangle within the ideal split-screen area; creates corresponding attribute entries for each unsplit-screen window; creates a display subtree for the rectangle and attaches the attribute entries as child nodes to the display subtree; receives a viewing operation and changes the attribute entry information of the child nodes from an invisible state to a visible state for display; receives a selection operation and determines the unsplit-screen windows based on the attribute entry information corresponding to the selection operation, and assigns the rectangle to the unsplit-screen windows; returns to the step of determining the unsplit-screen area based on the already split-screen windows when the split-screen assistance condition is triggered, until the unsplit-screen area no longer meets the conditions for further split-screening, or there are no unsplit-screen windows. This abstracts the split-screen logic from physical window operations to attribute nodes, achieving adaptive planning and visual interaction of screen space. It can automatically identify blank areas and calculate ideal split-screen positions, maximizing the use of blank screen areas through geometric calculations to improve screen utilization. A tree structure provides a unified organizational structure for windows, facilitating future expansion, and rectangular frames reduce the probability of accidental operations, enhancing user awareness of system status. This improves overall workflow continuity and office efficiency, thereby enhancing the user experience. Attached Figure Description
[0010] Other features, objects, and advantages of the invention will become more apparent from the following detailed description of non-limiting embodiments with reference to the accompanying drawings: Figure 1 This is a flowchart illustrating the Wayland split-screen display window auxiliary method provided in Embodiment 1 of the present invention; Figure 2 This is a flowchart illustrating the Wayland split-screen display window auxiliary method provided in Embodiment 2 of the present invention; Figure 3 This is a schematic diagram of the Wayland split-screen display window auxiliary device provided in Embodiment 3 of the present invention; Figure 4 This is a schematic diagram of the terminal provided in Embodiment 4 of the present invention. Detailed Implementation
[0011] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not intended to limit it. Furthermore, it should be noted that, for ease of description, the accompanying drawings show only the parts relevant to the present invention, and not all of the structures.
[0012] Example 1 Figure 1 This is a flowchart of the Wayland split-screen display window assistance method provided in Embodiment 1 of the present invention. This embodiment is applicable to the situation of split-screen display window assistance based on the Wayland protocol. The method can be executed by the Wayland split-screen display window assistance device, and specifically includes the following steps: Step 110: When the split-screen assist condition is triggered, determine the area that is not displayed in split-screen mode based on the windows that are already displayed in split-screen mode.
[0013] This embodiment aims to free users from the hassle of frequently searching for and activating windows after initiating a split-screen operation. Through an intuitive visual interface and convenient interaction methods, users can quickly browse and select windows to be split-screened, and fill them into the planned remaining display area with one click. This greatly simplifies the split-screen operation process and improves the efficiency of multi-window management and user experience.
[0014] In this embodiment, the split-screen assistance conditions can be: there is an area on the current screen that is not displayed in split-screen mode, and there is an open window on the desktop that supports split-screen. When both conditions are met, it can be considered that there is a need for split-screen, and split-screen assistance can be activated to help users achieve the split-screen function with fewer operations.
[0015] For example, one can first query the compositor's window management list. This yields the top-level split-screen windows, which are currently at the top of the screen and have been successfully placed in the split-screen layout. In Wayland's hierarchy model, windows are typically managed in standard surface layers such as BELOW, NORMAL, and ABOVE, excluding background, overlay, and other layers used for special purposes. By traversing and filtering the top-level windows, the precise set of split-screen windows can be obtained.
[0016] The unsplit area is the remaining portion of the entire screen display area after removing all split-screen windows. For example, this could include: calculating the unsplit area using the currently top-level split-screen window and the screen display area; generating the starting point coordinates, length, and width of the area to be split using the size of the split-screen windows; saving these values to the bounding box properties; and then drawing a rectangle of the bounding box size for display.
[0017] Step 120: Set an ideal split-screen area based on the area of the unsplit-screen display window, and draw a rectangle in the ideal split-screen area.
[0018] After the split-screen assistance is triggered and the non-split-screen display area on the screen is successfully calculated, it is necessary to provide the user with an intuitive and clear target area for operation.
[0019] In this embodiment, the ideal split-screen area can be a specific rectangular area selected from the calculated unsplit-screen display area and prepared to accommodate the next split-screen window. It can be set according to preset layout strategies and user experience rules. Optionally, the size and shape of the ideal split-screen area need to adapt to the characteristics of the remaining screen space and the user's possible split-screen intentions. For example, if the remaining area is a horizontally wide rectangle, the ideal area might be set to occupy the left or right half, reserving logical space for possible subsequent splits. At the same time, it needs to consider the layout coordination with existing split-screen windows. If the current split-screen window uses a left-right split, the ideal area is usually set to the left or right half of the remaining screen area to maintain visual consistency. Furthermore, the size of the area should meet certain requirements to ensure that the subsequently drawn rectangle and the candidate window items arranged inside are clearly visible and easy to select with the mouse or navigate with the keyboard. It should also avoid overlapping with key UI elements at the screen edges, such as the taskbar and system tray.
[0020] Furthermore, the selection logic for the ideal split-screen area can be based on built-in or user-defined layout strategies, such as primary and secondary areas, the golden ratio, or custom proportions. After the ideal split-screen area is set, it can be visually rendered, drawing a prominent rectangle to provide clear visual and interactive guidance. This rectangle can be created and mounted within a specific Wayland layer. Optionally, it can be placed on a higher layer, such as the OVERLAY layer or a SWITCHER layer designed specifically for UI support, ensuring it always appears above all other application windows, thus providing users with a clear visual reference at all times.
[0021] Step 130: Create corresponding attribute entries for each window that is not displayed in split screen.
[0022] For example, the Wayland Composer's window manager queries a list of all currently open application windows. It then filters for split-screen windows, excluding those currently displayed in top-level split-screen mode. Further filtering identifies windows that support split-screen functionality or meet split-screen criteria. For example, based on window attributes such as resizing or being a floating window, and excluding specific window types such as tooltips, pop-up menus, and full-screen applications, it retrieves all non-split-screen windows. For each window, a separate, structured attribute entry is created. These attribute entries may include thumbnails, window icons, and window themes. This aims to provide users with sufficient information to identify and select the target window.
[0023] Step 140: Create a display subtree for the rectangle and attach the attribute entries as child nodes to the display subtree.
[0024] In this embodiment, the rectangle is not only a visual element but also defined as an interactive container. The attribute entry nodes of the candidate window will be created and attached as child nodes to the UI node tree corresponding to this rectangle. For example, this may include: creating an auxiliary tree in the SWITCHER layer, creating a display subtree for the unsplit-screen display window area in the auxiliary tree, and attaching the attribute entries as child nodes to the display subtree.
[0025] Create the UI elements for the auxiliary device within the SWITCHER layer. The SWITCHER layer is typically used to place interfaces that need to interrupt the current workflow and capture global input, such as task switchers and global search boxes. This makes the rectangle a temporary, global interactive overlay that should be placed above most regular windows. After using the SWITCHER layer, the compositor creates a new scene graph node within that layer as the root node for the entire split-screen window auxiliary device. The rectangle is then used as a subtree of the root node. Under the root container node of the same display subtree, the same number of child container nodes are created for arranging and laying out attribute items, matching the number of child container nodes used for the non-split-screen window. These child container nodes determine the attribute item arrangement rules, such as horizontal lists, vertical lists, or grids. Each created attribute item is then added as a child node to the created item list container node. This method ensures that each child node is responsible for a specific display or interactive function, and the parent-child relationships between nodes clearly define spatial containment and the order of event propagation.
[0026] Step 150: Receive the viewing operation and change the attribute entry information of the child node from an invisible state to a visible state for display.
[0027] In this embodiment, the constructed attribute node tree needs to be efficiently transformed into a graphical interface that is directly perceptible to the user, so that the user can intuitively observe the above information. For example, the compositor's scene graph management and rendering pipeline can be utilized to drive display state switching by precisely controlling changes in node attributes, setting the visibility boolean attribute of each visual node from false to true. In the compositor's rendering pipeline, this attribute is used to directly control whether the node participates in the blending calculation of the frame, thus implementing the display state switching.
[0028] Step 160: Receive selection operation, determine the window that is not displayed in split screen according to the attribute entry information corresponding to the selection operation, and assign the rectangle to the window that is not displayed in split screen.
[0029] Users can easily place the selected window precisely within the previously visually indicated rectangular area by simply clicking on it in the visual interface using a keyboard or mouse. This process completely replaces the tedious manual dragging and resizing of windows, simplifying the multi-step, space-estimation-required interaction into a single, quick browse-select operation. This significantly improves the efficiency and accuracy of split-screen operations, smoothly guiding users through the construction of a multi-window workspace.
[0030] Step 170: Return to the step of determining the area not displayed in split screen based on the windows already displayed in split screen when the split screen assist condition is triggered, until the area not displayed in split screen no longer meets the conditions for split screen again, or there are no windows not displayed in split screen.
[0031] In the next round of judgment, if the area not displayed in a split-screen mode meets the conditions for splitting again, and the presence of windows not displayed in a split-screen mode also meets the conditions, it indicates that there is still available space on the screen and candidate windows. Then, the system can automatically proceed to the next interaction cycle. Based on the newly calculated ideal split-screen area, update the geometric properties of the display subtree (rectangle) in the SWITCHER layer, moving and scaling it to the new position and size. Since the candidate window list has been updated, the list of displayed attribute entries also needs to be updated. Users can directly select the next window to split in this new area without any additional action. The loop continues, waiting for the user's next selection. If either of the above two conditions is no longer met in the new round of judgment, it means that the conditions for splitting the screen again no longer exist. The auxiliary display tree created in the SWITCHER layer, including the rectangle and all attribute entries, can be hidden or completely removed. Multiple windows can be quickly and sequentially filled into the planned areas of the screen through continuous selection actions until the screen is full or all windows are used up. This significantly improves the speed of multi-window management and the user experience.
[0032] This embodiment determines the unsplit-screen area based on the already split-screen windows when the split-screen assist condition is triggered; sets an ideal split-screen area based on the area of the unsplit-screen windows and draws a rectangle within the ideal split-screen area; creates corresponding attribute entries for each unsplit-screen window; creates a display subtree for the rectangle and attaches the attribute entries as child nodes to the display subtree; receives a view operation and changes the attribute entry information of the child nodes from an invisible state to a visible state for display; receives a selection operation and determines the unsplit-screen window based on the attribute entry information corresponding to the selection operation, and assigns the rectangle to the unsplit-screen window; returns to the step of determining the unsplit-screen area based on the already split-screen windows when the split-screen assist condition is triggered, until the unsplit-screen area no longer meets the conditions for further split-screening, or there are no unsplit-screen windows. This abstracts the split-screen logic from physical window operations to attribute nodes, achieving adaptive planning and visual interaction of screen space. It can automatically identify blank areas and calculate ideal split-screen positions, maximizing the use of blank screen areas through geometric calculations to improve screen utilization. A tree structure provides a unified organizational structure for windows, facilitating future expansion, and rectangular frames reduce the probability of accidental operations, enhancing user awareness of system status. This improves overall workflow continuity and office efficiency, thereby enhancing the user experience.
[0033] Example 2 Figure 2 This is a flowchart illustrating the Wayland split-screen display window assistance method provided in Embodiment 2 of the present invention. This embodiment is based on the above embodiment and optimized by specifically optimizing the receiving selection operation as follows: receiving up and down key input from the keyboard; moving the attribute entry information up and down according to the up and down key input, and determining the window not displayed in split-screen mode according to the confirmation key input; converting the attribute entry information to an invisible state when receiving a keyboard cancel key input; or receiving mouse wheel input; correspondingly, determining the window not displayed in split-screen mode according to the attribute entry information corresponding to the selection operation includes: moving the attribute entry information according to the mouse wheel input, and determining the window not displayed in split-screen mode according to the mouse hover input; deleting the currently displayed attribute entry information and closing the corresponding window not displayed in split-screen mode when receiving a mouse cancel button click input; exiting the split-screen display window assistance method when receiving a click input outside the display range of the attribute entry information. The following step can be added: associating the viewing operation and the selection operation with the display of the attribute entry using a hook function.
[0034] See Figure 2 The Wayland split-screen display window assistance method includes: Step 210: When the split-screen auxiliary condition is triggered, determine the area that is not displayed in split-screen mode based on the windows that are already displayed in split-screen mode, set the ideal split-screen area based on the area of the windows that are not displayed in split-screen mode, and draw a rectangle in the ideal split-screen area.
[0035] Step 220: Create corresponding attribute entries for all windows that are not displayed in split screen, create a display subtree for the rectangle, and attach the attribute entries as child nodes to the display subtree.
[0036] Step 230: Associate the viewing and selection operations with the display of the attribute entries using hook functions.
[0037] In this embodiment, when creating corresponding attribute entry child nodes for each candidate window, a series of event handling hook functions also need to be registered for them when constructing the corresponding visual components. The hook functions define the behavior executed by the visual component corresponding to the child node when a specific event occurs. For example, an attribute entry node can be a composite structure managing all its child components, including: a root node (serving as the entry), an interaction area node (which can be a transparent or semi-transparent surface node covering most of the visible area of the entry, excluding the close button), facilitating the handling of mouse hover, click, and other events, as well as a close button node and a visual component node. The hook functions associate operations with the display of attribute entries, tightly integrating the interaction method with the split-screen business logic and functionality.
[0038] Step 240: Receive up and down arrow key input from the keyboard; move the attribute entry information up and down according to the up and down arrow key input, and determine the window not displayed in split screen according to the confirmation key input; or receive mouse wheel input, move the attribute entry information according to the mouse wheel input, and determine the window not displayed in split screen according to the mouse hover input.
[0039] For example, the synthesizer's input manager routes keyboard events from the SWITCHER layer to pre-registered global keyboard event handling hooks. When a key press is detected corresponding to the up or down arrow key, it's considered a navigation operation. All attribute entry nodes attached to the subtree are traversed and displayed, previously displayed attribute entry information is cleared, and the corresponding attribute entry information is displayed. Optionally, when the Enter key is detected, it's considered a confirmation selection operation.
[0040] Alternatively, the compositor's input manager routes mouse events from the SWITCHER layer to pre-registered global mouse event handling hooks. Based on the direction and magnitude of the scroll wheel, the attribute item child nodes within the subtree of the item list container are adjusted. This triggers a compositor re-render, generating a smooth, vertically scrolling display of the entire attribute item list. Furthermore, on_pointer_enter and on_pointer_leave event hooks are registered on the interactive area node of each attribute item. When the user moves the mouse or scrolls the wheel, causing the pointer to enter the interactive area of an attribute item, once the pointer hovers over an item, that item is identified as the current item of interest. At this point, if the user wishes to confirm the selection, they simply left-click the item.
[0041] Step 250: When a keyboard cancel key operation is received, the attribute entry information is made invisible; or when a mouse cancel button click operation is received, the currently displayed corresponding attribute entry information is deleted and the corresponding non-split-screen display window is closed; when a click operation is received outside the display range of the attribute entry information, the split-screen display window auxiliary method is exited.
[0042] In this embodiment, multiple flexible exit and cancellation methods are provided to enhance the controllability and fault tolerance of the user experience. When the keyboard event handling hook detects that the key code corresponds to a preset cancellation key, such as the Esc key being pressed, it is determined as a cancellation operation. For child nodes and all their visual child components, their display properties are set from true to false. This prevents the compositor from drawing these interface elements in the next frame. Alternatively, when the mouse pointer is in the area of an attribute entry and the user clicks the close button on that entry, the compositor routes the pointer click event to the event hook of the button node. Then, the display property is also set from true to false. Furthermore, if the user clicks outside the rectangle area to call an exit function, this exit function exits the split-screen auxiliary interface; for example, the rectangle and item list will immediately disappear, and the system will fully return to the normal window management state.
[0043] Step 260: Return to the step of determining the area not displayed in split screen based on the windows already displayed in split screen when the split screen assist condition is triggered, until the area not displayed in split screen no longer meets the conditions for split screen again, or there are no windows not displayed in split screen.
[0044] This embodiment optimizes the receiving selection operation as follows: receiving up and down arrow key inputs from the keyboard; moving the attribute entry information up and down according to the up and down arrow key inputs, and determining the non-split-screen display window according to the confirmation key input; when receiving a keyboard cancel key input, converting the attribute entry information to an invisible state; or receiving mouse wheel inputs; correspondingly, determining the non-split-screen display window according to the attribute entry information corresponding to the selection operation includes: moving the attribute entry information according to the mouse wheel input, and determining the non-split-screen display window according to the mouse hover input; when receiving a mouse cancel button click input, deleting the currently displayed corresponding attribute entry information and closing the corresponding non-split-screen display window; when receiving a click input outside the display range of the attribute entry information, exiting the split-screen display window assistance method. The following step can be added: associating the viewing and selection operations with the attribute entry display using a hook function. Through parallel keyboard and mouse interaction modes, a flexible and efficient operating experience is provided, allowing for smooth navigation and intuitive selection of the attribute entry list in the split-screen assistance interface, efficiently and accurately converting the user's browsing and selection intentions into split-screen operation commands for the target window.
[0045] Example 3 Figure 3 This is a schematic diagram of the Wayland split-screen display window auxiliary device provided in Embodiment 3 of the present invention. See also... Figure 3 The Wayland split-screen display window auxiliary device includes: The determination module 310 is used to determine the area not displayed in split screen based on the windows that are already displayed in split screen when the split screen assist condition is triggered; The drawing module 320 is used to set an ideal split-screen area based on the area of the unsplit-screen display window, and to draw a rectangle in the ideal split-screen area. Create module 330 separately to create corresponding attribute entries for all windows that are not displayed in split screen; Mounting module 340 is used to create a display subtree for the rectangle and mount the attribute entries as child nodes to the display subtree; The conversion module 350 is used to receive viewing operations and convert the attribute entry information of the child node from an invisible state to a visible state for display. The allocation module 360 is used to receive the selection operation, determine the window that is not displayed in a split screen according to the attribute entry information corresponding to the selection operation, and allocate the rectangle to the window that is not displayed in a split screen. The return module 370 is used to return the steps of determining the area not displayed in split screen based on the windows already displayed in split screen when the split screen assist condition is triggered, until the area not displayed in split screen no longer meets the conditions for split screen again, or there are no windows not displayed in split screen.
[0046] The Wayland split-screen window assistance device provided in this embodiment determines the unsplit-screen area based on the already split-screen windows when the split-screen assistance condition is triggered; sets an ideal split-screen area based on the area of the unsplit-screen windows and draws a rectangle within the ideal split-screen area; creates corresponding attribute entries for each unsplit-screen window; creates a display subtree for the rectangle and attaches the attribute entries as child nodes to the display subtree; receives a view operation and changes the attribute entry information of the child nodes from an invisible state to a visible state for display; receives a selection operation and determines the unsplit-screen window based on the attribute entry information corresponding to the selection operation, and assigns the rectangle to the unsplit-screen window; returns to the step of determining the unsplit-screen area based on the already split-screen windows when the split-screen assistance condition is triggered, until the unsplit-screen area no longer meets the conditions for further split-screening, or there are no unsplit-screen windows. This abstracts the split-screen logic from physical window operations to attribute nodes, achieving adaptive planning and visual interaction of screen space. It can automatically identify blank areas and calculate ideal split-screen positions, maximizing the use of blank screen areas through geometric calculations to improve screen utilization. A tree structure provides a unified organizational structure for windows, facilitating future expansion, and rectangular frames reduce the probability of accidental operations, enhancing user awareness of system status. This improves overall workflow continuity and office efficiency, thereby enhancing the user experience.
[0047] Based on the above embodiments, the split-screen assistance conditions include: There are areas on the screen that are not split-screen, and there are open windows on the desktop that support split-screen.
[0048] Based on the above embodiments, the mounting module includes: Create a unit to create an auxiliary tree in the SWITCHER layer, and create a display subtree for the unsplit-screen display window area in the auxiliary tree; The mounting unit is used to mount attribute entries as child nodes to the display subtree.
[0049] Based on the above embodiments, the conversion module includes: A receiving unit is used to receive the selection operation of the rectangular frame by the peripheral device.
[0050] Based on the above embodiments, the allocation module includes: The keyboard operation receiving unit is used to receive up and down key operations from the keyboard. The moving unit is used to move the attribute entry information up and down according to the up and down key operation, and to determine the window that is not displayed in split screen according to the confirmation key operation; The status display conversion unit is used to convert the attribute entry information into an invisible state when a keyboard cancel key operation is received; or A mouse operation receiving unit is used to receive mouse scroll wheel operations; A hover operation receiving unit is used to move the attribute entry information according to the mouse scroll wheel operation and to determine the window that is not displayed in split screen according to the mouse hover operation. The delete unit is used to delete the currently displayed attribute entry information and close the corresponding non-split-screen display window when a mouse cancel button click operation is received; The exit unit is used to exit the split-screen display window auxiliary method when a click operation is received outside the display range of the attribute entry information.
[0051] Based on the above embodiments, the device further includes: The association unit is used to associate the viewing and selection operations with the display of the attribute entries using hook functions.
[0052] Based on the above embodiments, the determining module includes: The calculation unit is used to calculate the unsplit area using the topmost window that is currently displayed in a split-screen mode and the screen display area. It also uses the size of the window that is currently displayed in a split-screen mode to generate the starting point coordinates, length, and width of the area to be split-screened, saves them to the bounding box properties, and then draws a rectangle of the bounding box size for display.
[0053] The Wayland split-screen display window auxiliary device provided in this embodiment of the invention can execute the Wayland split-screen display window auxiliary method provided in any embodiment of the invention, and has the corresponding functional modules and beneficial effects of the method execution.
[0054] Example 4 Figure 4 This is a schematic diagram of the structure of a terminal provided in Embodiment 4 of the present invention. Figure 4 A block diagram is shown of an exemplary terminal 12 suitable for implementing embodiments of the present invention. Figure 4 The terminal 12 shown is merely an example and should not impose any limitations on the functionality and scope of use of the embodiments of the present invention.
[0055] like Figure 4 As shown, terminal 12 is presented in the form of a general-purpose computing terminal. The components of terminal 12 may include, but are not limited to: one or more processors or processing units 16, memory 28, and bus 18 connecting different system components (including memory 28 and processing unit 16).
[0056] Bus 18 represents one or more of several bus architectures, including a memory bus or memory controller, a peripheral bus, a graphics acceleration port, a processor, or a local bus using any of the various bus architectures. For example, these architectures include, but are not limited to, the Industry Standard Architecture (ISA) bus, the Micro Channel Architecture (MAC) bus, the Enhanced ISA bus, the Video Electronics Standards Association (VESA) local bus, and the Peripheral Component Interconnect (PCI) bus.
[0057] Terminal 12 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by terminal 12, including volatile and non-volatile media, removable and non-removable media.
[0058] Memory 28 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 30 and / or cache 32. Terminal 12 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, storage system 34 may be used to read and write non-removable, non-volatile magnetic media (… Figure 4 Not shown; usually referred to as a "hard drive"). Although Figure 4 Not shown, a disk drive for reading and writing to a removable non-volatile disk (e.g., a "floppy disk") and an optical disk drive for reading and writing to a removable non-volatile optical disk (e.g., a CD-ROM, DVD-ROM, or other optical media) may be provided. In these cases, each drive may be connected to bus 18 via one or more data media interfaces. Memory 28 may include at least one program product having a set (e.g., at least one) of program modules configured to perform the functions of the embodiments of the present invention.
[0059] A program / utility 40 having a set (at least one) of program modules 42 may be stored, for example, in memory 28. Such program modules 42 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment. Program modules 42 typically perform the functions and / or methods described in the embodiments of the present invention.
[0060] Terminal 12 can also communicate with one or more external terminals 14 (e.g., keyboard, pointing terminal, display 24, etc.), one or more terminals that enable a user to interact with terminal 12, and / or any terminal (e.g., network card, modem, etc.) that enables terminal 12 to communicate with one or more other computing terminals. This communication can be performed via input / output (I / O) interface 22. Furthermore, terminal 12 can also communicate with one or more networks (e.g., local area network (LAN), wide area network (WAN), and / or public networks, such as the Internet) via network adapter 20. As shown, network adapter 20 communicates with other modules of terminal 12 via bus 18. It should be understood that, although not shown in the figures, other hardware and / or software modules can be used in conjunction with terminal 12, including but not limited to: microcode, terminal drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0061] Processing unit 16 executes various functional applications and data processing by running programs stored in memory 28, such as implementing the Wayland split-screen display window assistance method provided in this embodiment of the invention. Example 5 Embodiment 5 of the present invention also provides a storage medium containing computer-executable instructions, which, when executed by a computer processor, are used to perform any of the Wayland split-screen display window assistance methods provided in the above embodiments.
[0062] The computer storage medium of this invention can be any combination of one or more computer-readable media. A computer-readable medium can be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of computer-readable storage media (a non-exhaustive list) include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium can be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system, apparatus, or device.
[0063] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0064] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including—but not limited to—wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0065] Computer program code for performing the operations of this invention can be written in one or more programming languages or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, and C++, as well as conventional procedural programming languages such as "C" or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or terminal. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0066] Note that the above description is merely a preferred embodiment of the present invention and the technical principles employed. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and various obvious changes, readjustments, and substitutions can be made without departing from the scope of protection of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and may include many other equivalent embodiments without departing from the concept of the present invention, the scope of which is determined by the scope of the appended claims.
Claims
1. A Wayland split-screen display window assistance method, characterized in that, include: When the split-screen assist condition is triggered, determine the area that is not displayed in split-screen mode based on the windows that are already displayed in split-screen mode; Define an ideal split-screen area based on the area of the unsplit-screen display window, and draw a rectangle within the ideal split-screen area; Create corresponding attribute entries for each window that is not displayed in split screen; Create a display subtree for the rectangle, and attach the attribute entries as child nodes to the display subtree; Upon receiving a view operation, the attribute entries of the child node are changed from an invisible state to a visible state for display. Receive a selection operation, determine the window that is not displayed in a split screen based on the attribute entry information corresponding to the selection operation, and assign the rectangle to the window that is not displayed in a split screen. Returning to the step of determining the area not displayed in split-screen mode based on the windows already displayed in split-screen mode when the split-screen assist condition is triggered, until the area not displayed in split-screen mode no longer meets the conditions for splitting screen mode again, or there are no windows not displayed in split-screen mode.
2. The method according to claim 1, characterized in that, The split-screen assistance conditions include: There are areas on the screen that are not split-screen, and there are open windows on the desktop that support split-screen.
3. The method according to claim 1, characterized in that, Creating a display subtree for the rectangle and attaching the attribute entries as child nodes to the display subtree includes: Create an auxiliary tree in the SWITCHER layer, and create a display subtree for the unsplit-screen window area in the auxiliary tree; The attribute entries are attached as child nodes to the display subtree.
4. The method according to claim 1, characterized in that, The receiving and viewing operation includes: Receive selection operation of the rectangle by the peripheral device.
5. The method according to claim 1, characterized in that, The receiving selection operation includes: Receives up and down arrow key input from the keyboard; Accordingly, determining the window not displayed in split-screen mode based on the attribute entry information corresponding to the selection operation includes: The attribute entries are moved up and down using the up and down arrow keys, and the window not displayed in split-screen mode is determined by the confirmation key. When a keyboard cancel key press is received, the attribute entry information is made invisible. Or it can receive mouse wheel input; Accordingly, determining the window not displayed in split-screen mode based on the attribute entry information corresponding to the selection operation includes: The attribute entries are moved based on mouse wheel operations, and the windows that are not displayed in split screen are determined based on mouse hover operations. Upon receiving a click of the mouse cancel button, delete the currently displayed attribute entry information and close the corresponding non-split-screen display window; When a click operation is received outside the display range of the attribute entry information, exit the split-screen display window helper method.
6. The method according to claim 5, characterized in that, The method further includes: The viewing and selection operations are associated with the display of the attribute entries using hook functions.
7. The method according to claim 1, characterized in that, The step of determining the area not displayed in a split-screen mode based on the windows that are already displayed in a split-screen mode includes: The unsplit area is calculated using the topmost window currently displayed in a split-screen mode and the screen display area. The starting point coordinates, length, and width of the area to be split are generated using the size of the already split-screen window and saved to the bounding box properties. Then, a rectangle of the bounding box size is drawn and displayed.
8. A Wayland split-screen display window auxiliary device, characterized in that, include: The determination module is used to determine the area that is not displayed in split screen based on the windows that are already displayed in split screen when the split screen assist condition is triggered; The drawing module is used to set an ideal split-screen area based on the area of the unsplit-screen display window, and to draw a rectangle within the ideal split-screen area. Create separate modules to create corresponding attribute entries for each window that is not displayed in split screen mode; The mounting module is used to create a display subtree for the rectangle and mount the attribute entries as child nodes to the display subtree. The conversion module is used to receive viewing operations and convert the attribute entries of the child nodes from an invisible state to a visible state for display. The allocation module is used to receive selection operations, determine the windows that are not displayed in split screens based on the attribute entry information corresponding to the selection operation, and allocate the rectangle to the windows that are not displayed in split screens. The return module is used to return to the steps of determining the area not displayed in split-screen mode based on the windows already displayed in split-screen mode when the split-screen assist condition is triggered, until the area not displayed in split-screen mode no longer meets the conditions for splitting screen mode again, or there are no windows not displayed in split-screen mode.
9. A terminal, characterized in that, include: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the Wayland split-screen display window assistance method as described in any one of claims 1-7.
10. A storage medium containing computer-executable instructions, characterized in that, The computer-executable instructions, when executed by a computer processor, are used to perform the Wayland split-screen display window assistance method as described in any one of claims 1-7.