Information processing device, information processing method, and computer-readable recording medium which records program

An information processing device (100) is configured by: a controller (205); a first touch panel (103); a second touch panel (104); and a storage (213). The controller (205) includes a window controller (212) for controlling display of a plurality of windows, and stores a history of the use of the plurality of windows in a window history storage (214). When a new application is started up, a new window display layout candidate is generated and displayed according to the history. When the displayed window display layout candidate is selected, windows are displayed with the selected display layout.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a national stage application of International Application No. PCT/JP2012/060786 entitled “Information Processing Device, Information Processing Method, and Computer-Readable Recording Medium Which Records Program,” filed on Apr. 20, 2012, which claims the benefit of the priority of Japanese patent application No. 2011-094263, filed on Apr. 20, 2011, the disclosures of each of which are hereby incorporated by reference in their entirety.

TECHNICAL FIELD

The present invention relates to an information processing device, an information processing method, and a computer-readable recording medium that records a program, which support setting contents to be displayed on a display.

BACKGROUND ART

Information processing devices with multiple window functions, such as portable appliances and personal computers, comprise one or a plurality of display screens. In the use of such information processing devices, a user sometimes manipulates setting a plurality of windows displayed on one or a plurality of screens in a favorable display layout.

However, user's preferences for a window layout vary depending on the situations. For this reason, there is a problem where a user needs to manipulate changing a window layout each time according to the situation of the moment, making the manipulation complex.

A technique, therefore, has been proposed for supporting manipulation of setting a layout for displaying windows for information processing devices with display screens.

For example, Unexamined Japanese Patent Application Kokai Publication No. 2005-12324 discloses a portable appliance that, based on a running application displayed on a first display screen, determines contents to be displayed on a second display screen.

CITATION LIST

Patent Literature

Patent Literature 1: Unexamined Japanese Patent Application Kokai Publication No. 2005-12324.

SUMMARY OF INVENTION

Technical Problem

Nevertheless, there are still insufficiencies in the technique for supporting manipulation of setting a layout for displaying windows for information processing devices with display screens.

For example, the portable appliance described in Unexamined Japanese Patent Application Kokai Publication No. 2005-12324 only displays predetermined contents on the second display screen in predesigned and predetermined situations, being unable to provide flexible setting support tailored to users' needs.

The present invention has been conceived in consideration of the above context, and has an objective of providing an information processing device, an information processing method, and a computer-readable recording medium that records a program, which realize a favorable window layout tailored to users' needs without necessitating complicated manipulation.

Solution to Problem

To achieve the above objective, the information processing device according to a first aspect of the present invention comprises:

a display that displays one or more windows;

a controller that controls the display so as to control display of the windows by the display and a layout of the windows; and

a storage that stores a history of the layout of the windows that is displayed on the display,

wherein the controller comprises:a window controller that generates one or more candidates of the layout of the windows based on the history of the layout of the windows; anda display controller that causes the display to display the candidates generated by the window controller,

the window controller issues an instruction to the display controller to display the windows in a layout selected from the candidates displayed on the display, and

the display controller causes the windows to be displayed in the selected layout according to the instruction from the window controller.

The information processing method according to a second aspect of the present invention comprises:

controlling a layout of one or more windows to display the windows;

storing a history of the layout of the displayed windows;

generating one or more candidates of the layout of the windows based on the stored history;

displaying the generated candidates; and

displaying one or more windows in a layout indicated by a candidate selected from the displayed candidates.

Further, a program stored in a computer-readable recording medium according to a third aspect of the present invention, causes a computer to execute the processing of:

controlling a layout of one or more windows to display the windows;

storing a history of the layout of the displayed windows;

generating one or more candidates of the layout of the windows based on the stored history;

displaying the generated candidates; and

displaying one or more windows in a layout indicated by a candidate selected from the displayed candidates.

Advantageous Effects of Invention

The information processing device, the information processing method, and the computer-readable recording medium that records the program, according to the present invention, based on the history of window display layouts, generate candidates of the window layouts and display windows in the layout of a candidate selected from the generated candidates. This realizes a favorable window layout tailored to users' needs without necessitating complicated manipulation.

DESCRIPTION OF EMBODIMENTS

The following will describe the embodiments of the present invention with reference to the drawings. It should be noted that the same or equivalent portions in the drawings are assigned the same signs and numerals.

The appearance of a portable appliance100(an information processing device) according to Embodiment 1 of the present invention will be described with reference toFIGS. 1A and 1B.

FIG. 1Ais a diagram showing the foreside of the portable appliance100, andFIG. 1Bis a diagram showing the back side of the portable appliance100.

As shown inFIGS. 1A and 1B, the portable appliance100has two chassis (a first chassis101, a second chassis102). The first chassis101houses a first touch panel103. The second chassis102houses a second touch panel104. The first touch panel103is positioned at left from user's side. The second touch panel104is positioned at right from user's side.

The first chassis101and the second chassis102are connected via a joint105.

The joint105includes data wires for the first touch panel103or the second touch panel104to exchange data to and from a controller205, as will be described hereinafter. The joint105possibly also comprises a hinge to make the first chassis101and the second chassis102foldable.

Next, the internal configuration of the portable appliance100will be described with reference toFIG. 2. The portable appliance100, as shown inFIG. 2, is configured by a first touch panel103, a second touch panel104, a controller205, and a storage213.

The first touch panel103and the second touch panel104are devices, each comprising a function of displaying images on the screen and a function of detecting a position where a user touched on the screen and outputting a signal indicating the detected position.

To realize the above functions, the first touch panel103is configured by disposing, in layers, a first liquid crystal panel202that displays images designated by the controller205on the screen and a first sensor201that detects touching and the position of the touching. The first sensor201detects a position where a user touched on the screen of the first liquid crystal panel202, and transfers the detected position to the controller205.

The second touch panel104is, likewise, configured by disposing, in layers, a second liquid crystal panel204that displays images designated by the controller205on the screen and a second sensor203that detects touching and the position of the touching. The second sensor203detects a position where a user touched on the screen of the second liquid crystal panel204, and transfers the detected position to the controller205.

The controller205physically comprises a CPU (Central Processing Unit) or DSP (Digital Signal Processor) and a memory. On the functional side, the controller205comprises a first touch panel controller206, a second touch panel controller209, and a window controller212. The controller205carries out a variety of processing based on a program stored in the storage213.

The portable appliance100comprises a communicator, not shown, for communicating with other devices via this communicator.

The first touch panel controller206controls the first touch panel103. The first touch panel controller206is configured by a first manipulation determiner207and a first display controller208.

The first manipulation determiner207receives outputs (signals indicating positions where a user touched) of the first sensor201of the first touch panel103and identifies manipulation that the user performed to the touch panel103.

The first display controller208receives image data of the images of display subjects from the window controller212, and controls (drives) the first liquid crystal panel202to display the images corresponding to the received image data.

The second touch panel controller209controls the second touch panel104. The second touch panel controller209is configured by a second manipulation determiner210and a second display controller211.

The second manipulation determiner210receives outputs (signals indicating positions where a user touched) of the second sensor203of the second touch panel104and identifies manipulation that the user performed to the touch panel104.

The second display controller211receives image data of the images of display subjects from the window controller212, and controls the second liquid crystal panel204to display the images corresponding to the received image data.

The window controller212controls windows used by a user for utilizing applications.

The window controller212executes an application program stored in the storage213, and determines display modes of one or a plurality of windows to be displayed based on the processing result, manipulation identified by the first manipulation determiner207and manipulation identified by the second manipulation determiner210. The display modes of windows, here, mean the number of the windows, the layout of each window, and the content displayed on each window. The window controller212instructs the first display controller208and the second display controller211to display windows in the determined display modes.

The storage213is physically configured by a flash memory, ROM (Read Only Memory), RAM (Random Access Memory), hard disk, and the like, and functionally comprises a window history storage214. The storage213stores data designated by a controller205. The controller205reads out the designated data from the storage213.

The following will describe, with reference toFIGS. 3A to 4, how windows displayed on the first liquid crystal panel202and the second liquid crystal panel204are controlled in the portable appliance100having the above-described configuration.

It should be noted that a case where one window is displayed on one screen will be described for easy understanding.

FIGS. 3A to 3Cshow display examples of touch panels103and104when a user is executing application A. The first touch panel103displays the display image of application A. In this case, there are possibly considered three patterns of contents to be displayed on the second touch panel104.

The first pattern is a case where a user desires only images accompanying the behavior of application A to be displayed in window Wa displayed on the first touch panel103(displayed on the whole screen of the first touch panel103inFIG. 3A) without any other special contents to be displayed. In this case, arbitrary contents are displayed on the second touch panel104. The second touch panel104is possibly turned off, displays a black screen, or displays a default screen (a wall paper, a screen saver, or the like) (FIG. 3A). Alternatively, a window of an arbitrary application is possibly displayed.

The next pattern is shown inFIG. 3Bwhere the second touch panel104displays window Wb displaying images according to the behavior of application B that is used in relation with application A. In this case, a user manipulates application A while referring to the screen of application B displayed on the second touch panel104. For example, when a user creates a mail based on information that the user searched on the Internet, the user manipulates a mailer (application A) while seeing the window Wb of a browser (application B). Hereinafter, as in this case, when windows Wa and Wb of two applications are displayed on respective screens, it is referred to as a two app display. Moreover, such a window display layout is referred to as a two app display layout.

The last pattern is shown inFIG. 3Cwhere the window Wa of application A is displayed not only on the first touch panel103, but also on the second touch panel104. In this case, the first touch panel103displays the left half of the window Wa of application A and the second touch panel104displays the right half of the window Wb. Alternatively, two windows, which display application A, are respectively displayed on the first touch panel103and the second touch panel104. A user uses the window Wa displayed on the two screens to manipulate application A.

To display one or a plurality of windows on two screens as shown inFIGS. 3A to 3C, the window controller212defines the following hierarchical structure of windows. Windows W1to W5to be displayed on the left screen (first touch panel103) and the right screen (second touch panel104) will be defined as shown inFIG. 4.

InFIG. 4, windows W1to W5are represented by laterally long rectangles with rounded corners. Windows W1to W5are each assigned ID (Identification) numbers. Such ID numbers are indicated by numerical values within the rounded corner rectangles.

Windows W1to W5are laid out on the right screen (ID:406,401), the left screen (ID:405), or over both left and right screens (ID:403,402).

Windows W1to W5are respectively assigned hierarchical values 1 to 5. One or a plurality of windows among windows W1to W5, configure a hierarchical structure. The highest level window in the hierarchy (with the largest hierarchical value) for each screen is displayed on the screen. In this way, the state of a window, which is defined by the place and hierarchy occupied by the window, is referred to as the layout of that window. Moreover, the layout of a window in the highest layer displayed on each screen is referred to as the display layout (a layout displaying a window).

In the example ofFIG. 4, since a window with ID:406is in the highest layer on the left screen, window W5with ID:406is displayed on the left screen. Whereas, since a window with ID:405is in the highest layer on the right screen, window W4with ID:405is displayed on the right screen.

This hierarchical structure changes when a window is disposed; a new application is activated; or a focus is switched to a lower level window, according to the manipulation of a user or the processing result of an application. When and how the hierarchical structure changes is determined by the system setting.

When the hierarchical structure changes, a window which has come to be in the highest layer of the renewed hierarchical structure is displayed on each screen.

For example, when window W5with ID:406is disposed from the state ofFIG. 4, the left half of window W3with ID:403, which is located in the next highest layer to the window with ID:406, is displayed on the left screen. As window W4with ID:405is displayed on the right screen, the right half of window W3with ID:403is still hidden.

The hierarchical structure ofFIG. 4is, specifically, defined by a window state list212ashown inFIG. 5. Each row of the window state list212ahas the state of corresponding window registered therein. Each column of the window state list212aindicates the details of each item for defining the state of a window.

Columns of the window state list212aare: window ID, the position of window, the hierarchy of window, application ID, the name of application, the type of application, and activation source application ID that induces the application.

The window ID is an identifier for identifying a corresponding window.

The position of window represents a screen/screens on which a window corresponding to each row is positioned. The position of window takes any one of three values: RIGHT, LEFT, FULL. If the value is RIGHT, the corresponding window is displayed only on the right screen; LEFT, on the left screen; and, FULL, on both left and right screens.

The hierarchy of window represents a position, in the hierarchical structure shown inFIG. 4, occupied by the corresponding window. The hierarchy of window is defined as a positive value. The larger this numerical value is, the higher in the hierarchy the corresponding window is positioned.

Each window displays the processing result of the corresponding application. Information about this corresponding application is indicated, in the window state list212a, by application ID, application name, application type, and activation source application ID that induces the application.

The application ID is an identifier that uniquely represents an application displayed on the window.

The application name indicates the name of an application displayed on the window.

The application type indicates to which classification an application displayed on the window belongs. Every application included in the system belongs to any one of predefined classifications. The application type possibly has a value of mailer, launcher, browser, or the like. In the example ofFIG. 5, application name “A BROWSER” and application name “B BROWSER” are both applications of the classification of “BROWSER.”

The activation source application ID that induces the application is the ID (identifier) of an application that has activated the application displayed on the window.

Hereinafter, when there is a relationship where a given application is activated by another application, there is said to be an activation association between the two applications. Further, such an activation source application is referred to as the activation app (main application) and the activated application is referred to as the pair app (pair application).

The application ID has a value of ID of an activation source app or NULL (a value when there is no activation source app). For example, since HOME app with application ID:5012inFIG. 5is an application that is started up as a home screen when starting up the portable appliance100and a standby state screen, HOME app does not have an activation app.

In the example ofFIG. 5, B MAIL (ID:5014) is activated by A BROWSER (ID:5013). Thus, the activation source application ID of B MAIL (ID:5014) is5013that represents A BROWSER. There is an activation association between A BROWSER and B MAIL, with A BROWSER being the activation app, B MAIL being the pair app.

The window state list212ais stored in the internal memory of the window controller212. When the layout of each window represented byFIG. 4changes, the window state list212ais updated, overwritten and stored.

The window controller212supports a user to change the layout of windows to a favorable display layout without performing complicated manipulation. The following will describe processing that the window controller212performs for supporting a user with reference toFIGS. 6 to 9.

When the portable appliance100is activated and a window is displayed, window history recording processing1starts (FIG. 6). When a user performs manipulation of converting the display layout of the window (step S601), the window controller212determines whether the display layout of the window after the change is a two app display layout (FIG. 3B) or not (step S602). If it is not a two app display layout, (step S602: NO), the window history recording processing1ends.

If the display layout of the window after the change is a two app display layout (step S602: YES), the window controller212updates the window state list212astored in the internal memory, and displays the screen in the changed display layout (step S603). Here, if the manipulation at step S601is a manipulation for generating a new window, information relating to the new window is added to the window state list212a. If the manipulation at step S601is a manipulation for changing the layout of existing windows, the positions of the windows after changing the layout and hierarchical values of the windows are updated.

Next, the window state list212ais referred to so as to determine whether there is an activation association between the two applications that are displayed in a two app display (step S604). If there is an activation association (step S604: YES), data of the changed display layout of the windows is generated as history data, registered in a window history list214a, and stored in the window history storage214(step S605).

Here, the window history list will be described with reference toFIG. 7. Each row of the window history list214ahas display layout information of windows in a two app display layout that was registered at step S605as a history. Each column of the window history list indicates the details of each item for defining the state of the two app display layout.

Columns of the window history list214aare layout ID, saved time and date, app name of activation app, position of activation app, subject of layout determination of pair app, type/name of pair app, and position of pair app.

The layout ID is an identifier for uniquely defining the display layout of windows registered in each row.

The saved time and date represents time and date when the display layout of the windows of that row was registered.

The app name of activation app represents the name of the activation app between the two applications displayed in the two app display layout at step S603.

The position of activation app represents which of left and right screens the activation app is displayed in the two app display layout at step S603. The position of activation app takes any one value of RIGHT, LEFT, and FULL. If the value is RIGHT, the window of corresponding activation app is displayed only on the right screen; LEFT, on the left screen; and, FULL, on both screens.

The subject of layout determination of pair app is a value for defining whether a method of identifying the pair app is based on an application classification or an application name. When the pair app is identified by the application classification, the value is “APP TYPE;” when the pair app is identified by the application name, the value is “APP NAME.”

The type/name of pair app has, when the value of the subject of layout determination is “APP TYPE,” a value of information that identifies the classification of the pair app (the name of the application classification). When the value of the subject of layout determination is “APP NAME,” the type/name of pair app has a value of the name of the application that identifies the pair app.

The position of pair app represents which of left and right screens the pair app is displayed in the two app display layout at step S603. The position of pair app takes any one value of RIGHT, LEFT, and FULL. If the value is RIGHT, the window of the corresponding pair app is displayed only on the right screen; LEFT, on the left screen; and, FULL, on both screens.

Each row of the window history list214arepresents the layout of the windows of two applications that are displayed in the two app display at step S603and have an activation association which are respectively displayed on the left and right screens. As this window display layout is purposely set by user manipulation, the window display layout is assumed as a favorable display layout for the user when using the activation app. Thus, in this embodiment, this window display layout is registered as a candidate of a window display layout in the window history list214aso that the changed window display layout is easily reproduced when the user starts up the activation app next time.

This description continues referring back toFIG. 6.

After the window history list214ais generated and saved (after step S605), or there is no activation association (step S604: NO), the processing ends.

The window history recording processing1ofFIG. 6is not the only processing that registers a window display layout as a candidate in the window history list214a. As another example of registering a window display layout, window history recording processing2will be described with reference toFIG. 8.

The window history recording processing2is characterized in that, when a user manipulates moving a focus between windows of a two app display layout, the display layout of that time is registered in the window history list. Such manipulation of moving a focus is not a manipulation of changing window display layout itself. Thus, in the example that has been described so far, the window display layout at the time of manipulation for moving a focus, does not become a candidate of a window display layout, and, so, this window display layout is not registered in the window history list214ain the window history recording processing1. However, if a user is frequently moving a focus in a two app display state, which probably means that the user is required to work by simultaneously using the displayed two applications. Thus, in the window history recording processing2, such a window display layout is registered in the window history list214a. In this way, the same window display layout is easily reproduced when starting up the applications thereafter.

The window history recording processing2starts when a user manipulates moving a focus to an unfocused window. When the user performs manipulation of moving a focus (step S801), the window controller212refers to the window state list212aand determines whether the present window layout is a two app display or not (step S802). If the window layout is not a two app display (step S802: NO), the window layout is not a processing subject in the window history recording processing2, then, the processing ends.

If the window layout is a two app display (step S802: YES), first, the processing of moving the focus to a window designated by the user is performed (step S803).

Next, data for window history list214afor newly registering this window display layout is generated and registered in the window history list214a, and this window history list214ais overwritten and stored in the window history storage214(step S804).

Then, the window history recording processing2ends.

The following will describe processing that is performed for displaying windows in a favorable window display layout selected by a user using the window history list214awhen the user manipulates activating the application (window display processing1) with reference toFIGS. 9 and 10. When a user manipulates activating (executing) an application, the window controller212starts the window display processing1.

InFIG. 9, when a user manipulates activating an application (step S901), first, whether the application is registered in the activation app column in the window history list214ais determined (step S902). If the application is not in the activation app column (step S902: NO), then, the processing ends. In this case, the window is displayed based on the default setting.

If the application is registered in the activation app column of the window history list214a(step S902: YES), all rows with the application registered in the activation app column are extracted from the window history list214a. Then, processing of a candidate registration loop (steps S903to S906) is executed for each extracted row. As an example, if the activation app is A BROWSER, corresponding two rows (rows with layout ID values “1” and “2”) are extracted from the window history list214a, and processing of the candidate registration loop is executed for these two rows.

In the candidate registration loop, first, whether a pair app window of a row that is a subject of processing has already been registered in the window state list212aor not is determined (step S904). In the above example, the pair apps of the above two rows are “MAIL” and “A TEXT EDITOR,” thus, whether these pair apps are registered in the window state list212ais determined.

If the window of the pair app is not registered in the window state list212a(step S904: NO), the pair app has not yet been activated. In this case, the window layout does not become a new window layout candidate (window display layout candidate) in this embodiment. Then, the processing of this loop ends for that row. In the above example, as “A TEXT EDITOR” is not registered in the window state list212a, processing of this loop for the row where pair app is A TEXT EDITOR ends.

If the pair app is registered in the window state list212a(step S904: YES), the pair app has already been activated. In such a case, the window display layout is regarded as a window display layout candidate, and the corresponding row of the window history list214ais registered, as is, in a layout candidate list214b(step S905). In the above example, as “MAIL” has already been registered in the window state list212a, the pair app has already been activated. Thus, the layout of a window where the pair app is MAIL is regarded as a window display layout candidate, and, as shown inFIG. 7B, the corresponding row of the window history list214ais registered in the layout candidate list214b.

When the processing of step S905ends, processing for a row that was the subject of processing ends. Then, the candidate registration loop continues with the following row becoming the subject of processing. When the processing completes for all extracted rows, processing of the candidate registration loop ends (step S906).

When processing of the candidate registration loop ends, the window controller212determines whether the window display layout candidate is registered in the layout candidate list214b(step S907). When no window display layout candidate is registered (step S907: NO), the window display processing1ends.

If any window display layout candidate is registered in the layout candidate list214b(step S907: YES), the registered window display layout candidate is displayed on the second touch panel104(step S908). The user selects one of the displayed window display layout candidates by manipulating the second touch panel104.

When the user manipulates selecting one of the displayed window display layout candidates (step S909), the window controller212updates the window state list212ato facilitate reproducing the window display layout of the selected candidate (step S910).

In particular, the window controller212changes the values of the positions of windows relating to the candidate among windows W1to W5registered in the window state list212ato the values of the positions matching the window display layout candidate in the layout candidate list214b. Further, the window controller212changes the hierarchical values of those windows to values corresponding to the uppermost level of the positions. Other values of the window layout and the like will not be changed.

Then, the window controller212issues an instruction to the first display controller208and the second display controller211to update the screens based on the window state list212athat has been updated by the above change. As a result, the windows are displayed in the window display layout selected by the user (step S911).

Here, the following will describe the screens to be displayed on the first touch panel103and the second touch panel104when a user selects a window display layout candidate at the processing of step S908with reference toFIG. 10.

When a user activates application A (hereinafter, App A), the window Wa of App A is temporarily displayed on the first touch panel103. At the same time, the second touch panel104displays “APP B,” “APP C,” and “APP D” as window display layout candidates.FIG. 10shows screens displayed when App B, App C, and App D are registered as pair apps of App A in the layout candidate list214b. In this case, “APP B,” “APP C,” or “APP D” is selected when a user touches any one of buttons104ato104cindicating App B, App C, and App D that are window display layout candidates.

For example, if the user selects App B, the windows of App A and App B are displayed in the window display layout of the corresponding candidate. In particular, the window controller212extracts information about the corresponding window display layout candidate from the layout candidate list214bof the window history storage214. Then, the window controller212updates the window state list212aof the window controller212to match the window display layout. The window controller212instructs the first display controller208and the second display controller211to display screens according to the updated window state list212a.

It should be noted that when a plurality of window display layout candidates having app B as pair app are registered in the layout candidate list214b, the layout that is most recently registered in the window history list212ais selected.

As described above, according to the portable appliance100of Embodiment 1, a window display layout in which a user simultaneously used an activation app and a pair app in the past is reproduced without complicated manipulation.

As a touch panel of Embodiment 1, touch panels of known types, such as resistive touch panels, surface capacitive touch panels, and projected capacitive touch panels, are possibly used.

Further, the touch panel of Embodiment 1 is possibly a multi-touch panel that allows touch input by gestural manipulation with two fingers.

The following will describe Embodiment 2 of the present invention. Embodiment 2 is characterized in that, when a pair app is not registered in the window state list212a, the pair app is newly activated to display the window of the pair app.

With regard to Embodiment 2, the appearance of the portable appliance, configuration, screen layout, the structures of window state list and window history list, the recording processing of the window history list (window history recording processing1and2) are the same as Embodiment 1 (FIGS. 1 to 8).

The following will describe processing (window display processing2), in Embodiment 2, for displaying a window in a favorable window display layout selected by a user using a window history list when the user manipulates activating an application, with reference toFIGS. 11, 12, and 13A to 13D.

InFIG. 11, when a user manipulates activating an application (step S1101), the window controller212executes window display processing2.

In the window display processing2, steps from the start of processing until it is determined at the candidate registration loop (steps S1101to S1104) whether the window of the pair app has already been registered in the window state list212aare the same as those in the window display processing1(steps S901to S904).

Whereas, the window display processing2is different from the window display processing1in processing when the window of a pair app of a row that is a processing subject is not registered in the window state list212a(step S1104: NO). That is, in the window display processing2, this window display layout is registered in a second layout candidate list214cshown inFIGS. 13A and 13Das a window display layout candidate of an unactivated pair app (step S1106).

Further, if the window of the pair app of the row is registered in the window state list212a(step S1104: YES), the window display layout is registered in the first layout candidate list214bshown inFIGS. 13A and 13Cas a window display layout candidate of an activated pair app (step S1105).

The candidate registration loop ends when the loop processing has been executed for all the rows extracted from the window history list214ashown inFIGS. 13A and13B (step S1107). When the loop ends, window display layout candidates registered in the first layout candidate list214band the second layout candidate list214care displayed on the screen next (step S1108). The user selects one of the displayed candidates by manipulating the second touch panel104.

Here, window display layout candidates corresponding to activated pair app104a,104b, and unactivated pair app104care distinctively displayed as shown inFIG. 12. It should be noted that, unlike the window display processing1, in the window display processing2, a window display layout candidate always exists if an activation app is registered in the window history list214a. Therefore, the window display processing2does not determine whether there is a window display layout candidate (step S907).

When a user selects one of the window display layout candidates using the displayed screen (step S1109), it is determined whether the pair app of the selected window display layout candidate has been activated yet (step S1110).

If the pair app of the window display layout candidate that the user selected at step S1109has not been activated (step S1110: NO), the pair app is newly activated (step S1111).

If the pair app selected by the user has already been activated (step S1110: YES), or has not been activated but is newly activated (step S1111), the windows of the activation app and the pair app are displayed according to the layout content of the selected window display layout candidate (step S1112). Then, the window display processing2ends.

The screen that a user uses for selecting one of the window display layout candidates at step S1108will be described with reference toFIG. 12.

When a user activates application A (App A), the window of App A is temporarily displayed on the first touch panel103. At the same time, the second touch panel104displays a screen used for selecting a window display layout candidate (step S1108). Here, corresponding pair apps are distinctively displayed as the activated candidates and the unactivated candidates. The screen is the same asFIG. 10for other parts.

In the example ofFIG. 12, App B and App C indicated as pair apps104aand104bare activated, and displayed in button shapes under the field displayed as <ACTIVATED APP>. On the other hand, App D indicated as pair app104cis an unactivated application, and displayed in a button shape under the field displayed as <APP TO BE ACTIVATED>. By touching any one of the displayed buttons, the user selects the window display layout candidate corresponding to the pair app.

For example, if the user selects App B (pair app104a), windows Wa and Wb of App A and App B are displayed in the window display layout of the corresponding window display layout candidate. It should be noted that, if a plurality of window display layout candidates having App B as pair app are registered in the first layout candidate list214b, a window display layout candidate that is most recently registered in the window history list214ais selected as a new window display layout.

Further, if App D (pair app104c) is selected, App D is newly activated. App A and App D are displayed in a window display layout that is a window display layout candidate having App D as pair app and has been most recently registered in the window history list214aamong the window display layout candidates registered in the layout candidate list214c.

As described above, according to the portable appliance100of Embodiment 2, a display layout in which a user simultaneously used an activation app and a pair app in the past, is reproduced without complicated manipulation. Further, even the pair app has not been activated yet, the pair app is automatically activated and displayed.

In Embodiment 2, if the layout candidate list214bhas a plurality of window display layout candidates corresponding to the pair app of the selected window display layout candidate, a window display layout candidate that is registered most recently in the window history list214ais selected, while the selecting method is not limited to this. As another selection method, there is considered a configuration that allows a user to further select a favorable window display layout from the plurality of window display layout candidates. Further, a priority is possibly defined for the plurality of window display layout candidates, and a window display layout candidate with the highest priority is possibly selected automatically. In such a case, the following examples are considered as criteria for defining this priority:

1: accumulated time of time during which each window display layout candidate is being displayed;

2: accumulated counts a user manipulated in a display state of each window display layout candidate; and

3: accumulated counts a user manipulated for changing each window display layout candidate.

The following will describe Embodiment 3 of the present invention. Embodiment 3 is characterized in that window display layout candidates are generated according to window layout templates that have been recorded in the portable appliance in advance.

The configuration of a portable appliance300according to Embodiment 3 is different from those of Embodiments 1 and 2 in having a window layout template storage301in the storage213(FIG. 14). The window layout template storage301stores a window layout template301aas will be described hereinafter. The window layout template301ahas templates of predefined window display layouts registered therein.

The behavior of the portable appliance300of Embodiment 3 will be described with reference toFIGS. 15 to 17.

InFIG. 15, if a user manipulates activating an application of the portable appliance300, window display processing3starts (step S1401). Then, the window controller212determines whether that application has been registered as an activation app in the window layout template301a(step S1402).

Here, the window layout template301awill be described usingFIG. 16.

The window layout template301ahas a structure as shown inFIG. 16. Each row of the window layout template301ahas a window display layout candidate for each combination of an activation app and a pair app registered therein as a template. Each column of the window layout template301aindicates the details of each item for defining candidates of the window display layout, which includes layout ID, app name of activation app, position of activation app, app name of pair app, and position of pair app.

For example,FIG. 14shows a window layout template301a, assuming a case where B TEXT EDITOR activates B BROWSER and both applications are simultaneously used. Here, a row that defines B TEXT EDITOR as the activation app, B BROWSER as the pair app, and the window display layout of the B TEXT EDITOR and B BROWSER, is registered with layout ID “5” in the window layout template301a.

The layout ID is an ID (identifier) that uniquely represents each row of the window layout template301a.

The app name of activation app is a name that uniquely represents an activation app corresponding to the window display layout candidate of that row.

The position of activation app, in the window display layout candidate of that row, indicates which part on the screen the window of the activation app is displayed. The position of activation app possibly takes a value of one or a combination of: RIGHT, LEFT, RIGHT_UP, LEFT_UP, RIGHT_DOWN, LEFT_DOWN, FULL and the like. This value being, for example, “LEFT, RIGHT_UP,” means that, in the window display layout candidate of that row, the window of the activation app is displayed on the left screen and the upper portion of the right screen.

The application name of pair app, in the window display layout candidate of that row, indicates the name of application (pair app) that is activated by an activation app and simultaneously used in combination with the activation app.

The position of pair app indicates, in the window display layout candidate of that row, which part on the screen the window of the pair app is displayed. The position of the pair app possibly takes a value of one or a combination of: RIGHT, LEFT, RIGHT_UP, LEFT_UP, RIGHT_DOWN, LEFT_DOWN, FULL, and the like. This value being, for example, “RIGHT_DOWN,” means that, in the window display layout candidate of that row, the window of the pair app is displayed on the lower portion of the right screen.

This description continues referring back toFIG. 15. If an application that was newly activated by a user is not registered in the column of activation app in the window layout template301a(step S1402: NO), the window of the activation app is displayed in a default window display layout (step S1407).

If an application that was activated by a user is registered in the column of activation app of the window layout template301a(step S1402: YES), window display layout candidates having that application as an activation app are extracted from the window display layout candidates registered in the window layout template301a.

Then, the extracted window display layout candidates are displayed on the screen (step S1403). The user selects one of the displayed window display layout candidates by manipulating the touch panel.

When the user manipulates using the displayed screen (step S1404), the window controller212determines whether the user performed manipulation of selecting a window display layout candidate or not (step S1405).

If the user cancelled without performing manipulation of selecting a window display layout candidate (step S1405: NO), the application is displayed on a window of a general window display layout (a default setting) (step S1407).

Whereas, if the user selects any one of the displayed window display layout candidates (step S1405: YES), the activation app and the pair app are displayed on windows in the window display layout of the selected window display layout candidate (step S1406). Here, if the pair app has already been activated, the window is modified according to the layout of the window display layout candidate and displayed. On the other hand, if the pair app has not been activated, the window controller212newly activates the pair app, generates a window that displays the content of the pair app, and displays the window according to the window display layout candidate.

Then, the window display processing3ends here.

The following will describe a screen that a user uses to select one of the window display layout candidates with reference toFIG. 17.

When a user activates an application, the window of that application is temporarily displayed on the first touch panel103. At the same time, the second touch panel104displays window display layout candidates (I) to (VI) having the application as activation app among the window display layout candidates registered in the window layout template301a.

The example ofFIG. 17shows:

(I) the window of activation app is displayed on the whole left screen, and the window of pair app is displayed on the whole right screen;

(II) the window of pair app is displayed on the whole left screen, and the window of activation app is displayed on the whole right screen;

(III) the window of activation app is displayed on the whole left and right screens, and the window of pair app is displayed on the lower half of the right screen in a hierarchy higher than the activation app; and

(VI) the window of pair app is displayed on the whole left and right screens, and the window of activation app is displayed on the lower half of the right screen in a hierarchy higher than the pair app. The second touch panel104displays the above window display layout candidates (I) to (VI). A user selects any one of (I) to (VI) by manipulating the touch panel. Further, the user is also able to select display of the window in a default layout by touching the cancel button104d.

It should be noted that, as in the case of the above window display layout candidates (III), (VI), when the windows of activation app and pair app overlap each other in a window display layout candidate, a window occupying a smaller area is displayed in a higher hierarchy than a window occupying a larger area.

It should also be noted that, for the window display layout candidates (III), (VI), the lower right screen display is possibly any one of upper right, lower left, and upper left screen displays.

When the user selects one of the above window display layout candidates (I) to (VI), windows are displayed in that window display layout. If the user selects cancellation by touching the cancel button104d, the window of the activated application is displayed according to the default setting.

As described above, according to the portable appliance300of Embodiment 3, a window layout registered in the window layout template301ais reproduced without complicated manipulation.

It should be noted that, while, in Embodiment 3, the window layout template301aregisters a predefined window display layout, the content of the window layout template301ais not limited to this, and a user is possibly able to register arbitrary window display layout candidates at arbitrary time in the window layout template301a.

While the embodiments of the present invention have been described so far, the present invention is not limited to the above embodiments.

In Embodiments 1 to 3, a configuration is described where one window is displayed on the whole right screen, on the upper or lower right screen, on the whole left screen, on the upper or lower left screen, on both screens, or a combination thereof. However, in the present invention, the window display method is not limited to this, and the window is possibly displayed in a variety of positions and sizes.

For example, an information processing device has three or more display devices, for each of which a number is defined. For example, if an information processing device has three display devices, numbers 1 to 3 are assigned to the display devices. Then, the positions of windows in Embodiments 1 to 3 are represented by the numbers of the display devices, and the same processing as Embodiments 1 to 3 is performed.

As another configuration, the position of a window in the window state list212ais possibly defined by the coordinate values of three points that define the position and size of the window. This window state list212adefines the position of a window on the display screen and the area occupied by the window, whether the window is left or right. In such a configuration, if a window display layout is changed, the changed window display layout is registered in the window history list214aas a window display layout candidate. In this way, a user is allowed to select a favorable window display layout among a variety of window display layout candidates without limitation to displaying left or right, or on the whole screen, or the like.

Further, the present invention is possibly also applied to an information processing device having only one display device. In such a case, the position of a window becomes a value for defining which position on the display the window occupies. Here, a user is allowed to select a favorable window display layout among display layout candidates with an information processing device with one display rather than the one having a plurality of displays.

Further, one application is displayed on only one window in Embodiments 1 to 3. However, the present invention is possibly also implemented in a configuration where one application is displayed on a plurality of windows. In such an embodiment, a plurality of windows are registered for one application in the window layout state list and the window history list of Embodiments 1 to 3.

A central portion that performs processing for a portable appliance (an information processing device) comprising a controller205, a storage213, and the like, is implementable by a general computer system instead of using a dedicated system. For example, the portable appliance executing the processing is possibly configured by distributing a computer program for executing the above behavior stored in a computer-readable recording medium (flexible disk, CD-ROM (Compact Disc-Read Only Memory), DVD-ROM (Digital Versatile Disc-Read Only Memory), and the like), and installing the computer program in a computer. Further, the information processing device is possibly configured by storing the computer program in the storage of a server device on a communication network, such as the Internet, and downloading the computer program on a general computer system.

In order to realize the function of the portable appliance by sharing burden between the OS (operating system) and an application program, or in combination of the OS and the application program, only the application program part is possibly stored in a recording medium or a storage.

Further, the computer program is possibly superimposed on a carrier wave and delivered via a communication network. For example, the computer program is possibly posted on a board on a communication network (BBS: Bulletin Board System), and delivered via the network. Then, the processing is possibly executed by activating the computer program and executing the program under the control of OS in the same way as other applications.

It should be noted that the above embodiments are examples of specific embodiments of the present invention, without limitation to the technical scope of the present invention. The present invention is implementable in varied, applied and improved ways, within a scope of the technical idea described in the claims.

Part or whole of the above embodiments are also described as, without limitation to, the following supplementary notes.

An information processing device comprising:

a display that displays one or more windows;

a controller that controls the display so as to control display of the windows by the display and a layout of the windows; and

a storage that stores a history of the layout of the windows that is displayed on the display,

wherein the controller comprises:a window controller that generates one or more candidates of the layout of the windows based on the history of the layout of the windows; anda display controller that causes the display to display the candidates generated by the window controller,

the window controller issues an instruction to the display controller to display the windows in a layout selected from the candidates displayed on the display, and

the display controller causes the windows to be displayed in the selected layout according to the instruction from the window controller.

The information processing device according to Supplementary Note 1, wherein

the windows include:a main window that displays processing details of a main application; anda pair window that displays processing details of a pair application that is activated in association with the main application,

the storage stores a layout of the main window and the pair window in association with the main application and the pair application,

the window controller, when the main application is newly activated, sets the layouts associated with the main application as the candidates of the layout of the windows among the layouts included in the history stored in the storage, and

the display displays the main window and the pair window in the layout indicated by the selected candidate of the layout.

The information processing device according to Supplementary Note 2, wherein

when the pair application that is associated with the selected candidate of the layout is not activated, the window controller newly activates the pair application and causes the display to display the pair window.

The information processing device according to Supplementary Note 2 or 3, wherein

the display comprises:a first touch panel comprising:a first sensor that detects manipulated input by a user to the main window; anda first liquid crystal panel that displays the main window; anda second touch panel comprising:a second sensor that detects manipulated input by the user to the pair window; anda second liquid crystal panel that displays the pair window.

The information processing device according to Supplementary Note 4, wherein

the display controller comprises:a first touch panel controller comprising:a first manipulation determiner that receives manipulation information of the user detected by the first sensor and identifies manipulation performed by the user; anda first liquid crystal panel controller that causes the first liquid crystal panel to display the main window; anda second touch panel controller comprising:a second manipulation determiner that receives manipulation information of the user detected by the second sensor and identifies manipulation performed by the user; anda second liquid crystal panel controller that causes the second liquid crystal panel to display the pair window.

when two of the windows are simultaneously displayed and a focus is moved between the two windows, the window controller stores a layout of the two windows as a history in the storage.

the storage stores a template of the layout of the windows, and

the window controller uses the template as the history of the layout of the windows.

The information processing device according to any one of Supplementary Notes 1 to 7, wherein

the information processing device is a portable appliance comprising a plurality of display screens.

An information processing method comprising:

controlling a layout of one or more windows to display the windows;

storing a history of the layout of the displayed windows;

generating one or more candidates of the layout of the windows based on the stored history;

displaying the generated candidates; and

displaying one or more windows in a layout indicated by a candidate selected from the displayed candidates.

A computer-readable recording medium that stores a program for causing a computer to execute the processing of:

controlling a layout of one or more windows to display the windows;

storing a history of the layout of the displayed windows;

generating one or more candidates of the layout of the windows based on the stored history;

displaying the generated candidates; and

displaying one or more windows in a layout indicated by a candidate selected from the displayed candidates.

The present invention is based on Japanese Patent Application No. 2011-094263 filed as of Apr. 20, 2011. This specification includes all the description, claims, and figures of Japanese Patent Application No. 2011-094263 as reference.

INDUSTRIAL APPLICABILITY

The present invention is applicable for information processing devices that support manipulation of setting a plurality of windows displayed on a plurality of screens in a favorable display layout.

REFERENCE SIGNS LIST