Information processing device and control method
The information processing device addresses window rearrangement issues during screen mode changes by storing window positions and Z-order information, ensuring neat and functional display arrangements.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-08-28
- Publication Date
- 2026-03-12
AI Technical Summary
When switching between full-screen and half-screen modes, the display resolution changes, causing the OS to improperly rearrange windows, leading to poor appearance and user inconvenience due to lack of Z-order information for window positioning.
An information processing device and method that temporarily stores window positions and Z-order information, allowing controlled rearrangement of windows based on this data during screen layout changes.
Ensures proper window arrangement during screen layout changes, maintaining a neat and functional display appearance.
Smart Images

Figure 2026043500000001_ABST
Abstract
Description
[Technical Field]
[0001] The present invention relates to an information processing device and a control method. [Background technology]
[0002] In recent years, information processing devices have been disclosed in which a foldable flexible display (display unit) is provided across a first housing and a second housing so as to be bendable in response to rotation of the first housing and the second housing (see, for example, Patent Document 1). When one display is provided across the first housing and the second housing in this manner, it is possible to use not only a single-screen mode in which the entire screen area of the single display is used as a single display area, but also a pseudo-dual-screen mode in which the screen area of the single display is divided into two screen areas, one on the first housing side and the other on the second housing side, as display areas.
[0003] Furthermore, when a single display is provided across the first and second housings in this manner, it is common for the display to be configured as a touch panel without a physical keyboard. However, Patent Document 1 also discloses an example in which an external keyboard is placed on top of the screen area on the second housing side, and a half-screen mode is set up in which the display is only on the screen area on the first housing side, allowing the display to be used in the same manner as a notebook PC (Personal Computer) equipped with a physical keyboard. [Prior art documents] [Patent documents]
[0004] [Patent Document 1] Patent No. 7440672 Summary of the Invention [Problem to be solved by the invention]
[0005] When switching from full-screen mode to half-screen mode, the screen area is halved, and the display resolution changes. When the display resolution changes, the OS (Operating System) rearranges the windows of displayed applications. For example, when switching from full-screen mode to half-screen mode, the OS rearranges the positions of windows that were displayed in the screen area of the display in full-screen mode to the half screen area on the first housing side. However, the OS rarely remembers the positions of windows in full-screen mode. Therefore, even if you switch back to full-screen mode after switching to half-screen mode, the windows will remain positioned to one side of the half screen area, and you will have to manually return them to their original positions.
[0006] One way to address this issue is to have a process separate from the OS process remember the window positions in single-screen mode, and then when switching from half-screen mode to single-screen mode, have the windows repositioned to their original positions in single-screen mode, allowing the OS to recognize the window positions in single-screen mode. In this case, if the foreground window can be placed first according to the Z order, other windows placed later will likely be hidden by the foreground window and will not stand out. However, because the OS does not provide information about the Z order of the windows, it is not always possible to place the foreground window first when repositioning windows to their original positions, and multiple windows may be visible being repositioned in sequence. This can be particularly problematic when there are a large number of windows, as the sequential repositioning becomes noticeable, resulting in a poor appearance. Similarly, when swapping windows displayed in each screen area (for example, primary and secondary) in dual-screen mode, if you do not know the Z order information of the windows, when rearranging windows from one screen area (for example, primary) to the other screen area (for example, secondary), if there are a large number of windows, they will stand out and the appearance may be poor.
[0007] As described above, when the layout of the screen area of the display is changed, the arrangement of windows may not be properly controlled.
[0008] The present invention has been made in consideration of the above-mentioned circumstances, and one of its objects is to provide an information processing device and a control method that can appropriately control the arrangement of windows when the layout of the display screen area is changed. [Means for solving the problem]
[0009] The present invention has been made to solve the above-mentioned problems, and an information processing device according to a first aspect of the present invention comprises a display, a memory that temporarily stores an application program, and a processor that controls displaying a window of the application on the display by executing the application program stored in the memory, wherein the processor performs a screen layout change process that changes the layout of an area in which one or more of the windows can be displayed within a screen area of the display; The method performs a storage process that stores information about the position of each window before changing the layout of the screen area by the screen layout change process, a management process that manages the Z order of one or more windows arranged in the screen area of the display, and a window rearrangement process that rearranges one or more windows in an order according to the Z order managed by the management process when rearranging the one or more windows based on the information about the position of each window stored by the storage process after changing the layout of the screen area by the screen layout change process.
[0010] In the above information processing device, the processor may, in the screen layout change process, change between a first layout in which the entire screen area of the display is an area in which the window can be displayed and a second layout in which a portion of the screen area of the display is an area in which the window can be displayed, and when the screen layout change process is performed to change from the first layout to the second layout and then return to the first layout, in the window rearrangement process, rearrange the windows based on the position information for each window that was stored in the storage process before the change from the first layout to the second layout, and when rearranging the windows, may refer to the Z order managed by the management process and rearrange the windows in an order according to the Z order immediately before the return from the second layout to the first layout.
[0011] In the above information processing device, the processor may perform a placement detection process to detect the placement of an external keyboard in a specified area of the screen area of the display, and when the placement detection process detects the placement of the keyboard in the first layout, the processor may perform the screen layout change process to change the screen area of the display to the second layout in which the portion of the screen area of the display excluding the specified area is an area in which the window can be displayed.
[0012] In the above information processing device, when the screen layout change process is performed to return from the second layout to the first layout, the processor may not perform the window rearrangement process on the windows that were minimized or maximized when the layout was returned to the first layout, but may perform the window rearrangement process to rearrange the windows that were unminimized or unmaximized when the minimization or maximization is canceled.
[0013] In the above information processing device, when the screen layout change process is performed to return from the second layout to the first layout, the processor may not perform the window rearrangement process on the windows that were minimized or maximized when changing from the first layout to the second layout, and may perform the window rearrangement process to rearrange the windows that were unminimized or unmaximized when the minimization or maximization is canceled.
[0014] In the above information processing device, the processor may, in the screen layout change process, perform a layout change in which the display in the first area and the display in the second area are swapped in a layout in which the screen area of the display is divided into a plurality of areas including a first area and a second area; and when the screen layout change process has performed a layout change in which the display in the first area and the display in the second area are swapped, in the window rearrangement process, based on the position information for each window stored in the storage process before the layout change and the Z order managed by the management process, swap and rearrange a first window that was located at the forefront of the windows that were located in the first area and a second window that was located at the forefront of the windows that were located in the second area; and then rearrange windows other than the first window and the second window in an order according to the Z order managed by the management process.
[0015] In the above-described information processing device, the processor may change between a first layout in which the entire screen area of the display is a displayable area for the window, and a third layout in which the screen area of the display is divided into a plurality of areas including a first area and a second area, by the screen layout change process, and in the window rearrangement process, minimize all windows except the window that was placed at the forefront in each of the plurality of areas in the third layout, and in the screen layout change process, unminimize the windows that were minimized in the third layout, and rearrange the windows based on the window position information stored by the storage process before changing from the first layout to the third layout and the Z order managed by the management process.
[0016] In the above-described information processing device, the processor may, in the screen layout change process, change between a first layout in which the entire screen area of the display is an area in which the window can be displayed, and a third layout in which the screen area of the display is divided into multiple areas, and if the screen layout is changed from the third layout to the first layout by the screen layout change process, the window rearrangement process may rearrange one or more of the windows in order according to the Z order managed by the management process.
[0017] Furthermore, a control method for an information processing apparatus according to a second aspect of the present invention, comprising a display, a memory for temporarily storing an application program, and a processor that controls the display of the application window on the display by executing the application program stored in the memory, includes: a screen layout change step in which the processor changes the layout of an area on which one or more of the windows can be displayed within the screen area of the display; a storage step in which the processor stores information on the position of each window before the layout of the screen area is changed by the screen layout change step; a management step in which the Z order of one or more of the windows arranged in the screen area of the display is managed; and a window rearrangement step in which, after the layout of the screen area is changed by the screen layout change step, one or more of the windows are rearranged in order according to the Z order managed by the management step, based on the information on the position of each window stored by the storage step. [Effects of the Invention]
[0018] According to the above aspects of the present invention, it is possible to appropriately control the arrangement of windows when the layout of the screen area of the display is changed. [Brief explanation of the drawings]
[0019] [Figure 1] FIG. 1 is a perspective view showing the appearance of an information processing apparatus according to a first embodiment. [Figure 2] FIG. 2 is a side view showing an example of the information processing device according to the first embodiment in a bent state. [Figure 3] FIG. 1 is a side view showing an example of an information processing device in a flat state according to a first embodiment. [Figure 4] 3A to 3C are views showing specific examples of various display modes of the information processing device according to the first embodiment. [Figure 5] FIG. 3 is a diagram showing an example of operation specifications for a display mode switching operation according to the first embodiment. [Figure 6]FIG. 2 is a diagram showing an example of rearrangement of windows in response to a change in screen layout according to the first embodiment. [Figure 7] FIG. 3 is a view showing an example of a list of window information according to the first embodiment. [Figure 8] FIG. 1 is a block diagram showing an example of the hardware arrangement of an information processing apparatus according to a first embodiment. [Figure 9] FIG. 2 is a block diagram showing an example of the functional configuration of a control unit according to the first embodiment. [Figure 10] 10 is a flowchart showing an example of a window rearrangement process accompanying a change in screen layout according to the first embodiment. [Figure 11] 10 is a flowchart showing a detailed example of a window rearrangement process accompanying a change in screen layout according to the first embodiment. [Figure 12] FIG. 10 is a view showing another example of rearrangement of windows in response to a change in the screen layout according to the first embodiment. [Figure 13] 10 is a flowchart showing an example of processing when there is a minimized window in window rearrangement processing accompanying a screen layout change according to the first embodiment. [Figure 14] 10 is a flowchart showing a detailed example of processing when there is a minimized window in window rearrangement processing accompanying a screen layout change according to the first embodiment. [Figure 15] FIG. 10 is a diagram showing an example of rearrangement of windows in response to a change in screen layout according to the second embodiment. [Figure 16] 10 is a flowchart showing an example of a window rearrangement process accompanying a change in screen layout according to the second embodiment. [Figure 17] 10 is a flowchart showing a detailed example of a window rearrangement process accompanying a change in screen layout according to the second embodiment. [Figure 18] 10 is a flowchart showing an example of a rearrangement process when multiple windows are simultaneously unminimized according to the second embodiment. [Figure 19] FIG. 11 is a view showing an example of a screen layout change according to the third embodiment. [Figure 20]13 is a flowchart showing an example of a window rearrangement process accompanying a change in screen layout according to the third embodiment. [Figure 21] FIG. 13 is a view showing an example of a screen layout change according to the fourth embodiment. [Figure 22] 13 is a flowchart showing an example of a window rearrangement process accompanying a change in screen layout according to the fourth embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0020] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. First Embodiment Figure 1 is a perspective view showing the external appearance of the information processing device 10 according to this embodiment. The information processing device 10 according to this embodiment is a clamshell-type (notebook-type) PC (personal computer). The information processing device 10 comprises a first housing 101, a second housing 102, and a hinge mechanism 103. The first housing 101 and the second housing 102 are substantially rectangular plate-shaped (for example, flat plate-shaped) housings. One side of the first housing 101 and one side of the second housing 102 are connected (linked) via the hinge mechanism 103, and the first housing 101 and the second housing 102 are rotatable relative to each other around the axis of rotation formed by the hinge mechanism 103. When the opening angle θ around the axis of rotation of the first housing 101 and the second housing 102 is approximately 0°, the first housing 101 and the second housing 102 are overlapping and closed. The state in which the first housing 101 and the second housing 102 are closed is called the "closed state". In the closed state, the faces of the first housing 101 and the second housing 102 that face each other are called the "inner surfaces", and the faces opposite to the inner surfaces are called the "outer surfaces". The opening angle θ can also be said to be the angle between the inner surface of the first housing 101 and the inner surface of the second housing 102. The state in which the first housing 101 and the second housing 102 are open relative to the closed state is called the "open state". The open state is a state in which the first housing 101 and the second housing 102 are rotated relative to each other until the opening angle θ becomes greater than a predetermined threshold (for example, 10°).
[0021] The information processing device 10 also includes a camera 16 and a display 150. The camera 16 is provided on the inner surface of the first housing 101. The display 150 is provided across the inner surface of the first housing 101 and the inner surface of the second housing 102. The camera 16 is provided, for example, on the inner surface of the first housing 101 outside the screen area DA of the display 150, and is capable of capturing an image of a user or the like who is on the side facing the display 150. The display 150 is a flexible display that can be bent according to an opening angle θ resulting from relative rotation of the first housing 101 and the second housing 102 (see FIGS. 2 and 3). An organic EL display or the like is used as the flexible display. The information processing device 10 can control display using the entire screen area DA of the display 150 as a single display area, or can control display using a dual-screen configuration by dividing the screen area DA of the display 150 into two display areas, a first screen area DA1 and a second screen area DA2. The two display areas divided into the first screen area DA1 and the second screen area DA2 do not overlap each other because the screen area DA is divided. Here, of the screen area DA of the display 150, the screen area corresponding to the inner surface of the first housing 101 is referred to as the first screen area DA1, and the screen area corresponding to the inner surface of the second housing 102 is referred to as the second screen area DA2. Hereinafter, the display mode that controls display in a single screen configuration is referred to as the "single screen mode," and the display mode that controls display in a dual screen configuration is referred to as the "dual screen mode."
[0022] A touch sensor is provided above (on the surface of) the screen area DA of the display 150. The information processing device 10 can detect a touch operation on the screen area DA of the display 150. By opening the information processing device 10, the user can view the displays 150 provided on the inner surfaces of the first housing 101 and the second housing 102 and perform touch operations on the displays 150, thereby enabling the use of the information processing device 10.
[0023] Next, the usage modes and screen modes of the information processing device 10 will be explained in detail. First, the usage modes of the information processing device 10 can be divided into two states depending on the opening angle θ between the first housing 101 and the second housing 102: a bent state (Bent form) and a flat state where the first housing 101 and the second housing 102 are not bent. Hereafter, the bent state (Bent form) will be simply referred to as "Bent form," and the flat state (Flat form) will be simply referred to as "Flat form." In the bent state (Bent form), the display 150, which spans both the first housing 101 and the second housing 102, is also bent. In the flat state (Flat form), the display 150 is also flat.
[0024] Figure 2 is a side view showing an example of the information processing device 10 in a bent state. The display 150 is positioned across the first housing 101 and the second housing 102. The screen area of the display 150 (screen area DA shown in Figure 1) can be bent at the crease corresponding to the hinge mechanism 103, and the screen area on the first housing 101 side is shown as the first screen area DA1, and the screen area on the second housing 102 side is shown as the second screen area DA2. The display 150 bends in accordance with the rotation (opening angle θ) between the first housing 101 and the second housing 102. The information processing device 10 determines whether or not it is in a bent state depending on the opening angle θ. As an example, when 10° < θ < 170°, the information processing device 10 determines that it is in a bent state. This state corresponds to the usage modes known as clamshell mode or book mode.
[0025] Figure 3 is a side view showing an example of the information processing device 10 in a flat form. The information processing device 10 typically determines that it is in a flat form when the opening angle θ is 180°, but as an example, it may also determine that it is in a flat form when 170° ≤ θ ≤ 180°. For example, when the opening angle θ between the first housing 101 and the second housing 102 is 180°, the display 150 is also in a flat form. This state corresponds to a usage mode known as tablet mode.
[0026] Next, display modes according to various usage patterns of the information processing device 10 will be described in detail with reference to FIG. Figure 4 shows specific examples of various display modes of the information processing device 10 according to this embodiment. The information processing device 10 has different display modes depending on the usage mode, which is classified by the opening angle θ between the first housing 101 and the second housing 102, the orientation (direction) of the information processing device 10, and whether it is in single-screen mode or dual-screen mode. A single screen is also called a single screen, and a dual screen is also called a split screen or dual screen.
[0027] Display mode (a) is the display mode when the first enclosure 101 and the second enclosure 102 are in a closed state. For example, in this closed state, the information processing device 10 is in a standby state such as sleep or hibernation, and the display 150 is in an off state. This standby state such as sleep or hibernation corresponds to, for example, system power state S3 or S4 as defined in ACPI (Advanced Configuration and Power Interface).
[0028] Display mode (b) is a display mode in which the display 150 is in a bent state (bent form) and in a dual-screen mode in which the screen area DA of the display 150 is divided into two display areas, a first screen area DA1 and a second screen area DA2, and the display is controlled by dividing the two areas. The orientation of the information processing device 10 is such that the first screen area DA1 and the second screen area DA2 are arranged horizontally in a portrait orientation. A portrait orientation of the screen area means that the longer side of the four sides of the rectangular screen area DA is vertical and the shorter side is horizontal. When the screen area is vertical, the display orientation is also vertical, with the direction along the longer side corresponding to the up-down direction and the direction along the shorter side corresponding to the left-right direction. This usage mode is such that the left and right pages of an open book correspond to the left and right screens, and corresponds to a so-called book mode. This usage configuration, which is in a bent state and where the first screen area DA1 and the second screen area DA2 are placed side by side, resulting in a combined display area that is widescreen, is also referred to as "Fold Landscape."
[0029] In this display mode (b), the information processing device 10, for example, in a normal operating state, is in a dual-screen display mode, with the first screen area DA1 on the left side serving as the primary screen and the second screen area DA2 on the right side serving as the secondary screen. Note that in display mode (b), the correspondence between the first screen area DA1 and the second screen area DA2 and the primary screen and secondary screen may be reversed.
[0030] Display mode (c-1), like display mode (b), is a display mode in a bent state (bent form) and in a dual-screen mode in which the screen area DA of the display 150 is divided into two display areas, a first screen area DA1 and a second screen area DA2, for display control, but the orientation of the information processing device 10 is different. The orientation of the information processing device 10 is an orientation in which the first screen area DA1 and the second screen area DA2 are arranged horizontally and vertically above and below each other. A horizontal screen area orientation refers to an orientation in which the long side of the four sides of the rectangular screen area DA is horizontal and the short side is vertical. When the screen area is horizontal, the display orientation is also horizontal, and the direction along the short side corresponds to the vertical direction and the direction along the long side corresponds to the left-right direction. This usage mode is one of the common usage modes for clamshell-type PCs.
[0031] In this display mode (c-1), the information processing device 10, for example, in a normal operating state, is in a dual-screen display mode, with the first screen area DA1 as the primary screen and the second screen area DA2 as the secondary screen. Note that in the display mode (c-1), the correspondence between the first screen area DA1 and the second screen area DA2 and the primary screen and the secondary screen may be reversed.
[0032] For example, the information processing device 10 automatically switches from display mode (b) to display mode (c-1) or from display mode (c-1) to display mode (b) by detecting a change in the attitude (orientation) of the information processing device 10 (Switch by Rotation). For example, since display mode (c-1) is a state in which the display 150 is rotated 90 degrees to the right relative to display mode (b) in the illustrated example, the information processing device 10 switches to display mode (c-1) when it detects that the display 150 has rotated a predetermined angle (e.g., 45 degrees) or more to the right from the display mode (b) state. Also, since display mode (b) is a state in which the display 150 is rotated 90 degrees to the left relative to display mode (c-1) in the illustrated example, the information processing device 10 switches to display mode (b) when it detects that the display 150 has rotated a predetermined angle (e.g., 45 degrees) or more to the left from the display mode (c-1) state.
[0033] Display mode (c-2) is the same as display mode (c-1) in that the information processing device 10 is in a bent state (Bent form) and the orientation is the same, but it differs in that an external keyboard 30 (Dockable mini KBD:KeyBoard) that can be connected to the information processing device 10 is connected. This usage configuration is the same as the typical usage configuration of a clamshell-type PC, but with a physical keyboard 30 connected. For example, the keyboard 30 is approximately the same size as the second screen area DA2 and is configured to be placed on top of the second screen area DA2. As an example, the keyboard 30 has magnets inside (at the ends) of its bottom surface, and when placed on top of the second screen area DA2, it is attracted to and fixed to the metal part at the inner edge of the second housing 102. This results in a usage configuration similar to conventional clamshell-type PCs that originally had a physical keyboard. Furthermore, when the keyboard 30 is placed on top of the second screen area DA2, the placed keyboard 30 and the information processing device 10 communicate with each other, for example, via Bluetooth®. In this display mode (c-2), the information processing device 10 controls the second screen area DA2 to be displayed in black or turned off because it cannot be seen by the keyboard. In other words, this display mode (c-2) is a display mode in which only half of the screen area DA is effective for display (hereinafter referred to as "half-screen mode"), and is equivalent to a one-screen mode in which only the first screen area DA1 is the target of display.
[0034] For example, when the information processing device 10 detects connection of an external keyboard in the display mode (c-1), the display mode (c-1) is automatically switched to the display mode (c-2) (Switch by Dock).
[0035] Display mode (d) is in a bent state (Bent form) like display mode (b), and the orientation of the information processing device 10 is also the same, but it is different in that it is a single-screen mode in which the entire screen area DA of the display 150 is used as a single display area to control the display. This usage mode differs from display mode (b) in that it is a single-screen mode, but because it is in a bent state (Bent form) and the screen area DA is horizontally long, it is also called "Fold Landscape." The screen area DA is oriented horizontally, and the display orientation is also horizontal.
[0036] Here, switching between the single-screen mode and the dual-screen mode in the bent state (Bent form) is performed, for example, by a user operation. For example, the information processing device 10 displays an operator as a UI (User Interface) capable of switching between the single-screen mode and the dual-screen mode somewhere on the screen, and switches from display mode (b) to display mode (d) based on an operation on the operator (Switch by UI). A specific example of this display mode switching operation will be described later.
[0037] Display mode (e) is in a bent state (bent form) like display mode (c-1), and the orientation of the information processing device 10 is also the same, but it is a single-screen mode in which the entire screen area DA of the display 150 is used as a single display area to control the display. This usage mode differs from display mode (c-1) in that it is a single-screen mode, but the bent state (bent form) and the orientation of the information processing device 10 make it equivalent to the usage mode of a clamshell PC. The screen area DA is in portrait orientation, and the display orientation is also portrait.
[0038] For example, the information processing device 10 automatically switches from display mode (d) to display mode (e), or from display mode (e) to display mode (d), by detecting a change in the orientation (direction) of the information processing device 10 (Switch by Rotation). For example, in display mode (e), the display 150 is rotated 90 degrees to the right in the diagram relative to display mode (d). Therefore, when the information processing device 10 detects that the display 150 has rotated by a predetermined angle (e.g., 45 degrees) or more to the right from the state of display mode (d), it switches to display mode (d). Also, in display mode (d), the display 150 is rotated 90 degrees to the left in the diagram relative to display mode (e). Therefore, when the information processing device 10 detects that the display 150 has rotated by a predetermined angle (e.g., 45 degrees) or more to the left from the state of display mode (e), it switches to display mode (d).
[0039] Display mode (d') is a single-screen mode, similar to display mode (d), and the orientation of the information processing device 10 is such that the screen area DA is horizontal, but it differs in that it is in a flat form. A flat form means that the opening angle θ between the first housing 101 and the second housing 102 is approximately 180°. This usage mode corresponds to the so-called tablet mode explained with reference to Figure 3, and because it is in a flat form and the screen area DA is horizontal, it is also called "Flat Landscape". Display mode (d') differs from display mode (d) only in the opening angle θ between the first housing 101 and the second housing 102. Similar to display mode (d), the screen area DA is horizontal, and the display orientation is also horizontal.
[0040] Display mode (e') is a single-screen mode similar to display mode (e), in which the orientation of the information processing device 10 is such that the screen area DA is vertically long, but differs in that it is in a flat state (Flat form). This usage mode is also called "Flat Portrait" because it is in a flat state (Flat form) and the screen area DA is vertically long. This display mode (e') differs from display mode (e) only in the opening angle θ between the first housing 101 and the second housing 102. Like display mode (e), the screen area DA is vertically oriented, and the display orientation is also vertical.
[0041] For example, the information processing device 10 automatically switches from display mode (d') to display mode (e') or from display mode (e') to display mode (d') by detecting a change in the attitude (orientation) of the information processing device 10 (Switch by Rotation). For example, since the display mode (e') is a state in which the display 150 is rotated 90 degrees to the right as shown in the figure compared to the display mode (d'), the information processing device 10 switches to display mode (e') when it detects that the display 150 has rotated a predetermined angle (for example, 45 degrees) or more to the right from the display mode (d') state. Also, since the display mode (d') is a state in which the display 150 is rotated 90 degrees to the left as shown in the figure compared to the display mode (e'), the information processing device 10 switches to display mode (d') when it detects that the display 150 has rotated a predetermined angle (for example, 45 degrees) or more to the left from the display mode (e') state.
[0042] In display mode (d') and display mode (e'), the user can switch to dual screen mode while remaining in flat form by operating the display mode switching icon described above. For example, when switching from display mode (d') to dual screen mode, the display state in flat form becomes the same as display mode (b). Also, when switching from display mode (e') to dual screen mode, the display state in flat form becomes the same as display mode (c-1).
[0043] Furthermore, when the information processing device 10 detects connection to the keyboard 30 while in the display mode (e'), it automatically switches from the display mode (e') to the display mode (c-2') (Switch by Dock). The display mode (c-2') is a flat state (Flat form), and differs from the display mode (c-2) only in the opening angle θ between the first housing 101 and the second housing 102. In this display mode (c-2'), the information processing device 10 controls the second screen area DA2 to be displayed in black or turned off because it cannot be seen due to the keyboard. In other words, like the display mode (c-2), this display mode (c-2') is a half-screen mode in which only the first screen area DA1 is displayed.
[0044] Furthermore, the information processing device 10 can also switch from the single-screen mode to the dual-screen mode when it detects a change from a flat state (flat form) to a bent state (bent form). For example, when the information processing device 10 detects a change from the display mode (d') to the bent form based on the opening angle θ between the first housing 101 and the second housing 102, the information processing device 10 automatically switches from the display mode (d') to the display mode (b). Furthermore, when the information processing device 10 detects a change from the display mode (e') to the bent form based on the opening angle θ between the first housing 101 and the second housing 102, the information processing device 10 automatically switches from the display mode (e') to the display mode (c-1).
[0045] (Display mode switching operation) Next, a specific example of operation specifications when the display mode is switched by a user operation will be described. FIG. 5 is a diagram showing an example of operation specifications for a display mode switching operation according to this embodiment. For example, as shown in FIG. 5(A), an icon C1 for displaying a display mode switching menu is displayed in a task bar B2. The task bar B2 is displayed somewhere within the screen area DA of the display 150. For example, whether in single-screen mode or dual-screen mode, the task bar B2 is displayed in only one location within the screen area DA of the display 150 (for example, at the bottom of the screen area DA). Note that in dual-screen mode, the task bar B2 may be displayed in each of the first screen area DA1 and the second screen area DA2 (for example, at the bottom of each).
[0046] When an operation is performed on the icon C1 that displays the switching menu, the display mode switching menu is displayed as a pop-up screen. Note that the display mode switching menu may be displayed as a pop-up screen when the display changes from a bent form to a flat form. Also, the display mode switching menu may be displayed as a pop-up screen when the display changes from a flat form to a bent form.
[0047] The switching menu displays, as display mode options, display mode switching icons that the user can use to instruct switching between single-screen mode and dual-screen mode, and to swap the display data to be displayed in the first screen area DA1 and the second screen area DA2 in the dual-screen mode (for example, swapping the primary screen and the secondary screen). The switching menu displays options for display modes that the user can select depending on the current usage mode (the orientation of the display 150).
[0048] Figure 5(B) shows the switching menu M1 that is displayed when the usage mode is "Landscape" (display mode (b), display mode (d), display mode (d'), etc.). The "1" and "2" in the figure are used to distinguish the display areas in the two-screen mode, and will be referred to as display area "1" and display area "2" below. The switching menu M1 displays the display mode switching icon C11, the display mode switching icon C12, and the display mode switching icon C13. The display mode switching icon C11 is displayed as an operator for selecting display mode (d) or display mode (d') in the one-screen mode. The display mode switching icons C12 and C13 are displayed as operators for selecting display mode (b) in the two-screen mode, and the arrangement of display area "1" and display area "2" differs between the display mode switching icons C12 and C13. Here, when the display area "1" and display area "2" are arranged using the display mode switching icon C12, it is considered a two-screen mode, and when the display area "1" and display area "2" are arranged using the display mode switching icon C13, it is considered an inverted two-screen mode.
[0049] Note that the display mode switching icon corresponding to the current display mode is displayed in a way that makes it distinguishable from other display mode switching icons. Here, display mode switching icon C11 is highlighted from the other display mode switching icons C12 and C13 so that it is clear that it is the current display mode.
[0050] Figure 5(C) shows the switching menu M2 that is displayed when the usage mode is "Clamshell" (display mode (c-1), display mode (e), display mode (e'), etc.). The switching menu M2 displays the display mode switching icon C21, display mode switching icon C22, and display mode switching icon C23. The display mode switching icon C21 is displayed as an operator for selecting the display mode (e) or display mode (e') in single-screen mode. The display mode switching icons C22 and C23 are displayed as operators for selecting the display mode (c-1) in two-screen mode, and the arrangement of display area "1" and display area "2" differs between the display mode switching icons C22 and C23. Here, the arrangement of display area "1" and display area "2" with the display mode switching icon C22 is considered two-screen mode, and the arrangement of display area "1" and display area "2" with the display mode switching icon C23 is considered inverted two-screen mode.
[0051] Similar to the switching menu M1 shown in Figure 5(B), the display mode switching icon corresponding to the current display mode is displayed in a way that makes it distinguishable from other display mode switching icons. Here, the display mode switching icon C21 is highlighted from the other display mode switching icons C22 and C23 so that it is clear that it is the current display mode.
[0052] The user can arbitrarily select either of the display mode switching icons displayed in the switching menu M1 or the switching menu M2. When the user selects either of the display mode switching icons, the display of the switching menu is terminated. Alternatively, when the user does not select either of the display mode switching icons within a predetermined time (e.g., 3 to 5 seconds) after the switching menu M1 or the switching menu M2 is displayed, the display of the switching menu is terminated. Furthermore, when the user operates the close button "X" in the upper right of the switching menu, when the user operates outside the screen of the pop-up switching menu, or when the orientation of the information processing device 10 is changed, the display of the switching menu is terminated. Note that when the keyboard 30 is connected, the switching menu is not displayed because only the first screen area DA1 is fixed to the half screen mode (display mode (c-2)) to be displayed.
[0053] The UI for switching between single-screen mode and dual-screen mode is not limited to the example shown in Fig. 5, and any UI can be used. For example, an icon that alternates between single-screen mode and dual-screen mode each time it is operated, or an icon that alternates between single-screen mode, dual-screen mode, and reversed dual-screen mode each time it is operated, may be displayed on task bar B2.
[0054] Furthermore, in the example shown in Figure 5, the display mode switching menu is displayed as a pop-up screen by operating on icon C1 displayed on taskbar B2, but the switching menu may also be displayed as a pop-up screen by dragging the application window. Alternatively, the display mode may be switched by dragging the application window. When the switching menu is displayed as a pop-up screen by dragging the application window, it may be possible to select not only the screen mode but also a screen area by dragging onto one of the screen area divisions displayed in the switching menu, and the dragged application may be placed in the selected area. Alternatively, the switching menu may be displayed as a pop-up screen by operating on a specific location on the application window.
[0055] As described above, when the information processing device 10 controls the display of an application window on the screen area of the display 150, it is possible to change the layout of the displayable screen area (hereinafter referred to as "screen layout"), such as one-screen mode, two-screen mode, inverted two-screen mode, and half-screen mode. In the following description, the application window will also be simply referred to as "window".
[0056] The information processing device 10 stores information about the position of each window before the screen layout is changed, and can rearrange the windows to their original positions and sizes at any point after the screen layout has been changed. The following describes in detail how to control the rearrangement of windows in response to screen layout changes.
[0057] (Controlling window rearrangement when screen layout changes) Figure 6 shows an example of window rearrangement due to a screen layout change according to this embodiment. Referring to Figure 6, an example will be described in which the information processing device 10 switches from single-screen mode to half-screen mode, and then returns to single-screen mode, rearranging the windows to their positions and sizes before switching to half-screen mode.
[0058] As shown in (A), in the single screen mode, information processing device 10 controls the screen layout so that the entire screen area DA of display 150 is the display target. Here, multiple windows are arranged in screen area DA.
[0059] As shown in (B), when the information processing device 10 detects a connection (Dock) with the keyboard 30, it switches to half-screen mode, controls the second screen area DA2 to display in black or turn off, and changes the screen layout so that only the first screen area DA1 is displayed. Since the screen area to be displayed changes from the entire screen area DA to only half of it, the first screen area DA1, the resolution changes. The operating system (OS) of the information processing device 10 rearranges the multiple windows that were placed in the screen area DA in full-screen mode into the first screen area DA1, changing their position and size in response to the change in resolution.
[0060] Next, we will explain an example of window rearrangement when the keyboard 30 is disconnected (undocked). If the OS is controlling this, the OS does not remember the position and size of the window when it was in single-screen mode before switching to half-screen mode. Therefore, as shown in (C), even when returning to single-screen mode, the window remains positioned in the upper half of the screen area DA (the area corresponding to the first screen area DA1). The window remains positioned off-center in half of the screen area, and it can only be moved back to its original position manually.
[0061] Therefore, in this embodiment, the information processing device 10 stores the position and size of each window in the single-screen mode shown in (A) (i.e., before switching to the half-screen mode) through a process separate from the OS processing, and when returning from the half-screen mode to the single-screen mode, rearranges each window to the stored original position and size as shown in (D). The timing for storing the position and size information for each window is, for example, when an application is started or when the position or size of a window is changed, and the information is updated to the latest information as needed.
[0062] Furthermore, if multiple windows are rearranged without following the Z order of the windows, the sequential arrangement of the multiple windows (for example, a phenomenon known as "Flashing") will be visible, resulting in a poor appearance. Here, the Z order refers to the priority order in which each window is displayed in front of other windows when multiple windows are displayed on display 150 and overlapping each other. For example, the window that is first in the Z order has the highest priority and is the window that is displayed in the foreground.
[0063] Even after switching to half-screen mode, the Z order changes in response to user operations. Therefore, the latest Z order information is required when rearranging windows, but this information is not provided by the OS. Therefore, in this embodiment, the information processing device 10 also manages the Z order after switching to half-screen mode through a process separate from the OS process. Note that when the information processing device 10 manages the Z order through a process separate from the OS process, the Z order may be managed continuously, not just after switching to half-screen mode, but also before switching to half-screen mode. For example, the information processing device 10 stores and updates the Z order when a change occurs in the Z order, such as when a window is selected and becomes the active window.
[0064] That is, the information processing device 10 according to this embodiment stores position and size information for each window in the single-screen mode shown in (A) (i.e., before switching to the half-screen mode) through processing separate from the OS processing, and also manages and stores the Z order after switching to the half-screen mode shown in (B) by connecting (Docking) the keyboard 30 through processing separate from the OS processing. When the information processing device 10 is disconnected (Undocked) from the keyboard 30, it returns from the half-screen mode to the single-screen mode and rearranges the windows based on the position and size information for each window stored in the single-screen mode shown in (A), rearranging them in the order according to the Z order (latest Z order) managed in the half-screen mode shown in (B).
[0065] This allows the information processing device 10 to first arrange the foreground window according to the Z order, and then arrange other windows in order behind the arranged window, so that when other windows are arranged later, they are likely to be hidden by the foreground window and are therefore less noticeable.
[0066] Here, an example of a method for the information processing device 10 to manage and maintain the Z order separately from the OS is described. First, a one-dimensional table is prepared that stores, as window information, elements each consisting of a combination of an ID (or a pointer to an instance) indicating the window of the currently running application and the position and size of the window in single-screen mode. This table may be a simple one-dimensional array, but since elements will need to be deleted or their order changed relatively frequently in the processing described below, it is preferable to use a data structure such as a linked list or a container type. Hereinafter, this table will be referred to as a list.
[0067] Figure 7 shows an example of a window information list according to this embodiment. The window information list shown in this figure stores the ID, position, and size of each window in association. The list shown in Figure 7(A) is an example where four windows are open, and the ID, position, and size of each of the four windows are stored in association. The window with the ID "W018" at the end of the list is the window displayed in the foreground, and the window information is stored in order from the end to the beginning of the list, in Z-order order.
[0068] The information processing device 10 acquires all events that occur when a new window is opened and displayed (opened) from the time the OS starts up, and adds the window information (ID, position, and size information) to the end of the list each time a window is opened. The list shown in Figure 7(B) is an example of the list when a new window is opened (opened) compared to Figure 7(A), and the window information associated with the new window, ID "W019" and position and size information, is added to the end of the list.
[0069] Furthermore, when an already open window is focused (selected) by user operation, that window is brought to the foreground by OS control. At this time, the information processing device 10 acquires this focus event, searches for the ID of the window in the list, and moves the information of the window with that ID to the end of the list (deletes and re-adds to the end). Figure 7(C) shows an example of the list when the window with ID "W015" is focused (selected) in relation to Figure 7(B), and the window information for ID "W015" has been moved to the end of the list.
[0070] When the position or size of a window is changed in full-screen mode, the information processing device 10 updates the position and size information stored in the list in combination with the ID of the changed window, but does not update it in half-screen mode. However, since the Z order changes when a window is focused (selected) even in half-screen mode, the information processing device 10 moves the window to the end of the list without updating the position and size.
[0071] Furthermore, when a window is closed, the information processing device 10 acquires an event and deletes the information about that window from the list. Figure 7(D) shows an example of the list when the window with ID "W012" is closed, as compared to Figure 7(C), and the window information about ID "W012" has been deleted from the list.
[0072] By doing this, the list always maintains a state in which the corresponding window information (ID, position, and size information) is arranged in order from the front to the back, starting with the window that was displayed (focused) the least recently. In other words, when the list is read later, it accurately shows the order of windows displayed from the front, that is, the current Z order. Therefore, when returning from half screen to full screen, the information processing device 10 resizes and rearranges windows from the end of the list while maintaining the Z order. Therefore, because the windows are rearranged in order from the frontmost window, the resizing and rearrangement of subsequent windows is less visible to the user, and the user is less likely to notice a flapping display.
[0073] (Hardware configuration of information processing device 10) The specific configuration of the information processing device 10 will be described below. 8 is a block diagram showing an example of the hardware configuration of an information processing device 10 according to this embodiment. The information processing device 10 includes a communication unit 11, a RAM (Random Access Memory) 12, a storage unit 13, a speaker 14, a display unit 15, a camera 16, a first acceleration sensor 161, a second acceleration sensor 162, a Hall sensor 17, and a control unit 18. These units are connected to each other so as to be able to communicate with each other via a bus or the like.
[0074] The communication unit 11 includes, for example, a plurality of Ethernet (registered trademark) ports, a plurality of digital input / output ports such as USB (Universal Serial Bus), and a communication device that performs wireless communication such as Bluetooth (registered trademark) or Wi-Fi (registered trademark). For example, the communication unit 11 can communicate with the aforementioned external keyboard 30 or the like using Bluetooth (registered trademark).
[0075] In the RAM 12, programs and data for processes executed by the control unit 18 are loaded, and various data is saved or erased as appropriate. For example, the RAM 12 also functions as a video memory (V-RAM) for display on the display 150. As an example, the RAM 12 functions as a video memory for data displayed in the screen area DA when the display 150 is controlled in single-screen mode. The RAM 12 also functions as a video memory for data displayed in the first screen area DA1 and the second screen area DA2 when the display 150 is controlled in dual-screen mode. The RAM 12 also stores information about running apps, apps in use (active window apps) among the running apps, information about other inactive window apps, information about which screen area each window is displayed in, and the like. Note that the RAM 12 is a volatile memory, and therefore does not retain data when power supply to the RAM 12 is stopped. Data that needs to be retained when power supply to the RAM 12 is stopped is transferred to the storage unit 13.
[0076] The storage unit 13 is configured to include one or more of an SSD (Solid State Drive), an HDD (Hard Disk Drive), a ROM (Residual Only Memory), a Flash-ROM, etc. For example, the storage unit 13 stores programs and setting data for a BIOS (Basic Input Output System), an OS (Operating System), programs for applications that run on the OS, and various data used by the applications. The speaker 14 outputs electronic sounds, voices, and the like.
[0077] The display unit 15 includes a display 150 and a touch sensor 155. As described above, the display 150 is a flexible display that can be bent to match the opening angle θ resulting from the relative rotation of the first housing 101 and the second housing 102. The display 150 performs display corresponding to each display mode described with reference to FIG. 4 under the control of the control unit 18. The touch sensor 155 is provided on the screen of the display 150 and detects touch operations on the screen. For example, in the single-screen mode, the touch sensor 155 detects touch operations on the screen area DA. In addition, in the dual-screen mode, the touch sensor 155 detects touch operations on one or both of the first screen area DA1 and the second screen area DA2. Touch operations include tap operations, slide operations, flick operations, swipe operations, and pinch operations. The touch sensor 155 detects the touch operations and outputs operation information based on the detected operations to the control unit 18.
[0078] Camera 16 includes a lens, an imaging element, etc. Camera 16 captures an image (a still image or a video) according to the control of control unit 18, and outputs data of the captured image.
[0079] First acceleration sensor 161 is provided inside first housing 101, and detects the orientation and changes in orientation of first housing 101. For example, if the direction parallel to the longitudinal direction of first screen area DA1 is defined as the X1 direction, the direction parallel to the lateral direction is defined as the Y1 direction, and the direction perpendicular to the X1 and Y1 directions is defined as the Z1 direction, first acceleration sensor 161 detects acceleration in each of the X1 direction, Y1 direction, and Z1 direction, and outputs the detection results to control unit 18.
[0080] The second acceleration sensor 162 is provided inside the second housing 102 and detects the orientation and changes in orientation of the second housing 102. For example, if the direction parallel to the longitudinal direction of the second screen area DA2 is the X2 direction, the direction parallel to the lateral direction is the Y2 direction, and the direction perpendicular to the X2 and Y2 directions is the Z2 direction, the second acceleration sensor 162 detects acceleration in each of the X2, Y2, and Z2 directions and outputs the detection results to the control unit 18.
[0081] The Hall sensor 17 is provided to detect the connection of the keyboard 30. For example, when the keyboard 30 is placed on the second screen area DA2 of the second housing 102, a magnet provided inside the bottom surface of the keyboard 30 approaches, changing the magnetic field, and changing the detection value (output value) of the Hall sensor 17. In other words, the Hall sensor 17 outputs a different detection result depending on whether the keyboard 30 is placed. Note that, although the Hall sensor 17 is used to detect whether the keyboard 30 is placed here, the detection method is not limited to this, and any detection method can be used.
[0082] Control unit 18 is configured to include processors such as a CPU (Central Processing Unit), a GPU (Graphic Processing Unit), and a microcomputer, and realizes various functions by executing programs (various programs such as a BIOS, an OS, and applications running on the OS) stored in storage unit 13, etc. For example, control unit 18 detects the attitude (orientation) of information processing device 10 based on the detection results of first acceleration sensor 161 and second acceleration sensor 162. Furthermore, control unit 18 detects whether information processing device 10 is in an open state or a closed state, and if in an open state, whether it is in a bent state (bent form) or a flat state (flat form), based on the detection results of first acceleration sensor 161 and second acceleration sensor 162.
[0083] The control unit 18 also detects a display mode switching operation by the user (for example, an operation on the display mode switching icon shown in FIG. 5). The control unit 18 also detects a connection with the keyboard 30 based on the detection result of the hall sensor 17. Note that this connection with the keyboard 30 refers to the placement of the keyboard 30 on the second screen area DA2, and does not refer to a communication connection. The control unit 18 detects the communication connection with the keyboard 30 using a Bluetooth (registered trademark) function or the like.
[0084] In addition, the control unit 18 detects the system state, the attitude (orientation) of the information processing device 10, whether it is in an open state or a closed state, whether it is in a bent state (bent form) or a flat state (flat form) in the open state, the display mode switching operation by the user, the connection to the keyboard 30, etc., and thereby controls the switching of the display mode of the display 150 described with reference to Figures 4 and 5, and controls the rearrangement of windows when switching to the half screen mode (when the screen layout is changed) described with reference to Figure 6.
[0085] (Functional configuration of information processing device 10) Next, a functional configuration related to the display mode switching (screen layout change) process and the accompanying window rearrangement process among the processes executed by the control unit 18 will be described. 9 is a block diagram showing an example of the functional configuration of the control unit 18 according to this embodiment. The control unit 18 includes a system processing unit 181, a detection processing unit 182, and a display processing unit 183. Here, the system processing unit 181 is a functional configuration in which a CPU executes processing based on, for example, an OS or BIOS. The detection processing unit 182 is a functional configuration in which a microcomputer separate from the CPU that executes processing based on, for example, the OS or BIOS executes various detection processes. The display processing unit 183 is a functional configuration in which a CPU executes processing based on, for example, the OS or a program running on the OS.
[0086] The system processing unit 181 executes the OS and various programs such as drivers and applications that run on the OS. The system processing unit 181 also includes, for example, an executed application information generation unit 1811. The executed application information generation unit 1811 generates application information including identification information (for example, an application ID) of an application currently being executed and information indicating an application currently being used by the user (i.e., an application whose window is active) among the currently executing applications. The executed application information generation unit 1811 stores and holds the generated application information in the RAM 12.
[0087] The detection processing unit 182 includes an open / close detection unit 1821, an attitude detection unit 1822, and a connection detection unit 1823 as functional components for detecting the state of the information processing device 10. The detection processing unit 182 outputs the detection results of the open / close detection unit 1821, the attitude detection unit 1822, and the connection detection unit 1823 to the display processing unit 183.
[0088] The opening / closing detection unit 1821 detects whether the information processing device 10 is in an open or closed state based on the detection results of the first acceleration sensor 161 and the second acceleration sensor 162. If the information processing device 10 is in an open state, the opening / closing detection unit 1821 also detects the opening angle θ between the first housing 101 and the second housing 102 based on the detection results of the first acceleration sensor 161 and the second acceleration sensor 162. Then, based on the detected opening angle θ, the opening / closing detection unit 1821 detects whether it is in a bent state (Bent form) or a flat state (Flat form).
[0089] The attitude detection unit 1822 detects the attitude (direction) of the information processing device 10 based on the detection results of the first acceleration sensor 161 and the second acceleration sensor 162.
[0090] The connection detection unit 1823 performs a connection detection process to detect a connection with the keyboard 30. For example, the connection detection unit 1823 detects a connection with the keyboard 30 by detecting whether or not the keyboard 30 is placed on the second screen area DA2 based on the detection result of the Hall sensor 17. In other words, the connection detection process to detect a connection with the keyboard 30 corresponds to the placement detection process to determine whether or not the keyboard 30 is placed on the second screen area DA2. When the keyboard 30 is placed on the second screen area DA2, the connection detection unit 1823 detects that a connection has been made to the keyboard 30.
[0091] Furthermore, the detection processing unit 182 includes an operation detection unit 1824 as a functional configuration for detecting operations on the information processing device 10. The operation detection unit 1824 detects user operations based on operation information output from a touch sensor 155 provided on the screen of the display 150. For example, the operation detection unit 1824 acquires operation information based on user operations on the switching menus M1 and M2 (see Figure 5), which allow switching of display modes, and detects a display mode switching operation by the user to switch display modes based on the acquired operation information. The detection processing unit 182 outputs the detected user operation information to the display processing unit 183.
[0092] The display processing unit 183 determines and switches the display mode based on the detection results from the detection processing unit 182. Furthermore, the display processing unit 183 controls the display of the running application's windows (active and inactive windows) according to the display mode, based on application information obtained from the system processing unit 181. Specifically, it comprises a display mode determination unit 1831, a display mode switching unit 1832, and a display control unit 1834.
[0093] The display mode determination unit 1831 performs a determination process to determine the display mode based on the detection results from the detection processing unit 182. For example, the display mode determination unit 1831 obtains the detection results of the status of the information processing device 10, the detection results of the connection with the keyboard 30, and user operation information from the detection processing unit 182, and determines the display mode as described with reference to Figure 4.
[0094] The display mode switching unit 1832 performs a display mode switching process to switch to the display mode described with reference to Figure 4, based on the display mode determined by the display mode determination unit 1831. For example, the display mode switching unit 1832 controls the switching between one-screen mode, two-screen mode (or inverted two-screen mode), or half-screen mode (i.e., switching of the screen layout) based on the display mode determined by the display mode determination unit 1831.
[0095] Furthermore, the display mode switching unit 1832 switches to half-screen mode when the connection detection unit 1823 detects a connection with the keyboard 30 (see Figures 4 and 6). As mentioned above, half-screen mode is a display mode in which the keyboard 30 is placed on the second screen area DA2, and only the first screen area DA1 is displayed.
[0096] The display control unit 1834 controls the display of the display 150. For example, the display control unit 1834 controls the position and size of a window to be displayed in each screen area according to the display mode set by the display mode switching unit 1832. The display control unit 1834 also controls the display orientation within the screen area of the display 150 according to the orientation of the information processing device 10 (the orientation of the screen area of the display 150). Note that in the half screen mode, the display control unit 1834 controls the display in a preset display orientation regardless of the orientation of the information processing device 10 (the orientation of the screen area of the display 150). The preset display orientation is, for example, an orientation in which the side of the first screen area DA1 where the first housing 101 and the second housing 102 are connected faces downward (i.e., an orientation in which the first screen area DA1 is on the upper side and the second screen area DA2 on which the keyboard 30 is placed faces downward).
[0097] Furthermore, when the screen layout is changed by switching the display mode, the display control unit 1834 rearranges the windows after the change in screen layout based on their positions and sizes before the change. Furthermore, when rearranging the windows, the display control unit 1834 rearranges them in order according to the Z order while maintaining the Z order of each window. In other words, the window that is visible in the foreground on the screen is arranged first, and subsequent windows are arranged in order behind the windows that have already been arranged.
[0098] For example, the display control unit 1834 performs storage processing to store information about the position and size of each window (e.g., ID, position, and size information) before the screen layout is changed. This processing involves obtaining an event from the OS when a change in the position or size of a window occurs, and updating the stored information about the position and size of each window with the information about the changed position and size. Note that this stored position and size information is used when the screen mode returns from half-screen mode to full-screen mode (e.g., single-screen mode), so the update is performed only when in full-screen mode. Also, as mentioned above, the display control unit 1834 stores information about the position and size of each window, for example, when an application is launched, so that the latest information is always maintained.
[0099] Furthermore, the display control unit 1834 constantly manages the Z-order of one or more windows placed on the display 150. For example, the information processing device 10 obtains events from the OS such as when an application is launched and a window is opened, when a window is focused (selected), and when a window is closed, and updates the Z-order information when there is a change in the Z-order. This update also occurs in half-screen mode.
[0100] For example, in controlling the rearrangement of windows accompanying a change in the screen layout described above with reference to FIG. 6, the display control unit 1834 stores information about the position and size of each window in the single-screen mode shown in (A) (i.e., before switching to the half-screen mode). The display control unit 1834 also manages and stores the Z order in the single-screen mode shown in (A) (i.e., before switching to the half-screen mode). The display control unit 1834 continues to manage and store the Z order even after switching to the half-screen mode shown in (B) by connecting (docking) the keyboard 30. When returning from the half-screen mode to the single-screen mode by disconnecting (undocking) the keyboard 30, the information processing device 10 rearranges the windows based on the information about the position and size of each window stored before switching to the half-screen mode. At this time, the information processing device 10 rearranges the windows in the order according to the Z order managed in the half-screen mode (the most recent Z order).
[0101] (Window rearrangement process when screen layout changes occur) Next, we will explain the operation of the control unit 18 in which it rearranges windows in response to changes in the screen layout. First, we will refer to Figure 10 to explain the overview of the operation of the window rearrangement process in response to changes in the screen layout. Fig. 10 is a flowchart showing an example of a window rearrangement process accompanying a screen layout change according to this embodiment. The process shown in Fig. 10 is shown as a flowchart of the process shown in Fig. 6. For example, assume that at the start of the process, multiple windows are arranged in screen area DA of display 150 in single-screen mode.
[0102] (Step S101) Control unit 18 stores position and size information for each window arranged in screen area DA in single-screen mode. For example, control unit 18 stores and updates the position and size information for each window when an application is launched or when the position or size of a window is changed. Control unit 18 also stores and manages the Z order of windows in single-screen mode. For example, control unit 18 stores and updates the Z order of windows arranged in screen area DA in single-screen mode when there is a change in the Z order.
[0103] (Step S103) The control unit 18 determines whether or not a connection (Dock) to the keyboard 30 has been detected. If the control unit 18 determines that a connection to the keyboard 30 has not been detected (NO), the control unit 18 returns to the processing of step S101. On the other hand, if the control unit 18 determines that a connection to the keyboard 30 has been detected (YES), the control unit 18 proceeds to the processing of step S105.
[0104] (Step S105) The control unit 18 switches from single-screen mode to half-screen mode, controls the second screen area DA2 to display in black or turn off, and changes the screen layout so that only the first screen area DA1 is displayed. Then, the process proceeds to step S107.
[0105] (Step S107) The control unit 18 manages the Z order of windows in the half screen mode. For example, the control unit 18 stores and updates the Z order of windows arranged in the first screen area DA1 in the half screen mode whenever there is a change in the Z order. Then, the process proceeds to step S109.
[0106] (Step S109) The control unit 18 determines whether the connection with the keyboard 30 has been released (undocked). If the connection with the keyboard 30 has been detected, the control unit 18 determines that the connection with the keyboard 30 has not been released (NO), and returns to the processing of step S107. On the other hand, if the connection with the keyboard 30 is no longer detected, the control unit 18 determines that the connection with the keyboard 30 has been released (YES), and proceeds to the processing of step S111.
[0107] (Step S111) The control unit 18 switches back from half-screen mode to full-screen mode and changes the screen layout to display the entire screen area DA. Then, it proceeds to step S113.
[0108] (Step S113) The control unit 18 rearranges the windows in the order of the Z order stored in step S107 (Z order in half-screen mode), using the position and size of each window stored in step S101 (the position and size of each window before switching to half-screen mode).
[0109] In this embodiment, when the control unit 18 rearranges the windows in response to a change in the screen layout, it rearranges them based on the position and size of each window before the screen layout change. However, it may also rearrange them based on at least the position of each window.
[0110] Next, referring to Figure 11, we will explain in detail an example of the process by which the control unit 18 manages window information during the window rearrangement process that accompanies a change in the screen layout. FIG. 11 is a flowchart showing a detailed example of a window rearrangement process accompanying a screen layout change according to this embodiment.
[0111] (Step S121) The control unit 18 determines whether or not an event has been acquired. Here, events include window changes (open, close, focus, change in position and size), and switching between full-screen mode and half-screen mode. If the control unit 18 determines that no event has been acquired (NO), it performs the process of step S121 again.
[0112] If the control unit 18 determines in step S121 that it has received an event (YES), and if it has received an event indicating that the window has been closed, it proceeds to the process in step S123.
[0113] (Step S123) The control unit 18 removes the window corresponding to the acquired event (closed window) from the list of window information (see Figures 7(C) to (D)). In other words, the control unit 18 removes the window information of the window corresponding to the acquired event (closed window) from the list that stores the Z-order, position, and size information. Then, it returns to the process in step S121.
[0114] Furthermore, if the control unit 18 determines in step S121 that it has acquired an event (YES), and if it has acquired an event indicating that a window has been opened, it proceeds to the process in step S125.
[0115] (Step S125) The control unit 18 adds the window corresponding to the acquired event (opened window) to the end of the window information list (see Figures 7(A) to (B)). In other words, the control unit 18 adds the window corresponding to the acquired event (opened window) to the list as the foreground window, along with its window information (Z-order, position, and size information). Then, it returns to the process in step S121.
[0116] Furthermore, if the control unit 18 determines in step S121 that it has acquired an event (YES), and if it has acquired an event indicating that the window has been focused (selected), it proceeds to the process in step S127.
[0117] (Step S127) The control unit 18 moves the window information of the window corresponding to the acquired event (the selected window) to the end of the list (see Figures 7(B) to (C)). In other words, the control unit 18 updates the list of window information (Z-order, position, and size information) with the window corresponding to the acquired event (the selected window) as the foremost window. Then, it returns to the process in step S121.
[0118] Furthermore, if it is determined in step S121 that an event has been acquired (YES), and if an event indicating that there has been a change in the position or size of the window has been acquired, the control unit 18 proceeds to the process of step S129.
[0119] (Step S129) The control unit 18 moves the window information of the window corresponding to the acquired event (the window whose position or size has changed) to the end of the list. In other words, the control unit 18 updates the list of window information (Z order) with the window corresponding to the acquired event (the window whose position or size has changed) as the foremost window. Then, it proceeds to the process in step S131.
[0120] (Step S131) The control unit 18 determines whether or not the mode is the single screen mode. If the control unit 18 determines that the mode is the single screen mode (step S131: YES), the process proceeds to step S133.
[0121] (Step S133) The control unit 18 updates the position and size information of the window information of the window (the window whose position or size has changed) corresponding to the acquired event to the information after the change, and then returns to the processing of step S121.
[0122] On the other hand, if the control unit 18 determines that it is not in single-screen mode (step S131: NO), it does not proceed to step S133, but returns to step S121. In other words, in single-screen mode, if the position or size of a window changes, the control unit 18 updates the Z-order and position and size information of the changed window, but in half-screen mode, it only updates the Z-order and does not update the position and size information.
[0123] Furthermore, if the control unit 18 determines in step S121 that it has acquired an event (YES), and if it has acquired an event indicating that there has been a switch from single-screen mode to half-screen mode, it proceeds to the processing in step S135.
[0124] (Step S135) The control unit 18 controls the switching from single-screen mode to half-screen mode. At this time, in accordance with the change in resolution accompanying the switching from single-screen mode to half-screen mode, the OS controls the repositioning of the window to only the first screen area DA1. Then, the process returns to step S121.
[0125] Furthermore, if the control unit 18 determines in step S121 that it has acquired an event (YES), and if it has acquired an event indicating that there has been a switch from half-screen mode to full-screen mode, it proceeds to the process in step S137.
[0126] (Step S137) The control unit 18 performs control to switch from half-screen mode to full-screen mode. Then, the process proceeds to step S139.
[0127] (Step S139) The control unit 18 rearranges the windows in the order according to the Z order in half-screen mode, based on the Z order, position, and size information managed in the window information list, using the position and size of each window in full-screen mode before switching to half-screen mode. Then, it returns to the process in step S121.
[0128] As described above, information processing device 10 according to the present embodiment includes display 150, RAM 12 (an example of a memory) that temporarily stores application programs, and control unit 18 (an example of a configuration including a processor) that executes the application programs stored in RAM 12 to control display of application windows on the display. Control unit 18 performs a screen layout change process that changes the layout of an area in which one or more windows can be displayed within the screen area of display 150. Control unit 18 also performs a storage process that stores information about the position of each window before changing the layout of the screen area through the screen layout change process. Control unit 18 also performs a management process that manages the Z order of one or more windows arranged in the screen area of display 150. After changing the layout of the screen area through the screen layout change process, control unit 18 performs a window rearrangement process that rearranges one or more windows in an order according to the Z order managed through the management process when rearranging the one or more windows based on the position information for each window stored through the storage process.
[0129] As a result, after changing the layout of the screen area of display 150, information processing device 10 rearranges windows in order according to the Z order when returning them to their positions before the change, so there is a high possibility that other windows will be hidden by the foreground window. Therefore, when rearranging the windows, information processing device 10 can make the sequential arrangement of multiple windows (for example, a phenomenon called "Flashing") less visible and less noticeable, and the appearance will not be impaired. Therefore, information processing device 10 can appropriately control the arrangement of windows when changing the layout of the screen area of display 150.
[0130] For example, in the screen layout change process, control unit 18 changes between a single-screen mode (an example of a first layout) in which the entire screen area of display 150 is an area in which windows can be displayed, and a half-screen mode (an example of a second layout) in which windows can be displayed only in part of the screen area of display 150. When the single-screen mode is changed to the half-screen mode by the screen layout change process and then returned to the single-screen mode, control unit 18 rearranges the windows in the window rearrangement process based on the position information for each window stored by the storage process before changing from the single-screen mode to the half-screen mode, and when rearranging the windows, refers to the Z order managed by the management process and rearranges the windows in the order according to the Z order immediately before returning from the half-screen mode to the single-screen mode.
[0131] As a result, when information processing device 10 changes from single-screen mode to half-screen mode and then returns to single-screen mode, it rearranges the windows in the order according to the Z order to the positions they were in before changing to half-screen mode, so there is a high possibility that other windows will be hidden by the foreground window, and the way multiple windows are arranged in order (for example, a phenomenon called "Flashing") can be made less visible and less noticeable, and the appearance is not impaired. In this way, when the layout of the screen area of display 150 is changed (for example, when changing from single-screen mode to half-screen mode and then returning to single-screen mode), information processing device 10 can return the windows to their original positions so that they are not biased, and the appearance is not impaired when the windows are rearranged to their original positions, so that the arrangement of the windows can be appropriately controlled.
[0132] Furthermore, control unit 18 performs a placement detection process (for example, a connection detection process for detecting a connection with keyboard 30) for detecting placement of external keyboard 30 in a predetermined area (for example, second screen area DA2) of the screen area of display 150. When placement of keyboard 30 is detected by the placement detection process in the single screen mode, control unit 18 performs a screen layout change process to change to a half screen mode in which a part of the screen area of display 150 excluding the predetermined area (for example, first screen area DA1) is an area in which a window can be displayed.
[0133] As a result, when information processing device 10 is changed from a state in which it was being used in single-screen mode to a half-screen mode using external keyboard 30, and then keyboard 30 is removed and used again in single-screen mode, windows are rearranged in the order according to the Z order before keyboard 30 was used, so that other windows are likely to be hidden by the foreground window, and the sequential arrangement of multiple windows (for example, a phenomenon called "Flashing") can be made less visible and less noticeable, and the appearance is not impaired. In this way, when the layout of the screen area of display 150 is changed (for example, when information processing device 10 is changed from a state in which it was being used in single-screen mode to a half-screen mode using external keyboard 30, and then keyboard 30 is removed and used again in single-screen mode), information processing device 10 can return windows to their original positions so that they are not biased, and the appearance is not impaired when the windows are rearranged to their original positions, thereby enabling appropriate control of window arrangement.
[0134] Furthermore, the control method in the information processing device 10 according to this embodiment includes a screen layout change step in which the control unit 18 (an example of a configuration including a processor) changes the layout of an area in which one or more windows can be displayed within the screen area of the display 150; a storage step in which information on the position of each window before the layout of the screen area is changed by the screen layout change process is stored; a management step in which the Z order of one or more windows arranged in the screen area of the display 150 is managed; and a window rearrangement step in which, after the layout of the screen area is changed by the screen layout change step, one or more windows are rearranged in an order according to the Z order managed by the management step when rearranging the one or more windows based on the information on the position of each window stored by the storage step.
[0135] As a result, the control method in information processing device 10 rearranges windows in accordance with the Z order when returning them to their positions before the change after changing the layout of the screen area of display 150, so there is a high possibility that other windows will be hidden by the foreground window, and the way multiple windows are arranged in order (for example, a phenomenon called "Flashing") can be made less visible and less noticeable, and the appearance is not impaired. Therefore, the control method in information processing device 10 can appropriately control the arrangement of windows when changing the layout of the screen area of display 150.
[0136] (Example of control when the window is minimized) Here, when switching from full-screen mode to half-screen mode and then returning to full-screen mode, there is a demand for windows that were minimized before switching to half-screen mode or before returning to full-screen mode to remain minimized. The same applies to maximized windows. Therefore, an example of the case where a window is minimized in the control of window rearrangement accompanying a screen layout change in this embodiment will be described next. Figure 12 is a diagram showing another example of window rearrangement accompanying a screen layout change according to this embodiment.
[0137] 6A, in which the information processing device 10 controls the screen layout so that the entire screen area DA of the display 150 is the display target in the single-screen mode. Here, multiple windows are arranged in the screen area DA. In this single-screen mode (i.e., before switching to the half-screen mode), the information processing device 10 stores the position and size of each window through a process separate from the OS process.
[0138] As shown in (B), when a user performs an operation to minimize all windows arranged in the screen area DA, the information processing device 10 minimizes all windows arranged in the screen area DA.
[0139] Next, as shown in (C), when the information processing device 10 detects a connection (dock) with the keyboard 30, it switches to half-screen mode, controls the second screen area DA2 to be blacked out or turned off, and changes the screen layout to display only the first screen area DA1. Because the screen area to be displayed changes from the entire screen area DA to only half of it, the first screen area DA1, the resolution changes. In response to the change in resolution, the OS (Operating System) of the information processing device 10 rearranges the multiple windows that were arranged in the screen area DA in the single-screen mode by changing their positions and sizes to the first screen area DA1, but in this example, all of the windows remain minimized. Furthermore, the information processing device 10 manages the Z order after switching to the half-screen mode through a process separate from the OS processing.
[0140] As shown in (D), when a window is unminimized in half-screen mode by a user operation, the OS automatically places the unminimized window within the available area of the first screen area DA1. When each window was minimized in (B), it was in full-screen mode, but in (D) it has already been changed to half-screen resolution, and the OS places it appropriately within the first screen area DA1.
[0141] Next, when a user performs an operation to re-minimize all windows arranged in the first screen area DA1, the information processing device 10 re-minimizes all windows arranged in the first screen area DA1, as shown in (E).
[0142] Then, as shown in (F), when the connection to the keyboard 30 is no longer detected and the connection to the keyboard 30 is undocked, the information processing device 10 returns from the half-screen mode to the full-screen mode. While it is desirable to keep the windows minimized before returning to the full-screen mode minimized, the information processing device 10 temporarily rearranges each window in the screen area DA at the position and size stored in the full-screen mode (i.e., before switching to the half-screen mode) shown in (A). This allows the OS to recognize the position and size of each window before switching to the half-screen mode. Furthermore, when rearranging each window, the information processing device 10 rearranges them in the order according to the Z order (latest Z order) managed in the half-screen mode. Then, as shown in (G), the information processing device 10 minimizes the windows that were minimized in the half-screen mode (E) among the windows that were rearranged in the screen area DA.
[0143] Note that windows that were minimized when returning from half-screen mode to full-screen mode remain minimized until the rearrangement of the windows shown in (F) is performed. Therefore, more specifically, the moment the mode switches from half-screen mode shown in (E) to full-screen mode shown in (F), the mode passes through a state in which all windows are minimized in full-screen mode, similar to the state shown in (G). In other words, more specifically, the transition occurs in the order of (E) → (G) → (F) → (G).
[0144] As a result, if the window is subsequently unminimized by a user operation or the like, the information processing device 10 will be able to place the window in the screen area DA at the position and size in the single screen mode (i.e., before switching to half screen mode) shown in (A) even through OS processing, as shown in (H).
[0145] Referring to Figure 13, we will explain the general behavior when there are minimized windows during the window rearrangement process that accompanies a screen layout change. Fig. 13 is a flowchart showing an example of the process when there is a minimized window in the window rearrangement process accompanying a screen layout change according to this embodiment. Note that the process of steps S101 to S113 in Fig. 13 is the same as the process of steps S101 to S113 in Fig. 10, and therefore a description thereof will be omitted.
[0146] In step S113, control unit 18 temporarily rearranges the windows in Z order at the positions and sizes of each window before switching to half-screen mode. If all windows are minimized when switching from half-screen mode back to full-screen mode, the windows remain minimized at the moment of switching to full-screen mode in step S111, and then the windows are rearranged by the processing of step S113. Then, the process proceeds to step S115 to minimize the windows.
[0147] (Step S115) Control unit 18 determines whether or not there is a window that was minimized when returning from half screen mode to full screen mode in step S111. If control unit 18 determines that there is no minimized window (NO), it ends the process because there is no window to minimize. On the other hand, if control unit 18 determines that there is a minimized window (YES), it proceeds to the process of step S117.
[0148] (Step S117) Of the windows that were rearranged in step S113, control unit 18 minimizes the windows that were minimized when returning from half-screen mode to full-screen mode in step S111. For example, if all windows were minimized when returning from half-screen mode to full-screen mode as shown in Fig. 10(E), control unit 18 minimizes all windows as shown in Fig. 10(G).
[0149] Next, an example of operation will be described in detail with reference to FIG. 14, in which an example of the process of managing window information by the control unit 18 is explained in the process of rearranging windows accompanying a change in the screen layout. Fig. 14 is a flowchart showing a detailed example of the window rearrangement process when there is a minimized window in accordance with a screen layout change according to this embodiment. Note that the processes in steps S121 to S139 in Fig. 14 are the same as the processes in steps S121 to S139 in Fig. 11, and therefore their description will be omitted.
[0150] In step S139, control unit 18 rearranges the windows in the Z order in half-screen mode, using the positions and sizes of each window in full-screen mode, and then proceeds to the processing of step S141. At this time, any windows that were minimized in half-screen mode are temporarily unminimized and rearranged.
[0151] (Step S141) Control unit 18 determines whether or not there is a window that was minimized when switching from half-screen mode to full-screen mode in step S137. If control unit 18 determines that there is no window that was minimized in half-screen mode (NO), control unit 18 returns to the processing of step S121. On the other hand, if control unit 18 determines that there is a window that was minimized (YES), control unit 18 proceeds to the processing of step S143.
[0152] (Step S143) Control unit 18 minimizes the windows that were minimized when returning from the half screen mode to the full screen mode in step S137, and returns to the processing of step S121.
[0153] In this way, even if a window minimized in half-screen mode is left minimized when returning from half-screen mode to full-screen mode, information processing device 10 first rearranges the window to its original position and size in full-screen mode before switching to half-screen mode when returning to full-screen mode, and then minimizes it, thereby allowing the OS to recognize the original position and size, and returning the window to its original position and size when minimization is released.In addition, when rearranging windows, information processing device 10 rearranges them in order according to the Z order, which makes it possible to prevent other windows from being obscured by the foreground window and making them less noticeable.
[0154] Although the example has been described in which a window that was minimized when switching from half-screen mode to full-screen mode is minimized after switching back to full-screen mode, a configuration may also be adopted in which a window that was minimized when switching from full-screen mode to half-screen mode is minimized after switching back from half-screen mode to full-screen mode.Furthermore, similar to a minimized window, a window that was maximized when switching from half-screen mode to full-screen mode or a window that was maximized when switching from full-screen mode to half-screen mode may be maximized after switching back to full-screen mode.
[0155] <Second embodiment> Next, a second embodiment of the present invention will be described. In the first embodiment, when switching back from half-screen mode to full-screen mode, a minimized (or maximized) window is rearranged to its original position and size before switching to half-screen mode, allowing the OS to recognize the original position and size before minimizing (or maximizing). In this case, although the windows are rearranged in order according to the Z-order, a flashing phenomenon is noticeable due to another factor: the windows are temporarily rearranged before being minimized (or maximized). This flashing phenomenon cannot be improved by rearranging windows in order according to the Z-order as in the first embodiment.
[0156] Therefore, in this embodiment, the information processing device 10 does not rearrange windows that were minimized (or maximized), but rearranges them when they are released from minimization (or maximization). This allows the information processing device 10 to both allow the OS to recognize the original position and size before switching to half-screen mode when returning from half-screen mode to full-screen mode, and to make the sequential arrangement of multiple windows (for example, a phenomenon called flashing) less visible and less noticeable.
[0157] Figure 15 shows an example of window rearrangement due to a screen layout change according to this embodiment. The example shown in Figure 15 is similar to the example shown in Figure 12 in that the window is minimized, but differs from the example shown in Figure 12 in that the connection with the keyboard 30 is disconnected (Undocked) from the half-screen mode (E) and the system returns to single-screen mode.
[0158] In the half-screen mode (E), all windows are minimized, so as shown in (F), when the connection with the keyboard 30 is disconnected (Undocked) and the system returns to single-screen mode, there are no windows to be rearranged, and all windows are minimized. In other words, in this embodiment, the flow from (F) to (G) in Figure 10 in the first embodiment does not occur.
[0159] Thereafter, when the window is unminimized (unminimized) as shown in (H), the information processing device 10 rearranges the minimized window in the screen area DA at the position and size stored in the single-screen mode (i.e., before switching to the half-screen mode) as shown in (A). For example, each time a user performs an operation to unminimize a minimized window, the information processing device 10 rearranges the operated window in the screen area DA at the position and size stored in the single-screen mode (i.e., before switching to the half-screen mode) as shown in (A). In other words, at this time, Z-order information is not used when rearranging the windows. In this way, by rearranging windows one by one each time minimization is performed, the sequential arrangement of multiple windows (e.g., a phenomenon known as "Flashing") can be made less visible and less noticeable. Furthermore, because the windows that were operated to unminimize are simultaneously focused (selected), the information processing device 10 also updates the Z-order information. In other words, the information processing device 10 moves the information of the window to the end of the list. Furthermore, if multiple windows are simultaneously unminimized, the information processing device 10 rearranges the windows in the order according to the Z-order (latest Z-order) that was managed in half-screen mode.
[0160] If there is a window that is not minimized in the half screen mode (E), that window will be rearranged when the connection with the keyboard 30 is undocked and the mode returns to full screen mode. If there are multiple windows to be rearranged, they will be rearranged in the order according to the Z order (latest Z order) that was managed in the half screen mode.
[0161] Referring to Figure 16, an overview of the operation in this embodiment when there are minimized windows during the window rearrangement process accompanying a screen layout change will be explained. Figure 16 is a flowchart showing an example of window rearrangement processing accompanying a screen layout change according to this embodiment. Note that the processing in steps S101 to S111 in Figure 16 is the same as the processing in steps S101 to S111 in Figures 10 and 13, and therefore its explanation is omitted.
[0162] When the control unit 18 returns from half-screen mode to full-screen mode in step S111, it proceeds to the process in step S201.
[0163] (Step S201) The control unit 18 determines whether the window was minimized when it was returned from half-screen mode to full-screen mode in step S111. If the control unit 18 determines that it was minimized (YES), it proceeds to the process in step S203. On the other hand, if the control unit 18 determines that it was not minimized (YES), it proceeds to the process in step S205.
[0164] (Step S203) For minimized windows, the control unit 18 rearranges them to the position and size of each window stored in step S101 (the position and size of each window before switching to half-screen mode) when the minimization is released. If multiple windows are released simultaneously, the control unit 18 rearranges the windows in the order according to the Z-order (Z-order in half-screen mode) stored in step S107.
[0165] (Step S205) The control unit 18 rearranges the windows in the order of the Z order stored in step S107 (Z order in half-screen mode), using the position and size of each window stored in step S101 (the position and size of each window before switching to half-screen mode).
[0166] Next, referring to Figures 17 and 18, we will explain in detail an example of the operation in which the control unit 18 manages window information during the window rearrangement process that accompanies a change in the screen layout. Figure 17 is a flowchart showing a detailed example of the window rearrangement process associated with a screen layout change according to this embodiment. Note that the processes in steps S121 to S137 in Figure 17 are the same as the processes in steps S121 to S137 in Figures 11 and 14, and their explanation is omitted.
[0167] When control unit 18 switches from half-screen mode to full-screen mode in step S137, the process proceeds to step S139A. In step S139A, control unit 18 rearranges non-minimized windows based on the window information. Specifically, control unit 18 rearranges non-minimized windows in the Z order in half-screen mode, based on the window information, with the position and size of each window in full-screen mode. At this time, windows that were minimized when switching from half-screen mode to full-screen mode remain minimized.
[0168] Furthermore, if the control unit 18 determines in step S121 that it has acquired an event (YES), and the event is a minimize-out event that unminimizes any one of the windows, it proceeds to the process in step S141.
[0169] (Step S141) The control unit 18 determines whether or not the mode is single-screen mode. If the control unit 18 determines that the mode is single-screen mode (YES), the process proceeds to step S143. On the other hand, if the control unit 18 determines that the mode is not single-screen mode (NO), the process does not proceed to step S143, but returns to step S121. In other words, the process of canceling minimization is left to the OS.
[0170] (Step S143) Control unit 18 determines whether the window corresponding to the acquired event (the window to be unminimized) is the first unminimization event after switching to the single-screen mode. If control unit 18 determines that the event is the first unminimization event (YES), control unit 18 proceeds to the process of step S145. On the other hand, if control unit 18 determines that the event is not the first unminimization event (NO), control unit 18 does not proceed to the process of step S145, but returns to the process of step S121. In other words, the unminimization process is left to the OS.
[0171] (Step S145) The control unit 18 unminimizes the window corresponding to the acquired event (the window to be unminimized), and rearranges the window to the position and size of the window in the single-screen mode before switching to the half-screen mode, based on the position and size information managed in the window information list. Then, the process returns to step S121. At the same time, since the window is focused, the control unit 18 moves the information of the window to the end of the list.
[0172] Fig. 18 is a flowchart showing an example of the rearrangement process when multiple windows are unminimized simultaneously according to this embodiment. Fig. 18 shows an extracted portion of the process shown in Fig. 17 when multiple windows are unminimized simultaneously. If control unit 18 determines in step S121 that an event has been acquired (YES), and the event is a minimization undo event indicating that multiple windows are to be unminimized simultaneously, the process proceeds to step S151.
[0173] (Step S151) The control unit 18 determines whether or not the display is in the single-screen mode. If the control unit 18 determines that the display is in the single-screen mode (YES), the process proceeds to step S153. On the other hand, if the control unit 18 determines that the display is not in the single-screen mode (NO), the process does not proceed to step S153, but returns to step S121. In other words, the process of canceling minimization is left to the OS.
[0174] (Step S153) Control unit 18 determines whether or not each of the windows corresponding to the acquired event (windows to be unminimized) is the first unminimization event after switching from half-screen mode to full-screen mode. If control unit 18 determines that the event is the first unminimization event (YES), control unit 18 proceeds to the process of step S155. On the other hand, if control unit 18 determines that the event is not the first unminimization event (NO), control unit 18 does not proceed to the process of step S155, but returns to the process of step S121. In other words, for windows that are not the target of the first unminimization event, the unminimization process is left to the OS.
[0175] (Step S155) Control unit 18 unminimizes the window that is the target of the first unminimization event among the windows corresponding to the acquired events (windows to be unminimized), and rearranges the window in the order according to the Z order in half-screen mode, at the position and size of the window in full-screen mode before switching to half-screen mode, based on the Z order, position, and size information managed in the window information list. Then, the process returns to step S121.
[0176] In this way, when control unit 18 acquires an unminimization event indicating that multiple windows will be unminimized simultaneously, if the windows to be unminimized include a window that is the first to be unminimized after switching from half-screen mode to single-screen mode and a window that is the second or subsequent time that it is unminimized, control unit 18 performs window rearrangement processing in step S155 for the window that is the first to be unminimized, but does not perform the processing in step S155 for the windows that are the second or subsequent time that it is unminimized, leaving the unminimization processing to be performed by the OS. If all of the windows to be unminimized are the first to be unminimized after switching from half-screen mode to single-screen mode, control unit 18 performs window rearrangement processing in step S155 for all of those windows.
[0177] Although the example has been described in which a window that was minimized when switching from half-screen mode to full-screen mode is minimized after switching back to full-screen mode, a configuration may also be adopted in which a window that was minimized when switching from full-screen mode to half-screen mode is minimized after switching back from half-screen mode to full-screen mode.Furthermore, similar to a minimized window, a window that was maximized when switching from half-screen mode to full-screen mode or a window that was maximized when switching from full-screen mode to half-screen mode may be maximized after switching back to full-screen mode.
[0178] Thus, in the information processing device 10 according to this embodiment, when the control unit 18 returns from half-screen mode (an example of a second layout) to one-screen mode (an example of a first layout), it does not perform window rearrangement processing for windows that were minimized or maximized when returning to one-screen mode. Instead, it performs window rearrangement processing when the minimized or maximized state is released, to rearrange the windows that were minimized or released.
[0179] As a result, when the information processing device 10 changes from single-screen mode to half-screen mode and then back to single-screen mode, windows that were minimized or maximized in half-screen mode will remain minimized or maximized, and when they are released from minimization or maximization, the windows will be rearranged. Therefore, the windows will not be temporarily rearranged before being minimized or maximized, and the appearance will not be negatively affected. Consequently, the information processing device 10 can appropriately control the arrangement of windows when the layout of the screen area of the display 150 is changed.
[0180] Furthermore, when the control unit 18 returns from half-screen mode to full-screen mode, it may not perform window rearrangement processing on windows that were minimized or maximized when the change was made from full-screen mode to half-screen mode. Instead, it may perform window rearrangement processing when the minimized or maximized windows are released, rearranging the windows that were minimized or released.
[0181] As a result, when information processing device 10 changes from full-screen mode to half-screen mode and then returns to full-screen mode, windows that were minimized or maximized before changing to half-screen mode continue to be minimized or maximized, and the windows are rearranged when the minimization or maximization is canceled, so that the appearance is not impaired by temporarily rearranging the windows and then minimizing or maximizing them. Therefore, information processing device 10 can appropriately control the arrangement of windows when the layout of the screen area of display 150 is changed.
[0182] <Third embodiment> Next, a third embodiment of the present invention will be described. In the first and second embodiments, an example of window rearrangement control when switching from single-screen mode to half-screen mode and then back to single-screen mode was described as an example of window rearrangement control when changing the screen layout. In this embodiment, as another example of window rearrangement control when switching from single-screen mode to half-screen mode and then back to single-screen mode, an example of window rearrangement control when, for example, switching between the display of the first screen area DA1 and the display of the second screen area DA2 in dual-screen mode (switching from dual-screen mode to inverted dual-screen mode, or vice versa) will be described.
[0183] FIG. 19 is a diagram illustrating an example of a screen layout change according to this embodiment. In this diagram, "1" and "2" are used to distinguish between display areas in dual-screen mode, as in FIG. 5. When the first screen area DA1 is set to display area "1" and the second screen area DA2 is set to display area "2" in dual-screen mode, swapping the display of each screen area (Swap) switches to an inverted dual-screen mode in which the first screen area DA1 becomes display area "2" and the second screen area DA2 becomes display area "1." Furthermore, swapping the display of each screen area in the inverted dual-screen mode switches to dual-screen mode.
[0184] When swapping the display of each screen area in dual-screen mode, the windows displayed in the first screen area DA1 and the second screen area DA2 are not necessarily first or second in the Z order. For example, if the user selects from the toolbar a window that is located in a lower layer than the window displayed in the first screen area DA1 (primary) and displays it as the active window, the Z order will change, and the window displayed in the second screen area DA2 (secondary) may become third or lower in the Z order. Therefore, when switching from dual-screen mode to reversed dual-screen mode, simply rearranging the windows in the order according to the Z order does not necessarily result in the windows being rearranged from the foreground onwards.
[0185] Therefore, when switching the display of each screen area in the dual-screen mode, the information processing device 10 first swaps and rearranges the window that was located at the forefront (top layer) of the first screen area DA1 with the window that was located at the forefront (top layer) of the second screen area DA2. Next, the information processing device 10 rearranges the remaining windows in accordance with the Z order.
[0186] 20 is a flowchart showing an example of the window rearrangement process accompanying a change in screen layout according to this embodiment. Here, the operation of the window rearrangement process accompanying a switch from dual screen mode to half screen mode will be described.
[0187] (Step S301) The control unit 18 stores the position and size information and Z order for each window arranged in the first screen area DA1 and the second screen area DA2 in dual-screen mode. For example, the control unit 18 stores and updates the position and size information for each window or the Z order when an application is launched, when the position or size of a window is changed, or when the Z order changes. This can be done in exactly the same way as the Z order management described in the first and second embodiments. The order is changed by an event such as focusing on each window. Then, the process proceeds to step S303.
[0188] (Step S303) The control unit 18 determines whether or not the display of each screen area has been swapped in the dual-screen mode. For example, in the dual-screen mode shown in Fig. 14, when an operation to select the display mode switching icon C23 of the switching menu M2 shown in Fig. 5(C) is performed, the control unit 18 determines that the display of each screen area has been swapped (YES), and proceeds to the processing of step S305. On the other hand, when the control unit 18 determines that the display of each screen area has not been swapped (NO) in the dual-screen mode, it returns to the processing of step S301.
[0189] (Step S305) The control unit 18 swaps and rearranges the window that was located at the forefront (top layer) of the first screen area DA1 in the dual-screen mode with the window that was located at the forefront (top layer) of the second screen area DA2, switches from the dual-screen mode to the inverted dual-screen mode, and then proceeds to the processing of step S307.
[0190] (Step S307) The control unit 18 rearranges the remaining windows that were not rearranged in step S305 in the order according to the Z order in the two-screen mode before switching to the inverted two-screen mode.
[0191] As described above, in the information processing device 10 according to this embodiment, the control unit 18 performs a screen layout change process to change the screen layout of the display 150 in a two-screen mode (an example of a layout divided into multiple areas) that includes a first screen area DA1 (an example of a first area) and a second screen area DA2 (an example of a second area), by swapping the display of the first screen area DA1 and the display of the second screen area DA2. When the screen layout change is performed to swap the display of the first screen area DA1 and the display of the second screen area DA2, the control unit 18 performs a window rearrangement process, and based on the information of the position of each window stored by the storage process before the screen layout change and the Z order managed by the management process, it swaps and rearranges the first window that was placed at the front of the windows that were placed in the first screen area DA1 and the second window that was placed at the front of the windows that were placed in the second screen area DA2. After that, the control unit 18 rearranges the windows other than the first and second windows in the order according to the Z order managed by the management process.
[0192] As a result, when the information processing device 10 swaps the display of each screen area in dual-screen mode, it swaps the foremost window in each screen area before rearranging the remaining windows. This makes the sequential arrangement of multiple windows (a phenomenon known as flashing) less noticeable and less conspicuous, thus maintaining a good appearance. Therefore, the information processing device 10 can appropriately control the arrangement of windows when the layout of the screen areas of the display 150 is changed.
[0193] Furthermore, in the two-screen mode, an inactive window is placed in a lower layer of the foremost window of the first screen area DA1 (primary). This creates a problem in this embodiment where, depending on the Z-order, the windows may not be rearranged in order from the foreground when the display of each screen area is swapped. Therefore, the information processing device 10 may minimize all windows except the foreground window in each screen area when switching from one-screen mode to two-screen mode, and rearrange them to their original positions when returning to one-screen mode.
[0194] For example, when the control unit 18 changes from a single-screen mode (an example of a first layout) to a two-screen mode (an example of a third layout), in the window rearrangement process, it minimizes all windows except the one that was placed at the forefront in both the first screen area DA1 and the second screen area DA2 in the two-screen mode. Then, when the control unit 18 returns from the two-screen mode to a single-screen mode, it unminimizes the windows that were minimized in the two-screen mode and rearranges the windows based on the window position information stored by the storage process before changing from the single-screen mode to the two-screen mode and the Z-order managed by the management process.
[0195] In this embodiment, the window rearrangement process when swapping the display of the first screen area DA1 (an example of the first area) and the display of the second screen area DA2 (an example of the second area) in a two-screen mode has been described, but this is not limited to the two-screen mode. For example, it can be similarly applied when swapping the display of each screen area in a screen layout in which the screen area of the display 150 is divided into three or more areas.
[0196] <Fourth embodiment> Next, a fourth embodiment of the present invention will be described. In this embodiment, as another example of control of window rearrangement accompanying a change in another screen layout, an example of control of window rearrangement when switching from dual screen mode to single screen mode will be described.
[0197] 21 is a diagram showing an example of a screen layout change according to this embodiment. As shown in the figure, even when switching from a two-screen mode in which the screen area DA is divided into a first screen area DA1 and a second screen area DA2 to a first screen mode in which the entire screen area DA is used as an area in which windows can be displayed, the information processing device 10 rearranges windows in accordance with the Z order. This allows the foremost window to be arranged first, and other windows arranged later are likely to be hidden by the foremost window, making them less noticeable.
[0198] Figure 22 is a flowchart showing an example of window rearrangement processing associated with a screen layout change according to this embodiment. The operation of window rearrangement processing associated with switching from a two-screen mode to a one-screen mode will be explained with reference to this figure.
[0199] Fig. 22 shows the processing when an event indicating switching from the dual-screen mode to the single-screen mode is acquired in step S121 shown in Fig. 11. As explained in the processing of steps S123 to S133 in Fig. 11, control unit 18 manages Z-order information in each screen mode. Furthermore, at least in single-screen mode, when there is a change in the position or size of a window, control unit 18 updates and manages the position and size information for each window.
[0200] The control unit 18 determines whether or not an event was acquired in step S121. If it determines that an event indicating a switch from two-screen mode to one-screen mode has been acquired (YES), it proceeds to the process in step S401.
[0201] (Step S401) The control unit 18 performs control to switch from the dual screen mode to the single screen mode, and then proceeds to the processing of step S403.
[0202] (Step S403) Based on the Z order and the position and size information for each window managed in the window information list, control unit 18 rearranges the windows that were arranged in first screen area DA1 and second screen area DA2 in dual screen mode into screen area DA. Specifically, control unit 18 rearranges the windows in screen area DA in the order according to the Z order in dual screen mode, using the positions and sizes of each window in single screen mode before switching to dual screen mode.
[0203] Thus, in the information processing device 10 according to the present embodiment, the control unit 18 performs a screen layout change process to change between a single-screen mode (an example of a first layout) in which the entire screen area of the display 150 is an area in which windows can be displayed, and a dual-screen mode (an example of a third layout) in which the screen area of the display 150 is divided into multiple areas. When the dual-screen mode is changed to the single-screen mode, the control unit 18 performs a window rearrangement process to rearrange one or more windows in accordance with the Z order managed by the management process.
[0204] As a result, when information processing device 10 changes from dual-screen mode to single-screen mode, it rearranges windows in accordance with the Z order, so that there is a high possibility that other windows will be hidden by the foreground window, and the sequential arrangement of multiple windows (for example, a phenomenon called "Flashing") can be made less visible and less noticeable, and the appearance is not impaired. Thus, information processing device 10 can appropriately control the arrangement of windows when the layout of the screen area of display 150 is changed.
[0205] In this embodiment, the window rearrangement process when switching from dual-screen mode to single-screen mode has been described, but it is not limited to dual-screen mode. For example, it can be similarly applied when switching from a screen layout in which the screen area of display 150 is divided into three or more areas to single-screen mode.
[0206] Although embodiments of this invention have been described in detail above with reference to the drawings, the specific configuration is not limited to those described above, and various design changes can be made without departing from the spirit of this invention. For example, the configurations described in each of the above embodiments may be combined in any way.
[0207] In the above embodiment, an example has been described in which the Hall sensor 17 is used to detect connection (placement) with the keyboard 30, but the detection method is not limited to this. For example, a photo sensor, a mechanical switch, or the like may be used to detect connection (placement) with the keyboard 30.
[0208] Furthermore, in the embodiments described above, the display 150 is a single foldable display, and examples of using a single display in single-screen mode, two-screen mode, inverted two-screen mode, half-screen mode, etc., were explained. However, the display 150 may be configured to include multiple (e.g., two) displays. For example, a single-screen mode can be used in which the screen areas of the two displays are combined into one screen area DA and the display is controlled, and a two-screen mode can be used in which the display of the screen areas of the two displays is controlled individually. In addition, the processing in each of the embodiments described above can be applied to a half-screen mode in which only one of the two displays is used as the display target and the other is controlled to display black or turn off. Furthermore, the screen areas of one or both of the two displays may be divided into two display areas to be used in a three-screen mode or a four-screen mode.
[0209] Furthermore, while the above-described embodiment explained an example of touch operation on multiple touch-panel displays in which an input unit (touch sensor) and a display unit are integrated, the operation is not limited to touch operation and may also be performed using mouse clicks, gestures, etc.
[0210] The information processing device 10 described above includes an internal computer system. A program for implementing the functions of each component of the information processing device 10 may be recorded on a computer-readable recording medium, and the program may be loaded into a computer system and executed to perform processing in each component of the information processing device 10. Here, "loading a program recorded on a recording medium into a computer system and executing it" includes installing the program into a computer system. The term "computer system" here includes hardware such as an OS and peripheral devices. The term "computer system" may also include multiple computers connected via a network, including the Internet, a WAN, a LAN, a dedicated line, or other communication lines. The term "computer-readable recording medium" refers to portable media such as a flexible disk, a magneto-optical disk, a ROM, a CD-ROM, or a storage device such as a hard disk built into a computer system. The recording medium storing the program may also be a non-transitory recording medium such as a CD-ROM.
[0211] The recording medium also includes internal or external recording media accessible from a distribution server for distributing the program. The program may be divided into multiple parts, downloaded at different times, and then combined by each component of the information processing device 10, or each divided program may be distributed by a different distribution server. Furthermore, the term "computer-readable recording medium" also includes a medium that stores a program for a certain period of time, such as volatile memory (RAM) within a computer system that serves as a server or client when a program is transmitted over a network. The program may also be a medium that realizes part of the above-described functions. Furthermore, the program may be a so-called differential file (differential program) that can realize the above-described functions in combination with a program already stored in the computer system.
[0212] Furthermore, some or all of the functions of the information processing device 10 in the above-described embodiment may be implemented as an integrated circuit such as an LSI (Large Scale Integration). Each function may be individually processorized, or some or all of them may be integrated into a single processor. In addition, the method of implementing the integrated circuit is not limited to LSIs; it may also be implemented using dedicated circuits or general-purpose processors. Furthermore, if an integrated circuit technology that can replace LSIs emerges due to advances in semiconductor technology, an integrated circuit using that technology may be used. [Explanation of symbols]
[0213] 10 Information processing unit, 101 First housing, 102 Second housing, 103 Hinge mechanism, 11 Communication unit, 12 RAM, 13 Storage unit, 14 Speaker, 15 Display unit, 16 Camera, 150 Display, 155 Touch sensor, 161 First acceleration sensor, 162 Second acceleration sensor, 17 Hall sensor, 18 Control unit, 181 System processing unit, 1811 Execution application information generation unit, 182 Detection processing unit, 1821 Open / close detection unit, 1822 Posture detection unit, 1823 Connection detection unit, 1824 Operation detection unit, 183 Display processing unit, 1831 Display mode determination unit, 1832 Display mode switching unit, 1834 Display control unit
Claims
1. The display and a memory for temporarily storing application programs; a processor that controls displaying a window of the application on the display by executing a program of the application stored in the memory; Equipped with The processor: a screen layout change process for changing the layout of an area in which one or more windows can be displayed within a screen area of the display; a storage process for storing information on the position of each window before the layout of the screen area is changed by the screen layout change process; a management process for managing the Z order of one or more of the windows arranged in a screen area of the display; a window rearrangement process for rearranging one or more windows in accordance with the Z order managed by the management process when rearranging one or more windows based on the information on the position of each window stored by the storage process after changing the layout of the screen area by the screen layout change process; An information processing device that performs the above.
2. The processor: In the screen layout change process, a change is made between a first layout in which the entire screen area of the display is used as an area in which the window can be displayed and a second layout in which a part of the screen area of the display is used as an area in which the window can be displayed, when the screen layout is changed from the first layout to the second layout by the screen layout change processing and then returned to the first layout, in the window rearrangement processing, the windows are rearranged based on the information on the positions of the windows stored by the storage processing before the change from the first layout to the second layout, and when the windows are rearranged, the Z order managed by the management processing is referenced and the windows are rearranged in an order according to the Z order immediately before the change from the second layout to the first layout. The information processing device according to claim 1 .
3. The processor: performing a placement detection process for detecting placement of an external keyboard in a predetermined area of the screen area of the display; When the placement detection process detects that the keyboard has been placed in the first layout, the screen layout change process changes the layout to the second layout in which the part of the screen area of the display excluding the predetermined area is an area in which the window can be displayed. The information processing device according to claim 2 .
4. The processor: When the screen layout is returned from the second layout to the first layout by the screen layout change processing, the window rearrangement processing is not executed for the window that was minimized or maximized when the screen layout is returned to the first layout, and when the minimized or maximized state is canceled, the window rearrangement processing is executed to rearrange the window that has been canceled from the minimized or maximized state. The information processing device according to claim 2 .
5. The processor: When the screen layout change process returns from the second layout to the first layout, the window rearrangement process is not executed for the windows that were minimized or maximized when the screen layout change is performed from the first layout to the second layout, and when the minimized or maximized state is canceled, the window rearrangement process is executed to rearrange the windows that have been canceled from the minimized or maximized state. The information processing device according to claim 2 .
6. The processor: In the screen layout change process, changing the layout in which the screen area of the display is divided into a plurality of areas including a first area and a second area, by swapping the display of the first area with the display of the second area; When the screen layout change process has performed a layout change that swaps the display of the first area and the display of the second area, the window rearrangement process swaps and rearranges a first window that was located at the forefront of the windows that were located in the first area and a second window that was located at the forefront of the windows that were located in the second area based on the position information for each window stored in the storage process before the layout change and the Z order managed by the management process, and then rearranges windows other than the first window and the second window in an order according to the Z order managed by the management process. The information processing device according to claim 1 .
7. The processor: the screen layout change process changes between a first layout in which the entire screen area of the display is an area in which the window can be displayed and a third layout in which the screen area of the display is divided into a plurality of areas including a first area and a second area; when the first layout is changed to the third layout by the screen layout change process, in the window rearrangement process, windows other than the window that was arranged in the forefront in each of the plurality of areas in the third layout are minimized; when the screen layout is returned from the third layout to the first layout by the screen layout change processing, the windows minimized in the third layout are unminimized, and the windows are rearranged based on the position information for each window stored by the storage processing before the change from the first layout to the third layout and the Z order managed by the management processing. The information processing device according to claim 1 .
8. The processor: In the screen layout change process, a change is made between a first layout in which the entire screen area of the display is an area in which the window can be displayed and a third layout in which the screen area of the display is divided into a plurality of areas; When the screen layout change process changes the third layout to the first layout, the window rearrangement process rearranges one or more of the windows in an order according to the Z order managed by the management process. The information processing device according to claim 1 .
9. A control method for an information processing device including a display, a memory that temporarily stores an application program, and a processor that controls displaying a window of the application on the display by executing the application program stored in the memory, comprising: the processor: a screen layout changing step of changing a layout of an area in which one or more of the windows can be displayed within a screen area of the display; a storage step of storing information on the position of each window before the layout of the screen area is changed by the screen layout change step; a managing step of managing a Z-order of one or more of the windows arranged in a screen area of the display; a window rearrangement step of rearranging one or more windows in accordance with the Z order managed by the management step when rearranging one or more windows based on the position information for each window stored by the storage step after changing the layout of the screen area by the screen layout change step; A control method comprising:
Citation Information
Patent Citations
Information processing device and control method
JP7440672B1