Window management method, electronic device and computer-readable storage medium
Through the splicing and separation functions of window management methods, the problem of cumbersome window operation in multi-window scenarios is solved, and the user experience is improved.
Patent Information
- Application Number
- CN202110183205.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-02-08
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2041-02-08
AI Technical Summary
In multi-window scenarios, users need to operate windows separately to maximize, minimize, close and other operations, which are cumbersome and affect the user experience.
Provide a window management method, which realizes the splicing and separation of windows by receiving user operations, allows users to perform unified operations on the spliced windows, and simplifies window management.
Improve the user experience. Through window splicing and separation operations, users can easily manage multiple windows, reducing the cumbersome steps of operating windows separately.
Smart Images

Figure CN114911379B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of computer technology, and in particular to a window management method, an electronic device, and a computer-readable storage medium. Background Art
[0002] With the development of science and technology, users have an increasing demand for electronic devices with large screens. As the screens of electronic devices become larger and larger, more and more windows can be displayed on the screens of electronic devices at the same time, and users use multi-window scenarios more and more frequently.
[0003] In a multi-window scenario, multiple windows are often displayed on the screen of an electronic device at the same time, and multiple windows may be stacked or cross-displayed in a limited area on the screen. When a user needs to manage the windows displayed on the screen, he generally clicks the relevant buttons set in the upper right corner or at the top of the window to operate the window, such as maximizing the window, minimizing the window, closing the window, moving the window, and scaling the window. When managing these windows, the user needs to maximize the window, minimize the window, close the window, move the window, and scale the window one by one, which is cumbersome and affects the user experience. Summary of the invention
[0004] The purpose of the present application is to provide a window management method, an electronic device and a computer-readable storage medium to solve the problem in the prior art that window operations are cumbersome and affect the user experience.
[0005] In a first aspect, an embodiment of the present application provides a window management method for a first electronic device, on which at least a first window and a second window are displayed, the method comprising: receiving a first operation of a user on at least one of the first window and the second window, the first operation being an operation for changing a position state between the first window and the second window; determining the position state between the first window and the second window in response to the first operation, and if the first window and the second window are in the first position state, performing a splicing operation on the first window and the second window to form a spliced window; if the first window and the second window are in the second position state, closing the first window and / or the second window.
[0006] Through the window management method provided by this implementation, the first electronic device can conveniently realize the splicing or closing of windows, which can effectively improve the user experience.
[0007] In a possible implementation of the first aspect, the first operation is an operation of moving the window. Of course, the first operation may also be other operations for changing the position state between the first window and the second window, which may be set as needed.
[0008] In a possible implementation of the first aspect above, the method also includes: receiving a second operation of the user on the stitching window, the second operation being an operation for controlling the stitching window as a whole; and in response to the second operation, performing feedback operations corresponding to the second operation on the first window and the second window included in the stitching window, respectively.
[0009] In a possible implementation of the first aspect, the second operation includes any one of the following operations: an operation of enlarging a window; an operation of reducing a window; an operation of closing a window; an operation of moving a window. It may also be other operations such as overall control of the display content of the outlet.
[0010] Through the window management method provided by this implementation, the first electronic device can uniformly perform overall operations such as enlarging, reducing, closing, and moving the spliced windows, which is convenient for users to manage windows, especially when the first electronic device displays multiple windows, which can effectively improve the user experience.
[0011] In a possible implementation of the first aspect above, the method also includes: receiving a third operation of the user on the stitching window, the third operation being an operation for separating the stitching window, that is, an operation for releasing the stitching state of the stitching window; in response to the third operation, releasing the stitching state between the first window and the second window included in the stitching window, that is, separating the first window and the second window.
[0012] In a possible implementation of the first aspect, the third operation is a double-click operation on the first target area of the splicing window, or other single-click operations.
[0013] Through the window management method provided by this implementation, the first electronic device can conveniently implement the separation operation of the spliced windows, so that the user can conveniently operate the individual windows, which can effectively improve the user experience.
[0014] In a possible implementation of the first aspect above, at least one of the first window and the second window is a window generated by the first electronic device according to screen display data sent from the second electronic device.
[0015] Through the window management method provided by this implementation, the first electronic device can generate a window based on the screen display data sent by the second electronic device as the projection window sent by the second electronic device, and implement operations such as splicing the projection windows.
[0016] In a possible implementation of the first aspect above, at least one of the first window and the second window is a window corresponding to an application on the first electronic device.
[0017] Through the window management method provided by this implementation, the first electronic device can perform operations such as splicing local windows.
[0018] In a possible implementation of the first aspect above, the second window is a window corresponding to the first window generated when the first electronic device receives a fourth operation of the user on the first window, and the fourth operation is an operation for creating a new window.
[0019] In a possible implementation of the first aspect, the fourth operation is a double-click operation on the second target area of the first window, or other single-click operations.
[0020] Through the window management method provided by this implementation, the first electronic device can easily create a new window to conveniently open two or more applications, which can make it easier for users to view the contents displayed in two windows, thereby improving the user experience.
[0021] In a possible implementation of the first aspect, the first position state is that the first window and the second window do not overlap, and a distance between an edge of one side of the first window and an edge of one side of the second window is less than or equal to a preset distance threshold.
[0022] In a possible implementation of the first aspect above, the second position state is that a side edge of the first window at least partially overlaps with a side edge of the second window.
[0023] In a possible implementation of the first aspect above, the second position state is that an overlapping area of the second window and the first window is greater than or equal to a preset value.
[0024] In a possible implementation of the first aspect above, a first window and a second window are stitched together to form a stitched window, including: if the sizes of the first window and the second window are consistent, the first window and the second window are directly stitched together to form a stitched window; if the sizes of the first window and the second window are inconsistent, the size of the first window is adjusted to be consistent with the size of the second window to form a stitched window, or the size of the second window is adjusted to be consistent with the size of the first window to form a stitched window, or the size of the first window and the size of the second window are simultaneously adjusted to a preset size to form a stitched window.
[0025] In a possible implementation of the first aspect above, performing a splicing operation on the first window and the second window to form a spliced window includes: reducing the first window and the second window respectively so that the size of the formed spliced window is consistent with the original size of the first window or the original size of the second window.
[0026] In a possible implementation of the first aspect, the first electronic device determines the size of the spliced window or the size of the separated window according to the size of the display screen and the size of the screen space, etc. This can make the screen of the first electronic device more convenient for users to use and improve the user experience.
[0027] In a second aspect, an embodiment of the present application provides an electronic device, comprising: a memory, storing a computer program, the computer program including program instructions; a processor, the processor being used to execute the program instructions so that the electronic device executes a window management method provided by the above-mentioned first aspect and / or any possible implementation method of the first aspect.
[0028] In a third aspect, an embodiment of the present application provides a computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program, the computer program includes program instructions, and the program instructions are executed by a computer to enable an electronic device to execute a window management method provided in the first aspect and / or any possible implementation of the first aspect.
[0029] It can be understood that the beneficial effects of the second to third aspects mentioned above can be found in the relevant description of the first aspect mentioned above, and will not be repeated here.
[0030] Other features and corresponding beneficial effects of the present application are described in the latter part of the specification, and it should be understood that at least some of the beneficial effects become obvious from the records in the specification of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1A According to some implementation methods of the present application, a schematic diagram of a use scenario of a computer and a mouse provided in an application embodiment is shown;
[0032] Figure 1B According to some implementation methods of the present application, a schematic diagram of a use scenario of a computer, a mouse and a mobile phone provided in an application embodiment is shown;
[0033] Figure 2 According to some implementation methods of the present application, a schematic diagram of a computer display window provided in an application embodiment is shown;
[0034] Figure 3 is a schematic diagram showing the structure of a computer provided in an embodiment of the present application according to some implementation modes of the present application;
[0035] Figure 4A According to some implementation methods of the present application, a schematic diagram of a computer software system provided by an embodiment of the present application is shown;
[0036] Figure 4Bis a schematic diagram showing a window display management layer in a computer provided by an embodiment of the present application according to some implementation modes of the present application;
[0037] Figures 5A-5J According to some implementation methods of the present application, some computer display interface schematic diagrams provided in the embodiments of the present application are shown;
[0038] Figure 6 According to some implementation methods of the present application, another schematic diagram of a computer display interface provided by an embodiment of the present application is shown;
[0039] Figures 7A-7C According to some implementation methods of the present application, some other computer display interface schematic diagrams provided in the embodiments of the present application are shown;
[0040] Figures 8A-8C According to some implementation methods of the present application, some other computer display interface schematic diagrams provided in the embodiments of the present application are shown;
[0041] Figures 9A-9C According to some implementation methods of the present application, some other computer display interface schematic diagrams provided in the embodiments of the present application are shown;
[0042] Fig.10 According to some implementation methods of the present application, a schematic diagram of a process of window splicing on a computer provided by an embodiment of the present application is shown;
[0043] Fig.11 According to some implementation methods of the present application, a schematic diagram of a process of separating windows on a computer provided by an embodiment of the present application is shown;
[0044] Fig.12 According to some implementation methods of the present application, a schematic diagram of a process of opening two applications on a computer provided by an embodiment of the present application is shown;
[0045] Fig.13 According to some implementation methods of the present application, a schematic diagram of a process of closing a window on a computer provided by an embodiment of the present application is shown;
[0046] Fig.14 According to some implementation methods of the present application, a schematic diagram of a process of window management by a window display management layer in a computer provided by an embodiment of the present application is shown;
[0047] Fig.15 According to some implementation methods of the present application, another schematic diagram of a process of window splicing on a computer provided by an embodiment of the present application is shown;
[0048] Fig.16According to some implementation methods of the present application, another flowchart of window separation on a computer provided by an embodiment of the present application is shown;
[0049] Fig.17 According to some implementation methods of the present application, another schematic diagram of a process of opening two applications on a computer provided by an embodiment of the present application is shown;
[0050] Fig.18 According to some implementation methods of the present application, another flowchart of closing a window on a computer provided by an embodiment of the present application is shown;
[0051] Fig.19 is a schematic diagram showing the structure of an electronic device disclosed in an embodiment of the present application according to some implementation modes of the present application;
[0052] Fig. 20 According to some implementation modes of the present application, a schematic diagram of the structure of a SOC disclosed in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0053] The window management method provided in the embodiments of the present application can be applied to an electronic device for execution, and the electronic device can be implemented by software and / or hardware, and the electronic device can be composed of two or more physical entities, or can be composed of one physical entity. For example, the electronic device can be a computer, a mobile phone, a tablet, or an intelligent interactive tablet or other intelligent device.
[0054] For ease of understanding, in the embodiment, a window management method provided in the embodiment of the present application is exemplarily described with a computer and a mobile phone as electronic devices. Among them, the computer can be an integrated device that controls the window displayed on the computer and realizes human-computer interaction through touch technology or external input devices, and the window displayed on the computer can be the computer's own window (such as a window corresponding to the computer's own application or a window corresponding to the operating system), or it can be a window on the mobile phone (such as a window corresponding to the mobile phone's own application or a window corresponding to the operating system) projected to the computer for display. The external input device can be a keyboard, a mouse, and physical buttons. The user can implement control operations on the window (such as closing, minimizing, maximizing, and moving, etc.) by means of keyboard, mouse, physical buttons, touch, etc.
[0055] See also Figure 1A and Figure 1B , Figure 1A It is a schematic diagram of a scenario of a computer 10 and a mouse 20 provided in an embodiment of the present application. Figure 1B It is a scene diagram of a computer 10, a mobile phone 30 and a mouse 20 provided in an embodiment of the present application.
[0056] Figure 1A In the example, multiple windows displayed by the computer 10 itself are taken as an example (as application scenario 1). Figure 1B In the example, the mobile phone 30 projects the window displayed on the screen of the mobile phone 30 onto the computer 10 (as application scenario 2).
[0057] The computer 10 is used to display multiple windows. The windows displayed on the computer 10 can be as follows: Figure 1A The window of the computer 10 itself can also be as follows Figure 1B The mobile phone 30 may project the screen onto the computer 10, or may include both the computer 10's own window and the mobile phone 30's window projected onto the computer 10. The user may operate the multiple windows on the computer 10 by manipulating the mouse 20. For example, the user may close, minimize, maximize, scale, open two applications, and move the windows on the computer 10 by manipulating the mouse 20. It is worth noting that Figure 1B In the application scenario 2 shown, the mobile phone 30 merely projects the window on the screen of the mobile phone 30 onto the computer 10, and operations on the window are all performed by the computer 10 side.
[0058] like Figure 2 As shown, a window 100 and a window 101 are displayed on the display interface of the computer 10. Both the window 100 and the window 101 can be windows of the computer 10 itself, or both can be windows projected from the mobile phone 30 to the computer 10, or the window 100 can be a window of the computer 10 itself, and the window 101 can be a window projected from the mobile phone 30 to the computer 10. Or the window 100 can be a window projected from the mobile phone 30 to the computer 10, and the window 101 can be a window of the computer 10 itself, etc.
[0059] Window 100 and window 101 both include a title bar 1000 and a content display area 1001. For windows of different applications, the content of the title bar 1000 and the content display area 1001 of window 100 and window 101 are different. The title bar 1000 includes, but is not limited to, function buttons such as minimize, maximize, and close. The content display area 1001 is used to display the content of the window. The user can operate window 100 and window 101 at the same time, such as moving or dragging window 100 and window 101 at the same time. Or close window 100 while moving window 101, etc. The details are as follows:
[0060] When the user manipulates the mouse 20 to move the window 100 and the window 101, a window management method provided in an embodiment of the present application is applied. First, the user manipulates the mouse 20 to move the window 101 (as an example of the second window) and move it close to (as an example of the first operation) the window 100 (as an example of the first window). When the position between the window 100 and the window 101 is in a preset position state, the window 100 and the window 101 are automatically spliced into a whole new window (as an example of a spliced window). The position between the window 100 and the window 101 being in a preset position state includes but is not limited to the distance between one side of the window 100 and one side of the window 101 being less than or equal to a preset distance threshold (as an example of the first position state, for example, the distance between the left side of the window 101 and the right side of the window 100 may be less than or equal to a preset distance threshold).
[0061] After a new window (i.e., a spliced window) is formed, if the user operates the mouse 20 to move any window in the window 100 or the window 101, or clicks the minimize, maximize, and close buttons of any window, the other window will also be moved, minimized, maximized, and closed at the same time, wherein minimize, maximize, close, and move can all be used as examples of the second operation. In this way, the user can operate any window in the window 100 or the window 101 by operating the mouse 20 to achieve simultaneous control or operation of the two windows. Compared with the method of moving windows one by one in the prior art, the window management method provided by the present application is simple to operate and convenient for users to manage multiple windows, thereby improving the user experience.
[0062] The aforementioned preset distance threshold can be set by the computer 10 according to the screen size of the computer 10, the screen space, and at least one of the size of the window 100 and the size of the window 101, so as to facilitate the computer 10 to perform reasonable splicing operations. For example, its value range can be greater than 0 cm and less than or equal to 2 cm, and specifically can be 0.5 cm, 1 cm, 1.6 cm, 2 cm, etc. Of course, the distance threshold can also be other values, which can be set as needed, and the embodiment of the present application does not limit the size of the distance threshold.
[0063] After forming a new window (i.e., a spliced window), if the user wants to move the spliced window 100 or window 101 separately, the user can manipulate the mouse 20 to double-click the title bar 1000 of the window 100 in the new window after the window 100 and the window 101 are spliced or the title bar 1000 of the window 101 (as an example of the third operation, wherein the title bar 1000 is an example of the first target area). By double-clicking the title bar of the spliced new window, the spliced window 100 and window 101 can be separated again (or can also be called splitting), and independent windows 100 and windows 101 are re-formed, which is convenient for the user to operate separately. It is worth noting that in addition to double-clicking the title bar 1000 of the window 100 or window 101 to trigger the separation of the new window, the blank part of the window 100 or window 101 can also be double-clicked to separate the window. In the embodiment of the present application, the area where the area of the new window is double-clicked to trigger the window separation is called the first target area. In addition, when the window 100 and the window 101 are separated, the operation mode of operating the first target area of the new window is not limited to double-clicking, for example, it can also be a single-click mode. The embodiments of the present application are not limited here.
[0064] When the user manipulates the mouse 20 to close any one of the window 101 or the window 100, taking the closing of the window 101 as an example, the user manipulates the mouse 20 to move the window 100 close to the window 101 (as an example of the first operation), and when the left edge of the window 100 coincides with the left edge of the window 101 (as an example of the second position state), the window 101 is triggered to close. Of course, when closing the window 101, the closing condition of the triggering window 101 includes but is not limited to the left edge of the window 100 and the left edge of the window 101 coinciding with the closing of the window 101, and it can also be the left edge of the window 100 and the right edge of the window 101 coinciding with the closing of the window 101, etc. In the embodiment of the present application, the closing condition of the triggering window 101 may include multiple ways.
[0065] It is worth noting that the window management method provided in the embodiment of the present application is not limited to the above operation types, and it can also be applied to other types of window operations, which are not limited in the embodiment of the present application.
[0066] For example, after a user opens a window of an application in the computer 10, the user can reopen a new window of the application by clicking the second target area of the window of the application (the second target area can be the title bar of the window) in an operation not limited to double-clicking, and quickly realize double opening of the application. Users can view information of different interfaces of the same application in different windows, which improves the user experience. When the user wants to close one of the windows of the application, the user can manipulate the mouse 20 to move the window to be closed so that the left edge of the window is aligned with the left edge of another window, triggering the window to close. In addition, the second target area can also be a blank space of the window, and the embodiment of the present application does not limit the type of the second target area.
[0067] A computer 10 for performing a window management method according to an embodiment of the present application is described below with reference to the accompanying drawings.
[0068] Please refer to Figure 3 , Figure 3 A schematic diagram of the structure of a computer 10 as an example of a first electronic device provided in an embodiment of the present application. Figure 3 As shown, the computer 10 may include but is not limited to a processor 120, a power supply 121, a computer external input device 122, a memory 123, a display screen 124, a communication module 125, a keyboard module 126, an audio module 127, a fan module 128, a data communication module 129 and a sensor module 130, etc.
[0069] In some embodiments of the present application, it can be understood that the embodiments of the present application illustrate Figure 3 The structure shown does not constitute a specific limitation on the computer 10. In other embodiments of the present application, the computer 10 may include Figure 3 More or fewer components may be shown, or some components may be combined or separated, or the components may be arranged differently. Figure 3 The components shown may be implemented in hardware, software, or a combination of software and hardware.
[0070] In some embodiments of the present application, the processor 120 may include one or more processing units, for example, a central processing unit (CPU), a graphics processing unit (GPU) / digital signal processing (DSP), a microcontroller unit (MCU), an artificial intelligence (AI) processor, or a field programmable gate array (FPGA) and the like. Processing modules or processing circuits. Among them, different processing units can be independent devices or integrated in one or more processors. A storage unit can be set in the processor 120 to store window operation instructions and window data. In some embodiments, the storage unit in the processor 120 is a cache memory. The processor can call the window operation instruction to implement the window management method mentioned in the following embodiments. It allows users to operate multiple windows at the same time, solving the problem of cumbersome operations caused by operating multiple windows one by one.
[0071] In some embodiments of the present application, the storage unit may include one or more tangible, non-transitory computer-readable storage media for storing data and / or instructions. In some embodiments, the storage unit may include any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as at least one of a hard disk drive (HDD), a compact disc (CD) drive, and a digital versatile disc (DVD) drive.
[0072] The power supply 121 may include a power supply, a power management component, etc. The power management component is used to manage the charging of the power supply and the supply of power to other modules.
[0073] The computer external input device 122 may be a mouse. The mouse is an external input device of the computer and is also an indicator for the vertical and horizontal coordinates of the computer display system. It is named because of its shape like a mouse. The use of the mouse is to make the operation of the computer easier and faster, replacing the cumbersome keyboard instructions, such as using the mouse to move windows, close windows, minimize windows, etc.
[0074] In some embodiments of the present application, the memory 123 may include one or more tangible, non-temporary computer-readable storage media for storing data and / or instructions. In some embodiments, the memory 123 includes, but is not limited to, any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as a hard disk drive (HDD), a compact disc (CD) drive, and a digital versatile disc (DVD) drive. Among them, the memory 123 may store window operation (or management) instructions to facilitate the processor 120 to call the window operation instructions to operate the window.
[0075] In some embodiments of the present application, the display screen 124 of the computer 10 is used to display a human-computer interaction interface, a window, a video, etc. The display screen 124 includes a display panel and a housing of the display screen, and the housing of the display screen is specifically composed of a back shell and a frame around the display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc.
[0076] The communication module 125 may include but is not limited to an antenna, a power amplifier, a filter, a low noise amplifier (LNA), etc. The communication module 125 may provide a wireless communication solution on the computer 10. In some embodiments of the present application, at least some functional modules of the communication module 125 may be set in the processor 120. In some embodiments of the present application, at least some functional modules of the communication module 125 may be set in the same device as at least some modules of the processor 120.
[0077] In some embodiments of the present application, the communication module 125 may include an antenna, and the external instructions are sent and received via the antenna. The communication module 125 may provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) network), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the computer 10. The computer 10 can communicate with the network and other devices through wireless communication technology.
[0078] The keyboard 126 is an input device for the instructions and data of the computer 10. The keyboard 126 is divided into a main keyboard and a keypad, which is composed of a plurality of keys, a keyboard touch pad around the keys, a keyboard housing, etc. The keys are mainly marked with letters and numbers. Letters, numbers, punctuation marks, etc. can be input into the computer 10 through the keyboard, thereby issuing commands to the computer 10 and inputting data, etc. In some embodiments of the present application, the keyboard 126 is composed of a keyboard housing, an indicator light, a keyboard circuit board, etc. (which is the control core of the entire keyboard, located inside the keyboard housing, and mainly serves as a key scanning recognition, encoding and transmission interface).
[0079] In some embodiments of the present application, the audio module 127 is used to convert digital audio information into analog audio signal output, or convert analog audio input into digital audio signal. The audio module 127 can also be used to encode and decode audio signals. In some embodiments of the present application, the audio module 127 can be arranged in the processor 120, or some functional modules of the audio module 127 can be arranged in the processor 120.
[0080] In some embodiments of the present application, the data communication module 129 is a module for data communication between the sensor module 130 and the processor 120, which may be an I2C module, an SPI module, etc. In some embodiments of the present application, the sensor module 130 and the processor 120 perform data communication based on the I2C bus, wherein the sensor module 130 acts as a transmitter in the bus, which is used to send various detection signals to the bus; the processor 120 acts as a receiver in the bus, which is used to receive data on the sensor module 130 bus. For both the sensor module 130 and the processor 120, they have an I2C interface for the I2C bus.
[0081] The following is a description of the software system of the computer 10 that implements the above window management method of the present application:
[0082] like Figure 4A As shown, the software system of the computer 10 includes but is not limited to a system support process, a service process, an application layer, an environment subsystem, a subsystem dynamic link library (DLL), a window display management layer, and a kernel component.
[0083] like Figure 4B As shown, the window display management layer includes but is not limited to the View display layer, stack management service, window management service, Surface management, and SurfaceFlinger management.
[0084] The View display layer is responsible for displaying the windows that have been opened on the computer 10, including but not limited to displaying the window title bar, the content in the window, and the size of the window. In addition, the View display layer can also monitor the events of user operation of the window, such as double-clicking the window title bar, moving the window, zooming in and out of the window, etc. If the user drags the window title bar to move the position of the window on the display screen of the computer 10, the View display layer is responsible for monitoring the dragging event of the window title bar and the display of the window.
[0085] The stack management is mainly responsible for managing the stacking and popping of multiple windows on the display screen of the computer 10. Among them, each application can be set up with a corresponding stack, and each stack can be placed in multiple windows. In response to different operations of the user on the windows displayed on the computer 10, the stack management is responsible for switching between stacks in the foreground and background and switching the order of windows in the stack.
[0086] For example, in the scenario of opening two applications at the same time, when the user double-clicks the title bar of the window of the gallery application, the computer 10 will start a new window of the gallery application, and the stack management will trigger a new stack to carry the new window. With the new stack carrying the new window, the user can perform different operations on the two windows, and correspondingly, the two windows will also display different operation results at the same time.
[0087] For the scenario of closing a window, when the user wants to close the newly opened window of the gallery application, the user can manipulate the mouse 20 to move or drag the newly opened window so that the newly opened window of the gallery application is aligned with the left edge of the original window of the gallery application, and then close the newly opened window of the gallery application. At this time, the stack management will destroy the stack information of the newly opened window. The stack information includes but is not limited to the title bar of the newly opened window, the content of the window, and the size of the window.
[0088] For the scenario of splicing windows, the stack management splices the stack of window 1 to be spliced with the stack of window 2, and the spliced window 1 and window 2 can be popped out of the stack at the same time so as to be displayed on the display screen of the computer 10 at the same time. When the stack of window 1 and the stack of window 2 are spliced together, the stack management can destroy the stack of window 2, and the stack management can widen the width of the stack of window 1. The widened stack contains all windows of the application corresponding to window 1 and window 2 displayed on the display screen of the computer 10.
[0089] Window management is mainly responsible for managing windows. Window management listens to the user's window operation events in the View display layer and passes the window operation events to the underlying Surface management. Window operation events include removing windows opened when closing the application, adding windows opened when starting the application, splicing multiple windows, and scaling windows.
[0090] Surface management is to manage the layers of multiple windows displayed on the display screen of the computer 10, that is, to manage the layers of multiple windows on the display screen, such as splicing, separating and setting properties (transparency, size, color, etc.) of each layer.
[0091] SurfaceFlinger is responsible for cropping the Surface area of the window corresponding to the event of the operation window, establishing the Surface area, and managing all the Surface areas. In general, there is only one Surface displayed in the same window displayed on the screen. For example, when the operation window is actually two windows spliced together, the Surface management will splice the Surface areas of the two windows together, and the two windows will be merged into the same window. The Surface areas in the two windows will also be merged together as a new window displayed on the screen. Secondly, SurfaceFlinger can also be used to receive window scaling instructions and display the corresponding Surface area size of the scaled window.
[0092] The application layer may include six types, which may be windows 32-bit, windows 64-bit, windows 3.1 16-bit, ms-dos 16-bit, posix 32-bit, and OS / 2 32-bit.
[0093] System support processes may include login processes and session manager processes, etc.
[0094] The service process hosts Windows services, such as the process manager and spooler service.
[0095] The application layer and service processes can access kernel components through the subsystem DLL.
[0096] The environment subsystem implements part of the operating system support. The environment refers to the personalized part of the operating system presented to users or programmers.
[0097] Kernel components can include windows ○ R executive, Windows kernel, device drivers, which include basic operating system services such as memory management, process and thread management, and hardware abstraction layer.
[0098] Based on the hardware structure and software system of the computer 10 as the first electronic device, the window management method will be described below by taking the window displayed by the computer 10 in the above application scenario 1 as an example in combination with actual application scenarios. The computer may be a laptop computer, a desktop computer, etc. In the embodiment of the present application, the type of the computer 10 is not limited, and the user can operate the control components other than the mouse 20 to operate the window on the screen of the computer 10.
[0099] First, see FIG. 5A to FIG. 5J , FIG. 5A to FIG. 5J Schematic diagram of the interface for implementing window splicing in a word document scenario by some window management methods provided in the embodiments of the present application. It is worth noting that the types of operation windows provided in the following embodiments may also be other types, which are not limited in the embodiments of the present application.
[0100] In the scenario where the window to be operated is a word document window, such as Figure 5A As shown, the user manipulates the mouse 20 to open two word document windows of the word document application of the application layer (the two word document windows are window 100 and window 101 respectively). Window 100 and window 101 both include a title bar 1000 and a document display area 1001. The title bar 1000 can be called a function area, and the function area includes the document editing function, review function, design function, view function, page layout function, minimize button 10000, maximize button 10001 and close button 10002, etc. The document display area 1001 is used to display document content, such as text, pictures, links, etc. It is worth noting that the document content displayed in the document display area 1001 of window 100 and window 101 can be the same or different, and the embodiment of the present application is not limited thereto. The user manipulates the mouse 20 to Figure 5A The window 100 and the window 101 shown are operated separately, such as when the user manipulates the mouse 20 to click the minimize, maximize and close buttons of the window 100 or the window 101, the window 100 and the window 101 can be minimized, maximized and closed separately. In this way, when operating multiple windows, the operation is cumbersome, which affects the user experience.
[0101] Using the window management method provided in the embodiment of the present application, the user moves window 101 close to window 100, such as Figure 5B As shown in FIG. 1 , when the left edge of window 101 gradually approaches the right edge of window 100 and the distance between the left edge of window 101 and the right edge of window 100 does not exceed the distance threshold D, window 101 and window 100 are automatically spliced to form a window as shown in FIG. Figure 5C The new window 102 (ie the spliced window) after splicing is shown. In this implementation, the size of the window 101 is the same as that of the window 100.
[0102] The stitched new window 102 is treated as a whole window. When the user minimizes, maximizes, resizes, closes, or moves the stitched new window 102 (as an example of the second operation), the user only needs to move any one of the two windows to move the two windows at the same time, or click the minimize, maximize, stretch, or close button of any one of the two windows to minimize, maximize, or close the two windows at the same time (as an example of a feedback operation).
[0103] It is worth noting that the distance threshold D can be set to any achievable value such as 0.5 cm, 1 cm, etc. In addition, the left edge of window 101 can be located to the right of the right edge of window 100, and the left edge of window 101 can also be located to the left of the right edge of window 100, etc., to achieve window splicing. The embodiments of the present application are not limited here.
[0104] It is worth noting that when the sizes of window 100 and window 101 are Figure 5D In the case of inconsistency shown (i.e. Figure 5D The size of the middle window 100 is slightly larger than the size of the window 101). In order to ensure the aesthetics of the new window 102 after splicing, the size of the window 100 as the first window can be adapted by the window 101 as the second window. That is, the size of the window 101 is adjusted to the same size as the size of the window 100 and spliced together to form Figure 5E The new window 102 after splicing shown in FIG. Figure 5EIn the new window 102 formed by splicing, the upper and lower edges of the window 100 and the window 101 are all in the same straight line. Of course, it is understandable that the sizes of the window 100 and the window 101 can also be left unchanged, and they only need to be spliced together. That is, the window 100 and the window 101 are spliced together in their original sizes, which can be divided into the following situations: the upper edge of the window 100 is aligned with the upper edge of the window 101, and the lower edge of the window 100 exceeds the lower edge of the window 101; or the lower edge of the window 100 is aligned with the lower edge of the window 101, and the upper edge of the window 100 exceeds the upper edge of the window 101; or the window 101 is located between the upper and lower edges of the window 100, that is, the upper and lower edges of the window 100 are not aligned with the upper and lower edges of the window 101. The embodiments of the present application are not limited here.
[0105] Further, in some embodiments of the present application, the size of the new window 102 formed by splicing the window 100 and the window 101 may be the sum of the size of the window 100 and the window 101, that is, Figure 5C The size of the new window 102 shown is formed by superimposing the window 100 and the window 101. In order to avoid the size of the new window 102 after the splicing being too large and occupying too much screen space, the size of the new window 102 formed by splicing the window 100 and the window 101 can be as follows Fig. 5F The original size of any one of the windows 100 or 101 shown, that is, Fig. 5F As shown, the sizes of the spliced windows 101 and 100 are reduced compared to the original sizes, and the size of the new window 102 formed by splicing is the original size of the window 100. Or the size of the new window 102 formed by splicing the windows 100 and 101 is half the size of the window 100 or the window 101, as shown in FIG. Figure 5G As shown, the size of the new window 102 formed by the window 100 and the window 101 is half the size of the window 100, so that the size of the new window formed by the splicing of the window 100 and the window 101 is small and does not occupy too much screen space. It is understandable that the size of the new window formed by splicing multiple windows can be set to any size, and the embodiment of the present application is not limited here.
[0106] Furthermore, a window management method provided in some embodiments of the present application is not only applicable to the splicing of two windows, but also can realize the splicing of more than two windows. Figure 5H, taking three windows as an example, computer 10 displays three windows, window 100, window 101 and window 111. Applying the window management method provided in the present application, the user can move window 101 and window 111 respectively to form a new spliced window. For example, after splicing window 100 and window 101, when the left edge of the third window 111 is close to the right edge of window 101 and the distance between the two does not exceed the distance threshold D, as shown in FIG. Fig.5I As shown, the third window 111, as well as the window 101 and the window 100 are spliced to form a new window 102. The size of the new window 102 formed by the splicing of the three windows can be adaptively adjusted by the computer 10 according to the screen size or screen space of the computer 10, for example, the size of the new window 102 formed by the splicing of the three windows is the same as the size after the splicing of the window 100 and the window 102 according to the original size. After two or more windows are spliced, the spliced windows can be minimized, maximized, closed, and moved. When any operation is performed on any window in the spliced windows, all the spliced windows can feedback the operation at the same time. In this way, it is only necessary to operate one of the spliced windows to realize the simultaneous operation of multiple windows, which is simple to operate and improves the user experience.
[0107] It is worth noting that when the user operates the mouse 20 to move a window, if the window is locked, the window cannot be moved. For example, if the user moves the window 101, when the window 101 is locked, the window 101 cannot be moved. Figure 5J As shown, when the window 101 is locked, a lock mark 1010 may be displayed in the window 101 to remind the user that the window 101 is locked and cannot be moved. Of course, in order to ensure the simplicity of the window, the lock mark 1010 may not be displayed on the window 101, and the embodiment of the present application is not limited thereto.
[0108] Furthermore, in some embodiments of the present application, the window stitching is not only applicable to stitching multiple windows of the same application, but also to stitching multiple windows of different applications to achieve multi-window operation. For example, the word document window of the word document application and the picture window of the gallery application can be stitched according to the above FIG. 5B to FIG. 5J The present invention is not limited to the embodiment of the present invention.
[0109] Next, this application provides another embodiment of window splicing, see Figure 6 , Figure 6 A schematic diagram of an interface for implementing window splicing in a gallery application scenario using a window management method provided in an embodiment of the present application. It is worth noting that the types of operation windows provided in the following embodiments may also be other types, which are not limited in the embodiments of the present application.
[0110] In the scenario where the window to be operated is a picture window of a gallery application, such as Figure 6 As shown, the user manipulates the mouse 20 to open the gallery application of the application layer, and the user clicks on two pictures in the gallery application to form two picture windows (the two picture windows are picture window 104 and picture window 105). Picture window 104 and picture window 105 both include a title bar 1000 and a picture display area 1001. The title bar 1000 may include editing functions for the picture, detailed information about the picture (such as shooting time, location, etc.), minimize 10000, maximize 10001, and close 10002, etc. The picture display area 1001 is used to display pictures. It is worth noting that the pictures displayed in the picture display area 1001 of the picture window 104 and the picture window 105 may be the same or different, and the embodiment of the present application is not limited thereto. The user manipulates the mouse 20 to Figure 6 The picture window 104 and the picture window 105 shown are operated separately. For example, when the user manipulates the mouse 20 to click the minimize, maximize, stretch and close buttons of the picture window 104 or the picture window 105, the picture window 104 and the picture window 105 can be minimized, maximized and closed separately. In this way, the operation is cumbersome when operating multiple windows, which reduces the user experience.
[0111] When performing a stitching operation on the picture windows of the gallery application, the picture window 105 can be used as the second window, and the picture window 104 can be used as the first window. Figure 5B or Fig. 5F The splicing operation is performed in a similar manner as shown, thereby realizing the splicing of the picture window 104 and the picture window 105 and operating the spliced windows.
[0112] Furthermore, the window management method provided in some embodiments of the present application is not only applicable to the splicing of two windows. It can also realize the splicing of more than two windows. Take three windows as an example (which can be the same as the above Figure 5H and Fig.5I (reference each other), after window 104 and window 105 are spliced, when the left edge of the third window is close to the right edge of window 105 and the distance between the two does not exceed the distance threshold D, the third window, window 105 and window 104 are spliced to form an integral window. After two or more windows are spliced, the spliced windows can be minimized, maximized, closed, moved, etc. When any operation is performed on any window in the spliced windows, all the spliced windows can simultaneously feedback the operation. In this way, only one of the spliced windows needs to be operated to realize the simultaneous operation of multiple windows, which is simple to operate and improves the user experience.
[0113] By applying the window management method provided in the embodiment of the present application to a window of window splicing, simultaneous operation of multiple windows can be achieved, avoiding the problem of cumbersome operation caused by the user performing independent operation on each single window, and improving the user experience.
[0114] After the windows are spliced, if the user needs to perform independent operations on any of the spliced windows, the user needs to separate the spliced windows. The embodiment of the present application provides a window management method applied to the application scenario of window separation. Specifically: the user separates the new window formed by splicing in a manner other than but not limited to double-clicking the title bar of the spliced window or the blank area of the spliced window with the mouse 20. Among them, the title bar and the blank area of the spliced window can be referred to as the first target area of the spliced window. In addition, the first target area can also be other areas of the spliced window, etc., which is not limited in the embodiment of the present application. Taking window 101 and window 100 as an example, window 100 and window 101 are spliced to form the following. Fig. 7A The new window 102 is shown in FIG. 1 . The user controls the mouse 20 to move and double-clicks the title bar of the window 100 in the new window 102 using the cursor 103 (as an example of the third operation, where the title bar is an example of the first target area). The window 100 and the window 101 are separated, forming the following example. Figure 7B It is understood that the sizes of the separated windows 100 and 101 can be restored to be consistent with the sizes of the windows 100 and 101 in the spliced window 102, that is, Figure 7B The sizes of the windows 100 and 101 are shown in the example. The sizes of the windows can also be automatically adjusted to any value (for example, the sizes of the separated windows 100 and 101 can be adjusted to be inconsistent), such as Figure 7C As shown in , after the window 100 and the window 101 in the spliced window 102 are separated, the size of the separated window 100 is larger than the size of the window 101 .
[0115] In this way, by applying the window management method of the embodiment of the present application to the scenario of window separation, the user can freely choose to operate the windows simultaneously or independently, thereby facilitating the user to choose the appropriate operation method in different scenarios and improving the user experience.
[0116] The window management method provided in the embodiment of the present application is also applicable to the application scenario of dual opening of applications. Fig. 8A , Fig. 8A A schematic diagram of a window management method provided in an embodiment of the present application applied to an application scenario where two applications are opened at the same time. Fig. 8A A picture window 106 of the user gallery application is shown in FIG.
[0117] The picture window 106 includes but is not limited to a title bar 1000 and a picture display area 1001. The title bar 1000 may include picture editing functions, detailed information of the picture (such as shooting time and location, etc.), minimize 10000, maximize 10001 and close 10002, etc. The picture display area 1001 is used to display pictures. Figure 8B As shown, the user uses an operation method not limited to double-clicking the mouse 20 to control the cursor 103 to click the title bar 1000 of the picture window 106 (as an example of the fourth operation, where the title bar is an example of the second target area). At this time, the picture window 106 opens a new picture window 107 (or it can be called that the computer 10 creates a new picture window 107) to form Figure 8C The content displayed in the title bar and the picture display area of the picture window 107 can be exactly the same as that of the picture window 106, and the picture window 107 can also display other pictures. The embodiment of the present application does not limit the displayable content of the picture window 107.
[0118] In addition, the size of the newly opened picture window 107 can be the same as the size of the picture window 106, or can be adjusted to a size different from the size of the picture window 106, which is not limited in the present embodiment. FIG. 5B to FIG. 5J as well as FIG. 7A to FIG. 7C The executed operations present similar effects, that is, operations such as splicing and splitting are performed on the newly opened picture window 106 and the picture window 107. Further, for the spliced windows, when the user double-clicks any window in the spliced windows, the double-clicked window can be split into a new window, that is, it can be considered as a new window, so that the user can perform separate operations on the new window.
[0119] The window management method provided in the embodiment of the present application is also applied to the application scenario of closing the window. Fig. 9A Take the displayed picture window 104 and picture window 105 as an example. When the user wants to close any one of the two windows, the user can drag any one of the two windows so that the position between the two windows is in a predetermined position state (i.e., the second position state). When the position relationship between the two windows is in the predetermined position state, the closing of any one of the two windows is triggered.
[0120] Take closing the picture window 104 (as the first window) as an example, see Fig. 9BThe user can use the mouse 20 to move the cursor 103 and drag the picture window 105 (as the second window) so that the position relationship between the picture window 105 and the picture window 104 is in a predetermined position state. When the position relationship between the picture window 105 and the picture window 104 is in a predetermined position state, the window 104 is closed. Among them, the predetermined position state includes but is not limited to the left edge of the picture window 105 being aligned with the left edge of the picture window 104, the bottom edge of the picture window 105 being aligned with the bottom edge of the picture window 104, the ratio of the overlapping area of the picture window 105 and the picture window 104 reaching a preset value (the preset value can be set to any value such as 100%, 80%, etc.); among them, the ratio of the overlapping area refers to the ratio of the overlapping area of the window 105 and the window 104 to the area of the smaller window of the two windows. Of course, the ratio of the overlapping area can also refer to the ratio of the overlapping area of the window 105 and the window 104 to the area of the larger window of the two windows. The preset value can be set according to actual conditions and different scenarios. The definition of the size of the preset value and the ratio of the overlapping area in the embodiment of the present application is not limited here.
[0121] like Fig. 9B As shown, the user uses the mouse 20 to move the cursor 103 and drag the picture window 105 so that the left edge of the picture window 105 is aligned with the left edge of the picture window 104. After the user releases the mouse 20, the picture window 104 is deleted. Fig. 9C It is understood that when closing the picture window 104, the picture window 104 can also be used as the second window, and the picture window 104 can be dragged so that the positional relationship between the picture window 104 and the picture window 105 is in a predetermined state, thereby closing the picture window 104.
[0122] Furthermore, the window closing operation method provided in the embodiment of the present application can not only close the windows of the same application, but also close the windows of different applications. For example, by moving a picture window so that the position relationship between the picture window and the word document window of the word document application satisfies a predetermined position state, either the picture window or the word document window can be closed.
[0123] Furthermore, the operation method of closing a window provided in the embodiment of the present application can also be used for Figure 5C The window 101 and the window 100 are automatically spliced to form the following: Figure 5C The new window 102 after splicing is shown to be used for dragging the third window so that when the position relationship between the third window and the new window 102 after splicing is in a predetermined position state, the new window 102 after splicing is closed.
[0124] When the window management method provided by the embodiment of the present application is applied to the application scenario of closing windows, one window can be moved while another window is closed, thus avoiding the user from moving or closing windows separately. The window operation efficiency is high, and the user experience is improved.
[0125] In the present application, when the computer 10 displays the spliced window, the size of the spliced window can be determined according to the size of the window before splicing, the screen size of the computer 10, the current screen control and other information. When the computer 10 displays the separated window, the size of the window before splicing, the screen size of the computer 10, the current screen control and other information can also be used to determine the size of the separated window.
[0126] In the present application, the computer 10 may default to the window moved by the user (such as the aforementioned window 101) as the operated window, and the window not moved by the user as the target window (such as the aforementioned window 100), so that the spliced window 101 is consistent with the window 100. Or the aforementioned picture window 105 moved by the user may be closed, etc. It can be set as needed.
[0127] In the present application, the window displayed by the aforementioned computer 10 may also be a window projected from the mobile phone 30 to the computer 10. For example, after the mobile phone 30 establishes a communication connection with the computer 10, the mobile phone 30 sends its own display interface data to the computer 10, and the computer 10 displays the window according to the display interface data. The display interface data may be interface data corresponding to applications such as social applications and browsers in the mobile phone 30, or other interface data of the mobile phone 30.
[0128] In this implementation, when the computer 10 performs window splicing, the size of the new window after splicing can be determined as a preset size according to the screen size of the computer 10, the screen space, and at least one of the size of the window 100 and the size of the window 101, so as to facilitate the computer 10 to perform a reasonable splicing operation. The preset size can be, for example, one-third of the screen size of the computer 10, or one-third of the current screen space of the computer 10, or the size of the window 100, or the size of the window 101, etc., which can be set as needed.
[0129] When the computer 10 separates a window or opens multiple windows, the size of the new window can also be determined based on the screen size of the computer 10, the screen space, and at least one of the sizes of the window 100 and the window 101, which can be set as needed.
[0130] The window management method provided in the present application is applied to the scenario of multiple windows. The computer 10 can realize control operations such as splicing, splitting, closing, overall adjustment of window size, and overall control of window sliding of multiple windows according to the user's operations. It can also realize operations such as opening multiple windows of the same application, which is convenient for users to manage windows and effectively improves the user experience.
[0131] The specific implementation process of a window management method provided by an embodiment of the present application is described below with reference to the accompanying drawings.
[0132] against FIG. 5A to FIG. 5J The application scenarios of window stitching shown are:
[0133] See also Fig.10 , Fig.10 This is a schematic diagram of a specific implementation process of window splicing provided by an embodiment of the present application. In the implementation of window splicing, participants include but are not limited to users, input devices, processors, operating systems, and window display management layers, etc. Specifically, it includes steps S10 to S15.
[0134] Step S10: The user clicks on a window displayed on the screen of the computer 10 and moves it. The user can click on the window on the screen through an input device such as a mouse 20 or a keyboard. After the user clicks on the window, the clicked window is indicated as a window to be moved, for example Figure 5B Window 101 shown in FIG.
[0135] Step S11: After the input device such as the mouse 20 is clicked by the user, an operation instruction is sent to the processor. The operation instruction is an instruction to move the window. It includes the operation method of the window and the window information of the window clicked by the user (such as the window name, position, etc.).
[0136] Step S12: The processor converts the operation instruction and sends it to the operating system. The instruction conversion specifically involves the processor converting the operation instruction into an instruction that can be recognized by the operating system. Taking the operation instruction as an instruction to move a window as an example, the processor converts the instruction to move the window into a computer instruction that can be recognized by the operating system, that is, converts the instruction to move the window into a move event, so that it can be recognized by the operating system.
[0137] Step S13: After receiving the converted instruction, the operating system determines whether the window currently clicked by the user can be moved. Specifically, the operating system determines whether the window currently clicked by the user is locked (i.e., whether the window information of the window contains a lock mark). If it is locked, it means that the window currently clicked by the user cannot be moved. If it is not locked, it means that the window currently clicked by the user can be moved, and the operating system determines that the window can be moved.
[0138] Step S14: the operating system triggers the window to move. Specifically, as the user manipulates the mouse 20 to move the window, the operating system controls the window display management layer to perform an operation on the window based on the operation instruction, such as triggering the window to move.
[0139] Step S15: The window display management layer moves the window according to the operating instruction of the operating system, and determines whether the distance between the window clicked by the user and other windows is less than or equal to the distance threshold. If it is less than or equal to the distance threshold, the first window (such as the first window in the other windows) whose distance to the window clicked by the user is less than or equal to the distance threshold is triggered. Figure 5B 100 shown in the figure) to perform window splicing and display the spliced window. Specifically, in other windows, when there is more than one window whose distance between the window clicked by the user and other windows is less than or equal to the distance threshold, a window closest to the window clicked by the user can be selected from other windows as the first window. When the spacings are all less than or equal to the distance threshold and the spacings are the same, a window can be arbitrarily selected as the first window. For example, in other windows, there are window 1 and window 2 whose spacings with the window clicked by the user are both less than the threshold, but the spacing between window 1 and the window clicked by the user is less than the spacing between window 2 and the window clicked by the user, then window 1 is selected as the first window to be spliced with the window clicked by the user.
[0140] Furthermore, the operating system may use the distance between the left edge of the window clicked by the user and the right edge of other windows as a basis for judgment. Alternatively, the operating system may use the distance between the top edge of the window clicked by the user and the bottom edge of other windows as a basis for judgment. The embodiments of the present application are not limited here.
[0141] The window display management layer displays the splicing window (for example Figure 5C Specifically, there may be multiple display strategies for the window display management layer, including but not limited to: the size of the spliced window is the same as the size of any window in the spliced window, the size of the spliced window is the superposition value of the sizes of multiple windows in the spliced window, or the size of the spliced window is adjusted to an arbitrary value, etc. The embodiment of the present application does not limit the display size of the spliced window.
[0142] The window management method provided in some embodiments of the present application is not only applicable to the splicing of two windows. It can also realize the splicing of more than two windows. After the splicing of more than two windows is completed, the spliced windows can be minimized, maximized, closed, and moved. When any operation is performed on any window in the spliced windows, all the spliced windows can feedback the operation at the same time. In this way, it is only necessary to operate one of the spliced windows to realize the simultaneous operation of multiple windows, which is simple to operate and improves the user experience.
[0143] It should be noted that in the above step S15, the operating system may also perform operations such as determining whether the distance between the window clicked by the user and other windows is less than or equal to the distance threshold, and determining the window splicing method, and then the operating system controls the window display management layer to splice the windows and display the spliced windows, which can be set as needed. Alternatively, the processor may perform operations such as determining whether the distance between the window clicked by the user and other windows is less than or equal to the distance threshold, and determining the window splicing method, and then the processor controls the operating system to control the window display management layer to splice the windows and display the spliced windows, which can be set as needed.
[0144] against FIG. 7A to FIG. 7B The application scenario of window separation shown:
[0145] See also Fig.11 , Fig.11 This is a schematic diagram of a specific implementation process of window separation provided by an embodiment of the present application. In the implementation of window separation, participants include but are not limited to users, input devices, processors, operating systems, and window display management layers, etc. Specifically, it includes steps S20 to S25.
[0146] Step S20: The user double-clicks the title bar of the splicing window. Fig. 7A Specifically, the user can double-click (eg, Fig. 7A In addition, the user can also double-click the blank area of the spliced window to trigger the window separation, which is not limited in the embodiment of the present application.
[0147] Step S21: The input device sends an operation instruction to the processor, wherein the operation instruction is an instruction for separating the spliced window, which includes the operation method for the spliced window and the window information (such as window name, position, etc.) of the spliced window clicked by the user.
[0148] Step S22: The processor converts the operation instruction and sends it to the operating system, wherein the instruction conversion specifically involves the processor converting the operation instruction into an instruction that can be recognized by the operating system.
[0149] Step S23: After receiving the instruction, the operating system determines whether the window currently clicked by the user can be separated. If it is determined that it can be separated, the window is prepared to be separated. If it cannot be separated, the spliced window is still displayed. Among them, whether the window can be separated can be determined by whether the window is locked. If it is locked, it means that the window cannot be separated. If it is not locked, it means that the window can be separated. When the window can be separated, enter step S24.
[0150] Step S24: the operating system triggers the window separation. Specifically, when the user double-clicks the window with the mouse 20, the operating system controls the window display management layer based on the operation instruction to trigger the window separation.
[0151] Step S25: The window display management layer separates the window and displays or displays the separated window on the screen (eg Figure 7B As shown). The size of any window after separation can be consistent with the size of the corresponding window in the spliced window. Of course, the size of the window can also be automatically adjusted to any value (such as the size of the separated window is larger than the size of the corresponding window in the spliced window), which is not limited in the embodiment of the present application.
[0152] In this way, by applying the window management method of the embodiment of the present application to the scenario of window separation, the user can freely choose to operate the windows simultaneously or independently, thereby facilitating the user to choose the appropriate operation method in different scenarios and improving the user experience.
[0153] against FIG. 8A to FIG. 8C The application scenario of dual opening of apps shown:
[0154] See also Fig.12 , Fig.12 The following is a schematic diagram of a specific implementation process of dual application opening provided in an embodiment of the present application. In the implementation of dual application opening, participants include but are not limited to users, input devices, processors, operating systems, and window display management layers, etc. Specifically, steps S30 to S34 are included.
[0155] Step S30: The user double-clicks the second target area of the current window. This causes the current window to open another window. Specifically, the user can double-click using the mouse 20 or keyboard as an input device (such as Figure 8B As shown), the second target area may be a title bar or a blank area in the current window.
[0156] Step S31: The input device sends an operation instruction to the processor. The operation instruction is an instruction to double-click a window to trigger a dual-opening of an application. It includes the operation method of the window and the window information of the window clicked by the user (such as the window name, position, etc.).
[0157] Step S32: The processor converts the operation instruction and sends it to the operating system, wherein the instruction conversion specifically involves the processor converting the operation instruction into an instruction that can be recognized by the operating system.
[0158] Step S33: After receiving the instruction, the operating system determines to trigger opening a new window, and executes S34.
[0159] Step S34: the operating system triggers a new window to be opened. Specifically, when the user double-clicks the window with the mouse 20, the operating system controls the window display management layer based on the operation instruction to trigger a new window to be opened.
[0160] Step S35: A new window is opened in the window display management layer and displayed or presented on the screen (eg Figure 8C Specifically, the newly opened window may display the same content as the current window, and the present embodiment of the application does not limit the display content of the newly opened window. In addition, the size of the newly opened window may be the same as the size of the current window, or may be adjusted to be different from the size of the current window, and the present embodiment of the application does not limit it.
[0161] By opening two application windows at the same time, users can view different information of the same application at the same time, which improves the user experience.
[0162] against FIG. 9A to FIG. 9B The application scenario of dual opening of apps shown:
[0163] See also Fig.13 , Fig.13 This is a schematic diagram of a specific implementation process of closing a window provided in an embodiment of the present application. In the implementation of closing a window, participants include but are not limited to a user, an input device, a processor, an operating system, and a window display management layer, etc. Specifically, it includes steps S40 to S44.
[0164] Step S40: The user moves window 2 close to window 1, so that the left edge of window 2 is aligned with the left edge of window 1, triggering the closing of window 1 (such as Fig. 9B Specifically, the user can move the window by using the mouse 20 or the keyboard as an input device.
[0165] Step S41: The input device sends an operation instruction to the processor. The operation instruction is an instruction to move a window to trigger the closing of the window. It includes the operation method of the window and the window information of the window moved by the user (such as the window name, position, etc.).
[0166] Step S42: The processor converts the operation instruction and sends it to the operating system, wherein the instruction conversion specifically involves the processor converting the operation instruction into an instruction that can be recognized by the operating system.
[0167] Step S43: After receiving the instruction, the operating system determines to close the window 1, and executes S44.
[0168] Step S44: the operating system triggers the window to close. Specifically, as the user double-clicks the window with the mouse 20, the operating system controls the window display management layer based on the operation instruction to trigger the window to close.
[0169] Step S45: The window display management layer closes window 1 and only displays window 2 on the screen (eg Fig. 9C shown).
[0170] Furthermore, the window closing operation method provided in the embodiment of the present application can not only close the windows of the same application, but also close the windows of different applications. For example, by moving a picture window so that the positional relationship between the picture window and the word document window of a word document application meets a predetermined state, either the picture window or the word document window can be closed.
[0171] Furthermore, the operation method of closing a window provided in the embodiment of the present application can also be used for Figure 5C The window 101 and the window 100 are automatically spliced to form the following: Figure 5C The new window 102 after splicing is shown to be used for dragging the third window so that when the positional relationship between the third window and the new window 102 after splicing is in a predetermined state, the new window 102 after splicing is closed.
[0172] When the window management method provided by the embodiment of the present application is applied to the application scenario of closing windows, one window can be moved while another window is closed, thereby realizing batch operation of windows. This avoids the user from moving or closing windows individually. The window operation efficiency is high, which improves the user experience.
[0173] It should be noted that in this implementation, the input device, processor, operating system, and window display management layer can cooperate with each other to implement operations such as window splicing, separation, closing, and dual application opening, and the operations performed by each part can be specifically set as needed.
[0174] Another specific implementation process of a window management method provided by an embodiment of the present application is described below in conjunction with the accompanying drawings.
[0175] against FIG. 5A to FIG. 9C The application scenario of window management shown:
[0176] See also Fig.14 , Fig.14 Another specific implementation process diagram of a window management method provided in an embodiment of the present application is applied to the window display management layer of the computer 10, specifically including steps S100 to S105.
[0177] Step S100: The View display layer in the window display management layer of the computer 10 monitors the user's window operation events. In the embodiment of the present application, the window operation events include the removal of the opened window when closing the application, the addition of the opened window when starting the application, the splicing of multiple windows, the separation of windows, the closing of windows, the dual opening of applications, and the scaling of windows. The user can click or move the window on the screen through input devices such as the mouse 20 and the keyboard. Figure 5B and Figure 6 The window stitching shown, Figure 7A-7C The window shown is separated, Figure 8B and Figure 8C The application shown is double opened and Figure 9A-9C The window shown closes, etc.
[0178] Step S101: Window management and stack management manage windows according to the types of events of window operation monitored.
[0179] Step S102: Surface management manages the Surface area of the spliced window and displays it by the window display management layer.
[0180] The type of event for the operation window is the splicing window:
[0181] The View display layer monitors windows operated by users.
[0182] The window management determines whether the window operated by the user monitored by the View display layer can be moved. If it can be moved, the window management triggers the View display layer to move the window operated by the user monitored by the View display layer.
[0183] The window management determines whether the distance between the window operated by the user and other windows monitored by the View display layer is less than the threshold. If it is less than the threshold, the window display management layer triggers window splicing. Specifically, among other windows, when there are more than one window whose distance from the window clicked by the user to other windows is less than the distance threshold, the window management can select a window closest to the window clicked by the user from other windows as the first window. When the distances are all less than the threshold and the distances are the same, the window management can arbitrarily select a window as the first window.
[0184] The stack management splices the stack of the first window to be spliced and the stack of the window operated by the user, and the spliced window operated by the user and the first window can be popped out of the stack at the same time so as to be displayed on the display screen of the electronic device at the same time. When the stack of the first window and the stack of the window operated by the user are spliced together, the stack management can destroy the stack of the window operated by the user, and the stack management can widen the width of the stack of the first window. The widened stack contains all windows of the application corresponding to the first window and the window operated by the user displayed on the display screen of the electronic device.
[0185] The View display layer then passes the monitored user operation window events to the underlying Surface management. The Surface management displays the Surface area of the spliced window in the stack management, thereby presenting the spliced window on the screen.
[0186] The type of event for the operation window is detach window:
[0187] The window management determines whether the spliced window operated by the user monitored by the View display layer can be separated. If it can be separated, the window management triggers the separation of the window operated by the user monitored by the View display layer.
[0188] The stack manager will restart a stack, which is used to carry one of the separated windows of the spliced window. The stack of the spliced window is used to carry another window in the spliced window.
[0189] The View display layer then passes the monitored user window operation events to the underlying Surface management. The Surface management displays the Surface areas of the windows in the two stacks in the stack management, thereby presenting the separated windows on the screen.
[0190] The event type for the operation window is double-opening of the application:
[0191] The View display layer monitors the window operated by the user. The window operated by the user is the second target area of the double-clicked window, indicating that the application is dual-opened.
[0192] Window Management Open a new window.
[0193] When the window manager opens a new window, the stack manager triggers a new stack to be created, which is used to carry the new window. With the new stack carrying the new window, the user can perform different operations on the two windows, and correspondingly, the two windows will also display different operation results at the same time.
[0194] The View display layer then passes the monitored user window operation events to the underlying Surface management. The Surface management displays the Surface area of the windows carried by the two stacks in the stack management, thereby presenting the two windows of the dual-opened application on the screen.
[0195] The type of event for the operation window is closing the window:
[0196] The View display layer monitors the window operated by the user. The monitored window operated by the user moves so that the position relationship with other windows is in a first state. The first state may include but is not limited to the left edge of the window operated by the user being aligned with the left edge of other windows.
[0197] The window management closes the window operated by the user or other windows whose positional relationship with the window operated by the user is in a first state.
[0198] The stack manager destroys the stack information of the closed window.
[0199] The View display layer then passes the monitored user window operation events to the underlying Surface management. The Surface management displays the Surface area of the window in the stack of unclosed windows in the stack management, thereby presenting the unclosed window on the screen.
[0200] In this way, the window management method provided by the present application is easy to operate and convenient for users to manage multiple windows at the same time, thereby improving the user experience.
[0201] This application also provides a window management method, and the computer 10 can realize window splicing. Fig.15 , the method comprises the following steps:
[0202] S311, the computer 10 displays as follows Figure 5A Window 100 and window 101 are shown.
[0203] S312 , the computer 10 receives a user's operation of moving the window 101 through the mouse 20 .
[0204] In step S313, the computer 10 determines the real-time position status between the window 101 and the window 100. If the computer 10 determines that the distance between the window 101 and the window 100 is less than or equal to the aforementioned distance threshold D, and the window 101 and the window 100 do not overlap, the computer 10 executes step S314. If the computer 10 determines that the distance between the window 101 and the window 100 is greater than the aforementioned distance threshold D, the computer 10 executes step S315.
[0205] S314, the computer 10 performs a splicing operation on the window 101 and the window 100, so that the window 101 and the window 100 are automatically spliced to form a window as shown in FIG. Figure 5C The new spliced window 102 after splicing is shown.
[0206] S315, computer 10 does not perform a splicing operation on window 100 and window 101, and displays window 100 and window 101 respectively according to the positions after window 101 is moved.
[0207] Through this implementation, computer 10 can easily realize the splicing of window 100 and window 101, so that the user can move, close, enlarge, reduce and other operations on the spliced window 100 and window 101 as a whole, which can effectively improve the user experience.
[0208] This application also provides a window management method, and the computer 10 can separate windows. Fig.16 , the method comprises the following steps:
[0209] S321, the computer 10 displays as follows Fig. 7A Window 102 is shown, and window 102 includes window 100 and window 101 .
[0210] S322 , the computer 10 receives a double-click operation of the user on the title bar of the window 101 through the mouse 20 .
[0211] S323, the computer 10 performs a separation operation on the window 102, so that the window 102 is automatically separated to form Figure 7B or Figure 7C Window 101 and window 100 are shown.
[0212] Through this implementation, the computer 10 can easily separate windows so that the user can individually control or operate each window as needed, which can effectively improve the user experience.
[0213] The present application also provides a window management method, whereby the computer 10 can realize dual opening of application windows. Fig.17 , the method comprises the following steps:
[0214] S331, the computer 10 displays Fig. 8A Picture window 106 is shown.
[0215] S332, the computer 10 receives Figure 8B The user is shown double-clicking the title bar 1000 of the picture window 106 using the mouse 20 .
[0216] S333, the computer 10 opens a window identical to the picture window 106, forming a Figure 8C Picture window 107 is shown.
[0217] Through this implementation, the computer 10 can conveniently open multiple windows of the same application, so that the user can compare two pictures through the picture window 106 and the picture window 107, etc., which can effectively improve the user experience.
[0218] This application also provides a window management method, and the computer 10 can close the window. Fig.18 , the method comprises the following steps:
[0219] S341, the computer 10 displays as follows Fig. 9A Picture window 104 and picture window 105 are shown.
[0220] S342, the computer 10 receives the user's operation of moving the image window 105 through the mouse 20.
[0221] S343, the computer 10 determines the real-time position status between the picture window 104 and the picture window 105. If the computer 10 determines that the picture window 105 overlaps with the picture window 104, and the left edge of the window 105 is aligned with the left edge of the picture window 104, the computer 10 executes S344. If the computer 10 determines that the picture window 105 overlaps with the picture window 104, and the left edge of the picture window 105 is not aligned with the left edge of the picture window 104, the computer 10 executes S345.
[0222] S344, the computer 10 closes the picture window 104 and only displays the Fig. 9C Picture window 105 is shown.
[0223] S345, the computer 10 does not close the picture window 104, that is, the computer 10 displays the picture window 105 and the picture window 104 overlappingly according to the positions after the picture window 105 is moved.
[0224] Through this implementation, the computer 10 can conveniently implement the operation of closing the window, which can effectively improve the user experience.
[0225] In some embodiments of the present application, an electronic device is also provided. Fig.19 The electronic device in the embodiment of the present application is introduced. Fig.19 A schematic diagram of the structure of an electronic device disclosed in an embodiment of the present application.
[0226] For at least one embodiment, the controller hub 804 communicates with the processor 801 via a multi-drop bus such as a front-side bus (FSB), a point-to-point interface such as a QuickPath Interconnect (QPI), or a similar connection. The processor 801 executes instructions that control general types of data processing operations. In one embodiment, the controller hub 804 includes, but is not limited to, a graphics memory controller hub (GMCH) (not shown) and an input / output hub (IOH) (which can be on a separate chip) (not shown), wherein the GMCH includes memory and a graphics controller and is coupled to the IOH.
[0227] The electronic device 800 may also include a coprocessor 806 and a memory 802 coupled to the controller hub 804. Alternatively, one or both of the memory 802 and the GMCH may be integrated within the processor 801 (as described in this application), with the memory 802 and the coprocessor 806 being directly coupled to the processor 801 and the controller hub 804, with the controller hub 804 being in a single chip with the IOH.
[0228] In one embodiment, the memory 802 may be, for example, a dynamic random access memory (DRAM), a phase change memory (PCM), or a combination of the two. The memory 802 may include one or more tangible, non-transitory computer-readable storage media for storing data and / or instructions. The computer-readable storage medium stores instructions, specifically, temporary and permanent copies of the instructions.
[0229] In one embodiment, coprocessor 806 is a special purpose processor, such as, for example, a high throughput MIC processor, a network or communication processor, a compression engine, a graphics processor, a GPU, or an embedded processor, etc. The optional nature of coprocessor 806 is indicated by dashed lines in FIG. Fig.19 middle.
[0230] In one embodiment, the electronic device 800 may further include a network interface (NIC) 803. The network interface 803 may include a transceiver for providing a radio interface for the device 800 to communicate with any other suitable device (such as a front-end module, an antenna, etc.). In various embodiments, the network interface 803 may be integrated with other components of the electronic device 800. The network interface 803 may implement the functions of the communication unit in the above-mentioned embodiments.
[0231] In one embodiment, Fig.19 As shown, the electronic device 800 may further include an input / output (I / O) device 805. The input / output (I / O) device 805 may include: a user interface designed to enable a user to interact with the electronic device 800; a peripheral component interface designed to enable peripheral components to interact with the electronic device 800; and / or a sensor designed to determine environmental conditions and / or location information related to the electronic device 800.
[0232] It is worth noting that Fig.19 This is for illustrative purposes only. Fig.19 It is shown that the electronic device 800 includes multiple devices such as a processor 801, a controller hub 804, and a memory 802. However, in actual applications, the devices using the methods of the present application may only include a part of the devices of the electronic device 800, for example, it may only include the processor 801 and the NIC 803. Fig.19 The properties of optional devices are shown with dotted lines.
[0233] In some embodiments of the present application, the instructions stored in the computer-readable storage medium of the electronic device 800 may include: instructions that, when executed by at least one unit in the processor, cause the device to implement the window management method mentioned in the above embodiment. When the instructions are executed on the computer, the computer executes the window management method mentioned in the above embodiment.
[0234] Reference now Fig. 20 , Fig. 20 The structure diagram of a SOC disclosed in an embodiment of the present application is a block diagram of an SoC (System on Chip) 1000 according to an example of an embodiment of the present application. Fig. 20 In the figure, similar components have the same reference numerals. In addition, the dotted box is an optional feature of a more advanced SoC. The SoC can be used in an electronic device according to an embodiment of the present application, and corresponding functions can be implemented according to the instructions stored therein.
[0235] exist Fig. 20 In the embodiment, SoC 1000 includes: an interconnect unit 1002, which is coupled to a processor 1001; a system agent unit 1006; a bus controller unit 1005; an integrated memory controller unit 1003; a group or one or more coprocessors 1007, which may include integrated graphics logic, an image processor, an audio processor, and a video processor; a static random access memory (SRAM) unit 1008; and a direct memory access (DMA) unit 1004. In one embodiment, the coprocessor 1007 includes a special-purpose processor, such as, for example, a network or communication processor, a compression engine, a GPGPU, a high-throughput MIC processor, or an embedded processor.
[0236] The static random access memory (SRAM) unit 1008 may include one or more computer-readable storage media for storing data and / or instructions. The computer-readable storage medium may store instructions, and more specifically, temporary and permanent copies of the instructions.
[0237] When SoC1000 is applied to an electronic device according to the present application, the instructions stored in the computer-readable storage medium may include: instructions that, when executed by at least one unit in the processor, cause the electronic device to implement the window management method mentioned in the above embodiment. When the instructions are executed on a computer, the computer executes the window management method mentioned in the above embodiment.
[0238] In addition, an embodiment of the present application further discloses a computer-readable storage medium, on which a processing program is stored. When the processing program is executed by a processor, the window management method mentioned in the above embodiment is implemented.
[0239] The computer-readable storage medium may be a read-only memory, a random access memory, a hard disk, or an optical disk.
Claims
1. A window management method, used in a first electronic device, wherein at least a first window and a second window are displayed on the first electronic device, characterized in that: The method comprises: receiving a first operation of a user on at least one of the first window and the second window, wherein the first operation is an operation for changing a position state between the first window and the second window; In response to the first operation, determining the position state between the first window and the second window, and if the first window and the second window are in the first position state, performing a splicing operation on the first window and the second window to form a spliced window; If the first window and the second window are in a second position state, close the first window and the second window, wherein the second position state is that one side edge of the first window at least partially overlaps with one side edge of the second window, or the overlapping area of the second window and the first window is greater than or equal to a preset value.
2. The window management method according to claim 1, characterized in that: The method further comprises: receiving a second operation of the user on the splicing window, where the second operation is an operation for controlling the splicing window as a whole; In response to the second operation, a feedback operation corresponding to the second operation is performed on the first window and the second window included in the spliced window respectively.
3. The window management method according to claim 1 or 2, characterized in that: The method further comprises: receiving a third operation of the user on the spliced window, wherein the third operation is an operation for separating the spliced window; In response to the third operation, the first window and the second window included in the spliced window are separated.
4. The window management method according to claim 1, characterized in that: At least one of the first window and the second window is a window generated by the first electronic device according to screen display data sent from the second electronic device.
5. The window management method according to claim 1, characterized in that: At least one of the first window and the second window is a window corresponding to an application on the first electronic device.
6. The window management method according to claim 1, characterized in that: The second window is a window corresponding to the first window generated when the first electronic device receives a fourth operation of the user on the first window, and the fourth operation is an operation for creating a new window.
7. The window management method according to claim 1, characterized in that: The first position state is that the first window and the second window do not overlap, and a distance between an edge of one side of the first window and an edge of one side of the second window is less than or equal to a preset distance threshold.
8. The window management method according to claim 1, characterized in that: Performing a splicing operation on the first window and the second window to form a spliced window includes: If the sizes of the first window and the second window are the same, directly splicing the first window and the second window to form the spliced window; If the sizes of the first window and the second window are inconsistent, the size of the first window is adjusted to be consistent with the size of the second window to form the spliced window, or the size of the second window is adjusted to be consistent with the size of the first window to form the spliced window, or the size of the first window and the size of the second window are adjusted to preset sizes at the same time to form the spliced window.
9. The window management method according to claim 1, characterized in that: Performing a splicing operation on the first window and the second window to form a spliced window includes: The first window and the second window are reduced respectively, so that the size of the formed spliced window is consistent with the original size of the first window or the original size of the second window.
10. The window management method according to claim 1, characterized in that: The first operation is an operation of moving a window.
11. The window management method according to claim 2, characterized in that: The second operation includes any one of the following operations: Enlarge the window operation; Operation to reduce the window; Close the window operation; Move the window operation.
12. The window management method according to claim 3, characterized in that: The third operation is a double-click operation on the first target area of the splicing window.
13. The window management method according to claim 6, characterized in that: The fourth operation is a double-click operation on the second target area of the first window.
14. An electronic device, characterized in that: include: A memory, the memory being used to store a computer program, wherein the computer program includes program instructions; A processor, wherein the processor is used to execute program instructions so that the electronic device executes the window management method according to any one of claims 1 to 13.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, wherein the computer program includes program instructions, and the program instructions are executed by a computer to enable the electronic device to execute the window management method according to any one of claims 1 to 13.
Citation Information
Patent Citations
Image display system and method
CN101036147A
Workspace management method, workspace management system, and computer readable medium
KR1020100056594A