JP2022071273A - 情報処理装置およびプログラム - Google Patents

情報処理装置およびプログラム Download PDF

Info

Publication number
JP2022071273A
JP2022071273A JP2020180139A JP2020180139A JP2022071273A JP 2022071273 A JP2022071273 A JP 2022071273A JP 2020180139 A JP2020180139 A JP 2020180139A JP 2020180139 A JP2020180139 A JP 2020180139A JP 2022071273 A JP2022071273 A JP 2022071273A
Authority
JP
Japan
Prior art keywords
display
window
guide
information
icon
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020180139A
Other languages
English (en)
Inventor
勇樹 池谷
Yuki Iketani
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Client Computing Ltd
Original Assignee
Fujitsu Client Computing Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Client Computing Ltd filed Critical Fujitsu Client Computing Ltd
Priority to JP2020180139A priority Critical patent/JP2022071273A/ja
Publication of JP2022071273A publication Critical patent/JP2022071273A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • User Interface Of Digital Computer (AREA)

Abstract

【課題】ユーザによるウィンドウの探索を支援する。【解決手段】記憶部11は、表示装置20に表示されているウィンドウに関する第1の情報と表示装置20に表示されておりウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた表示オブジェクトに関する第2の情報とを記憶する。処理部12は、所定の操作入力を受け付けると、記憶部11に記憶された第1の情報と第2の情報とに基づいて、当該ソフトウェアに対応するウィンドウと表示オブジェクトとを結ぶガイドを表示装置20に表示させる。例えば、処理部12は、ウィンドウ21aと表示オブジェクト21cとを結ぶガイド21eおよびウィンドウ21bと表示オブジェクト21dとを結ぶガイド21fを、表示装置20に表示させる。【選択図】図1

Description

本発明は情報処理装置およびプログラムに関する。
情報処理装置には、表示装置の画面にウィンドウ(Window)と呼ばれる領域を表示させ、当該ウィンドウにソフトウェアを利用するためのGUI(Graphical User Interface)を表示させるものがある。例えば、情報処理装置は、ウィンドウシステムと呼ばれるソフトウェアを実行することで、ウィンドウの表示を制御する。ウィンドウシステムの機能は、情報処理装置が実行するOS(Operating System)に組み込まれることもある。情報処理装置は、画面上に複数のウィンドウを表示可能であり、あるウィンドウに別のウィンドウを重ねて表示させることもできる。
例えば、所定の操作が行われた場合に、複数の動画再生機能のうちの何れかに関連付けられているウィンドウを最前面に表示する表示制御装置の提案がある。
特開2012-138094号公報
上記のように、情報処理装置は、複数のウィンドウを画面に表示させることがある。比較的多くのウィンドウが表示されている場合、利用したいソフトウェアのウィンドウが既に起動されているのか、起動されている場合はどこに表示されているのかなど、ユーザが該当のウィンドウを探すのに手間がかかる。
1つの側面では、本発明は、ユーザによるウィンドウの探索を支援する情報処理装置およびプログラムを提供することを目的とする。
1つの態様では、情報処理装置が提供される。この情報処理装置は、記憶部と処理部とを有する。記憶部は、表示装置に表示されているウィンドウに関する第1の情報と表示装置に表示されておりウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた表示オブジェクトに関する第2の情報とを記憶する。処理部は、第1の操作入力を受け付けると、記憶部に記憶された第1の情報と第2の情報とに基づいて、ソフトウェアに対応するウィンドウと表示オブジェクトとを結ぶガイドを表示装置に表示させる。
また、1つの態様では、プログラムが提供される。このプログラムは、コンピュータに、第1の操作入力を受け付けると、表示装置に表示されているウィンドウに関する第1の情報と表示装置に表示されておりウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた表示オブジェクトに関する第2の情報とに基づいて、ソフトウェアに対応するウィンドウと表示オブジェクトとを結ぶガイドを表示装置に表示させる、処理を実行させる。
1つの側面では、ユーザによるウィンドウの探索を支援できる。
第1の実施の形態の情報処理装置を説明する図である。 第2の実施の形態の情報処理装置のハードウェア例を示す図である。 情報処理装置の機能例を示す図である。 画面の座標系の例を示す図である。 ウィンドウ作成時刻管理テーブルの例を示す図である。 アイコン作成時刻管理テーブルの例を示す図である。 ウィンドウおよびアイコンの表示例を示す図である。 ガイドの表示例を示す図である。 ガイドの表示の絞り込み例を示す図である。 ガイドの表示制御例を示すフローチャートである。 第3の実施の形態のウィンドウおよびアイコンの表示例を示す図である。 ガイドの表示例を示す図である。 ガイドの表示の絞り込み例を示す図である。 ガイドの表示の他の絞り込み例を示す図である。 ガイドの表示制御例を示すフローチャートである。 第4の実施の形態のウィンドウおよびアイコンの表示例を示す図である。 ガイドの表示例を示す図である。 ガイドの表示の絞り込み例を示す図である。 ガイドの表示制御例を示すフローチャートである。 ガイドの表示の変形例(その1)を示す図である。 ガイドの表示の変形例(その2)を示す図である。 ガイドの表示の変形例(その3)を示す図である。 ガイドの表示の変形例(その4)を示す図である。
以下、本実施の形態について図面を参照して説明する。
[第1の実施の形態]
第1の実施の形態を説明する。
図1は、第1の実施の形態の情報処理装置を説明する図である。
情報処理装置10は、表示装置20と接続される。表示装置20は、情報処理装置10に内蔵されてもよいし、情報処理装置10に外付けされてもよい。また、表示装置20は、他の情報処理装置に接続されるものでもよい。例えば、情報処理装置10により出力される画面情報を他の情報処理装置がネットワークを介して受信し、表示装置20に表示させてもよい。
情報処理装置10は、記憶部11および処理部12を有する。記憶部11は、RAM(Random Access Memory)などの揮発性記憶装置でもよいし、HDD(Hard Disk Drive)やフラッシュメモリなどの不揮発性記憶装置でもよい。処理部12は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)などを含み得る。処理部12はプログラムを実行するプロセッサでもよい。「プロセッサ」は、複数のプロセッサの集合(マルチプロセッサ)を含み得る。
記憶部11は、表示装置20に表示されているウィンドウに関する第1の情報を記憶する。第1の情報は、画面21におけるウィンドウの表示位置を示す情報を含む。また、第1の情報は、例えば、ウィンドウの識別情報、ウィンドウのタイトル、ウィンドウに対応するソフトウェアの識別情報およびウィンドウの作成時刻などを含む。例えば、ウィンドウの識別情報、タイトルおよびソフトウェアの識別情報は、情報処理装置10が実行するOSにより管理され、所定の関数を用いてOSから取得可能である。ウィンドウの作成時刻は、OSにより管理される場合はOSから取得されてもよいし、OS以外のプログラムによる現存のウィンドウの監視に応じて記録されてもよい。
記憶部11は、表示装置20に表示されておりウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた表示オブジェクトに関する第2の情報を記憶する。
表示オブジェクトは、例えば、該当のソフトウェアを起動するためのアイコン、起動済のソフトウェアを示すアイコン、または、該当のソフトウェアに対して開かれているウィンドウのサムネイルなどである。
第2の情報は、画面21における表示オブジェクトの表示位置を示す情報を含む。また、第2の情報は、例えば、表示オブジェクトのキャプション、表示オブジェクトが関連付けられたソフトウェアを示す情報および表示オブジェクトの作成時刻などを含む。表示オブジェクトが関連付けられたソフトウェアを示す情報としては、該当の表示オブジェクトがソフトウェアを起動するためのアイコンの場合、当該アイコンに関連付けられた起動対象ソフトウェアのディレクトリパスが考えられる。また、表示オブジェクトが関連付けられたソフトウェアを示す情報としては、該当の表示オブジェクトが起動済のソフトウェアを示すアイコンの場合、当該ソフトウェアの識別情報が考えられる。
表示オブジェクトのキャプションおよび表示オブジェクトが関連付けられたソフトウェアを示す情報は、情報処理装置10が実行するOSにより管理され、所定の関数を用いてOSから取得可能である。表示オブジェクトの作成時刻は、OSにより管理される場合はOSから取得されてもよいし、OS以外のプログラムによる現存の表示オブジェクトの監視に応じて記録されてもよい。
処理部12は、所定の操作入力を受け付けると、記憶部11に記憶された第1の情報と第2の情報とに基づいて、同じソフトウェアに対応するウィンドウと表示オブジェクトとを結ぶガイドを表示装置20に表示させる。
例えば、表示装置20の画面21には、ウィンドウ21a,21bおよび表示オブジェクト21c,21dが表示されている。処理部12は、情報処理装置10に接続された、図示を省略している入力装置によるユーザの所定の操作入力を受け付ける。すると、処理部12は、記憶部11に記憶された第1の情報および第2の情報に基づいて、ウィンドウ21a,21bと表示オブジェクト21c,21dとの対応関係を判定する。
例えば、処理部12は、ウィンドウ21aのタイトルと表示オブジェクト21cのキャプションとが同じであるか否かに応じて、ウィンドウ21aと表示オブジェクト21cとの対応関係を判定してもよい。処理部12は、ウィンドウ21aのタイトルと表示オブジェクト21cのキャプションとが同じである場合に、ウィンドウ21aと表示オブジェクト21cとが対応関係にあると判定する。一方、処理部12は、ウィンドウ21aのタイトルと表示オブジェクト21cのキャプションとが異なる場合に、ウィンドウ21aと表示オブジェクト21cとが対応関係にないと判定する。例えば、ウィンドウ21aのタイトルと表示オブジェクト21cのキャプションとに、開かれているファイルのファイル名が含まれることもある。この場合、処理部12は、当該タイトルとキャプションに含まれるファイル名が同じであるか否かに応じてウィンドウ21aと表示オブジェクト21cとの対応関係を判定することも考えられる。
ウィンドウ21aのタイトルと表示オブジェクト21cのキャプションとの同一性以外にも、処理部12は、ソフトウェアの識別情報が同一であるか否か、または、作成時刻の差が所定範囲内に収まっているか否かなどに応じて、両者の対応関係を判定してもよい。また、処理部12は、ウィンドウ21aの起動元のディレクトリパスと表示オブジェクト21cに関連付けられたディレクトリパスとが同一であるか否かに応じて、両者の対応関係を判定してもよい。
更に、処理部12は、一種類の情報では対応関係を一意に定めることができない場合に、他の種類の情報の比較により、ウィンドウと表示オブジェクトとの対応を絞り込んでもよい。例えば、処理部12は、タイトルとキャプションとの比較だけではウィンドウ21aが表示オブジェクト21c,21dの何れに対応するか特定できない場合がある。この場合、処理部12は、更にウィンドウ21aおよび表示オブジェクト21c,21dそれぞれの作成時刻の比較を行い、ウィンドウ21aと作成時刻が近い方の表示オブジェクトをウィンドウ21aに対応付けてもよい。
上記の対応関係の判定方法は、ウィンドウ21aと表示オブジェクト21dとの対応関係の判定、および、ウィンドウ21bと表示オブジェクト21c,21dとの対応関係の判定においても同様である。
上記の例において、処理部12は、例えばウィンドウ21aと表示オブジェクト21cとが対応関係にあり、ウィンドウ21bと表示オブジェクト21dとが対応関係にあることを判定する。すると、処理部12は、ガイド21e,21fを表示装置20に表示させる。
ガイド21eは、ウィンドウ21aと表示オブジェクト21cとを結ぶ。ガイド21fは、ウィンドウ21bと表示オブジェクト21dとを結ぶ。例えば、ガイドは、ガイド21e,21fに例示されるように、線でもよいし、三角形や四角形などの多角形でもよい。また、ガイド21e,21fで、色や、実線/破線などの線の種類が異なってもよい。例えば、ウィンドウ21aおよび表示オブジェクト21cのうちガイド21eと接続する箇所は、例えば、ウィンドウ21aの特定の辺の中点および表示オブジェクト21cの特定の辺の中点のように予め定められてもよい。または、ウィンドウ21aおよび表示オブジェクト21cのうちガイド21eと接続する箇所は、ウィンドウ21aおよび表示オブジェクト21cの位置関係に応じて、例えばガイド21eの長さが最短になるようにするなどの基準を基に決定されてもよい。
情報処理装置10によれば、所定の操作入力を受け付けると、記憶部11に記憶された第1の情報と第2の情報とに基づいて、同じソフトウェアに対応するウィンドウと表示オブジェクトとを結ぶガイドが表示装置20に表示される。
これにより、ユーザによるウィンドウの探索を支援できる。
すなわち、表示されているウィンドウと、当該ウィンドウに対応するソフトウェアに関連する表示オブジェクトとを結ぶガイドが表示されるので、ユーザは、ガイドを視認することで、表示中のウィンドウが何れのソフトウェアのものかを容易に判別できる。このため、ユーザは、画面内に複数のウィンドウが表示されている場合でも、ガイドを辿ることで、自身が操作しようとする目的のウィンドウを容易に見つけることができる。
なお、情報処理装置10に接続される表示装置の数は、2以上でもよい。処理部12は、OSが管理する情報に基づいて、各ウィンドウおよび各表示オブジェクトが、複数の表示装置のうち、何れの表示装置に表示されているかを特定できる。このため、処理部12は、互いに異なる表示装置に表示されているウィンドウと表示オブジェクトとを結ぶガイドを各表示装置に表示させることもできる。このように、情報処理装置10がマルチディスプレイ表示を行っている場合でも、ユーザは、表示装置20から異なる表示装置に表示されているウィンドウまでガイドを辿ることができる。ユーザは、表示装置の境目をまたいで視線を導くことができ、目的のウィンドウを容易に見つけることができる。
以下では、情報処理装置10の機能を更に具体的に説明する。
[第2の実施の形態]
次に、第2の実施の形態を説明する。
図2は、第2の実施の形態の情報処理装置のハードウェア例を示す図である。
情報処理装置100は、ウィンドウシステムを実行し、ソフトウェアを操作するGUIをユーザに提供する。情報処理装置100によって起動済のソフトウェアは、情報処理装置100が提供するデスクトップ画面に含まれるタスクバー上のアイコンによって表示される。このようなGUIを提供するOSには、例えば、Microsoft(登録商標)社のWindows(登録商標)がある。
情報処理装置100は、CPU101、RAM102、HDD103、画像信号処理部104、入力信号処理部105、媒体リーダ106およびNIC(Network Interface Card)107を有する。なお、CPU101は、第1の実施の形態の処理部12の一例である。RAM102またはHDD103は、第1の実施の形態の記憶部11の一例である。
CPU101は、プログラムの命令を実行するプロセッサである。CPU101は、HDD103に記憶されたプログラムやデータの少なくとも一部をRAM102にロードし、プログラムを実行する。なお、CPU101は複数のプロセッサコアを含んでもよい。また、情報処理装置100は複数のプロセッサを有してもよい。以下で説明する処理は複数のプロセッサまたはプロセッサコアを用いて並列に実行されてもよい。また、複数のプロセッサの集合を「マルチプロセッサ」または単に「プロセッサ」と言うことがある。
RAM102は、CPU101が実行するプログラムやCPU101が演算に用いるデータを一時的に記憶する揮発性の半導体メモリである。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
HDD103は、OS(Operating System)やミドルウェアやアプリケーションソフトウェアなどのソフトウェアのプログラム、および、データを記憶する不揮発性の記憶装置である。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)などの他の種類の記憶装置を備えてもよく、複数の不揮発性の記憶装置を備えてもよい。
画像信号処理部104は、CPU101からの命令に従って、情報処理装置100に接続されたディスプレイ111,111aに画像を出力する。ディスプレイ111,111aは、第1の実施の形態の表示装置20の一例である。ディスプレイ111,111aとしては、CRT(Cathode Ray Tube)ディスプレイ、液晶ディスプレイ(LCD:Liquid Crystal Display)、プラズマディスプレイ、有機EL(OEL:Organic Electro-Luminescence)ディスプレイなど、任意の種類のディスプレイを用いることができる。
入力信号処理部105は、情報処理装置100に接続された入力デバイス112から入力信号を取得し、CPU101に出力する。入力デバイス112としては、マウス・タッチパネル・タッチパッド・トラックボールなどのポインティングデバイス、キーボード、リモートコントローラ、ボタンスイッチなどを用いることができる。また、情報処理装置100に、複数の種類の入力デバイスが接続されていてもよい。
媒体リーダ106は、記録媒体113に記録されたプログラムやデータを読み取る読み取り装置である。記録媒体113として、例えば、磁気ディスク、光ディスク、光磁気ディスク(MO:Magneto-Optical disk)、半導体メモリなどを使用できる。磁気ディスクには、フレキシブルディスク(FD:Flexible Disk)やHDDが含まれる。光ディスクには、CD(Compact Disc)やDVD(Digital Versatile Disc)が含まれる。
媒体リーダ106は、例えば、記録媒体113から読み取ったプログラムやデータを、RAM102やHDD103などの他の記録媒体にコピーする。読み取られたプログラムは、例えば、CPU101によって実行される。なお、記録媒体113は可搬型記録媒体であってもよく、プログラムやデータの配布に用いられることがある。また、記録媒体113やHDD103を、コンピュータ読み取り可能な記録媒体と言うことがある。
NIC107は、ネットワーク50に接続され、ネットワーク50を介して他のコンピュータと通信を行うインタフェースである。NIC107は、例えば、スイッチやルータなどの通信装置とケーブルで接続される。NIC107は、ネットワーク50と無線で接続されてもよい。
図3は、情報処理装置の機能例を示す図である。
情報処理装置100は、記憶部120および表示制御部130を有する。記憶部120には、RAM102やHDD103の記憶領域が用いられる。表示制御部130は、RAM102に記憶されたプログラムがCPU101により実行されることで実現される。
記憶部120は、表示制御部130の処理に用いられるデータを記憶する。例えば、記憶部120は、情報処理装置100によりディスプレイ111に表示されているウィンドウに関する情報や表示オブジェクトに関する情報を記憶する。第2の実施の形態では、表示オブジェクトの一例として、タスクバーにおけるアイコンを示す。また、記憶部120は、OSによって管理される各種の情報を記憶する。表示制御部130は、OSにより管理される情報を、OSが提供する所定の関数などを用いて取得でき、記憶部120における表示制御部130が利用可能な記憶領域に格納することができる。
表示制御部130は、ディスプレイ111,111aにおけるGUIの表示を制御する。表示制御部130は、ユーザによる所定の操作入力を受け付けると、ディスプレイ111,111aの画面におけるウィンドウとタスクバー上のアイコンとを結ぶガイドを、ディスプレイ111,111aに表示させる。
図4は、画面の座標系の例を示す図である。
画面900は、ディスプレイ111に表示されるデスクトップ画面の例である。
画面900は、ウィンドウ901およびタスクバー910を含む。
ウィンドウ901は、ソフトウェアに対するユーザの操作やソフトウェアの処理結果などをユーザに提示する。
タスクバー910は、起動中のソフトウェアを表示するアイコンやユーザへの通知事項などを提示する。例えば、タスクバー910は、アイコン911を含む。アイコン911は、あるソフトウェアが起動されていることを示す。
ここで、第2の実施の形態の例ではタスクバー上のアイコンのグループ化は行われていないものとし、タスクバー910は、画面下部にあるものとする。ただし、タスクバー910は、画面上部や、画面右端または左端に表示されてもよい。
また、以下の説明では、例えば最小化されているウィンドウのように、起動されているが画面900に表示されていないウィンドウや対応するウィンドウが開かれていないアイコンについては図示を省略する。
画面900は、マウスカーソルP1を含む。ユーザは、入力デバイス112を用いてマウスカーソルP1を操作し、操作したいウィンドウ901を選択することで、ウィンドウ901の操作を行える。
画面900におけるウィンドウ901の位置やアイコン911の位置は、画面900上の座標によって表される。
例えば、OSは、ウィンドウ901の位置を、画面900の左上頂点を原点Oとする(X,Y)座標を用いて管理する。X軸の正方向は、画面900の左から右へ向かう方向である。Y軸の正方向は、画面900の上から下へ向かう方向である。ウィンドウ901の位置は、ウィンドウ901の左上頂点の(X,Y)座標で表される。また、ウィンドウ901の他の頂点の座標またはX軸方向およびY軸方向の長さがOSによって管理される。
また、OSは、アイコン911の位置を、タスクバー910の左上頂点を原点oとする(x,y)座標を用いて管理する。x軸の正方向は、画面900の左から右へ向かう方向である。y軸の正方向は、画面900の上から下へ向かう方向である。アイコン911の位置は、アイコン911の左上頂点の(x,y)座標で表される。また、アイコン911の他の頂点の座標またはx軸方向およびy軸方向の長さがOSによって管理される。
表示制御部130は、OSが提供する所定の関数を用いて、OSが管理する情報を取得することができる。
ディスプレイ111aにも画面900と同様の画面が表示される。ただし、本例では、ディスプレイ111aの画面は、画面900の拡張画面として用いられるものとする。拡張画面は、画面900の特定の側に対して連続した領域を提供する。本例では、画面900に向かって右側が拡張画面に繋がるものとする。例えば、ディスプレイ111aの画面上の(X,Y)座標は、ディスプレイ111の画面900の原点Oを基準とした座標となる。また、ディスプレイ111aの画面上のタスクバー上の座標は、当該タスクバーの左上頂点を原点o’とし、x軸に対応するx’軸およびy軸に対応するy’軸による(x’,y’)座標で表される。
図5は、ウィンドウ作成時刻管理テーブルの例を示す図である。
ウィンドウ作成時刻管理テーブル121は、記憶部120に格納される。ウィンドウ作成時刻管理テーブル121は、表示制御部130により更新される。ウィンドウ作成時刻管理テーブル121は、ウィンドウハンドル、ウィンドウタイトルおよび作成時刻の項目を含む。
ウィンドウハンドルの項目には、ウィンドウハンドルが登録される。ウィンドウハンドルは、OSが付与するウィンドウの識別情報である。ウィンドウタイトルの項目には、ウィンドウのタイトルが登録される。作成時刻の項目には、ウィンドウが作成された時刻が登録される。
例えば、ウィンドウ作成時刻管理テーブル121には、ウィンドウハンドル「hwnd1」、ウィンドウタイトル「titleA」、作成時刻「t1」のレコードが登録される。このレコードは、ウィンドウハンドル「hwnd1」かつウィンドウタイトル「titleA」のウィンドウが時刻「t1」に作成されたことを示す。
ウィンドウ作成時刻管理テーブル121には、他のウィンドウに関するレコードも登録される。
図6は、アイコン作成時刻管理テーブルの例を示す図である。
アイコン作成時刻管理テーブル122は、記憶部120に格納される。アイコン作成時刻管理テーブル122は、表示制御部130により更新される。アイコン作成時刻管理テーブル122は、アイコン番号、アイコンキャプションおよび作成時刻の項目を含む。
アイコン番号の項目には、アイコン番号が登録される。アイコン番号は、表示制御部130が付与したアイコンの識別番号である。アイコンキャプションの項目には、アイコンのキャプションが登録される。作成時刻の項目には、アイコンが作成された時刻が登録される。
例えば、アイコン作成時刻管理テーブル122には、アイコン番号「1」、アイコンキャプション「titleA」、作成時刻「t1」のレコードが登録される。このレコードは、アイコン番号「1」かつアイコンキャプション「titleA」のアイコンが時刻「t1」に作成されたことを示す。
図7は、ウィンドウおよびアイコンの表示例を示す図である。
画面200は、ディスプレイ111に表示される。画面300は、ディスプレイ111aに表示される。画面300は、画面200の拡張画面である。
画面200は、ウィンドウ201,202およびタスクバー210を含む。タスクバー210は、アイコン211,212,213,214を含む。
画面300は、ウィンドウ301およびタスクバー310を含む。また、画面300の右側の外部には、画面300には含まれないが、情報処理装置100によって表示中であると管理されるウィンドウ302が存在する。すなわち、情報処理装置100のOSは、画面300の右側の外部の所定範囲の領域についても(X,Y)座標およびウィンドウ302の頂点の座標を管理している。
ユーザは、画面200に対してガイドの表示開始操作を行う。表示開始操作は、例えば、マウスカーソルP1のポイント先をタスクバー210に属する領域とした上で、情報処理装置100に接続されたマウスのマウスホイールに対して上下何れかへホイール操作する操作である。ただし、表示開始操作は、マウスに対するホイール操作以外の操作でもよく、また、キーボードやタッチパネルなどのマウス以外の入力デバイスに対する操作でもよい。
図8は、ガイドの表示例を示す図である。
表示制御部130は、表示開始操作の入力を受け付けると、同じソフトウェアに対応するウィンドウとタスクバー210上のアイコンとを結ぶガイドを画面200,300に表示させる。例えば、ウィンドウ201およびアイコン211は、第1のソフトウェアに対応する。また、ウィンドウ202およびアイコン212は、第2のソフトウェアに対応する。ウィンドウ301およびアイコン213は、第3のソフトウェアに対応する。ウィンドウ302およびアイコン214は、第4のソフトウェアに対応する。
一例では、表示制御部130は、ガイドとして、ラインL1,L2,L3,L4を設定値に応じた方法で画面200,300に表示させる。
ラインL1は、ウィンドウ201およびアイコン211を結ぶ線分である。
ラインL2は、ウィンドウ202およびアイコン212を結ぶ線分である。
ラインL3は、ウィンドウ301およびアイコン213を結ぶ線分である。
ラインL4は、ウィンドウ302およびアイコン214を結ぶ線分である。
アイコンのラインと接続する位置は、予め定められる。例えば、アイコンの上側の辺の中点をラインと接続する。各ウィンドウのラインと接続する位置も、予め定められる。例えば、接続先のアイコンの上側の辺の中点と該当のウィンドウの下側の辺の中点との距離が、該当のウィンドウの左右の辺の特定の点との距離よりも短ければ、当該ウィンドウの下側の辺の中点をラインと接続する。そうでなければ、左右の辺の特定の点のうち、対応するアイコンの上側の辺の中点との距離が最短の点をラインと接続する。ここで、ウィンドウの左右の辺の特定の点は、例えば、中点でもよいし、該当の辺の上側の長さと、下側の長さとを5:1などの所定の比で内分する点でもよい。また、ラインと接続する位置は、アイコンごと、ウィンドウごとに異なってもよい。
なお、何れかのラインとウィンドウとが重なることもある。その場合、例えば、表示制御部130は、ウィンドウの後ろ側にラインが透かして見えるように、ウィンドウを半透明に表示させる。
また、ガイドの表示状態を、「ガイド状態」と言うこととする。表示開始操作の入力により、ガイド状態は、初期状態「表示なし」から「表示あり」に移る。
図9は、ガイドの表示の絞り込み例を示す図である。
ユーザは、画面200に対して表示絞り込み開始操作を行う。表示絞り込み開始操作は、例えば、ガイド状態「表示あり」の場合に、マウスカーソルP1をタスクバー210の何れかのアイコン上に移動させる、すなわち、該当のアイコンにマウスオーバーさせる操作である。
例えば、ラインL1,L2,L3,L4が画面200,300に表示されている状態で、マウスカーソルP1がアイコン213上に移動される場合を考える。この場合、表示制御部130は、ラインL1,L2,L3,L4のうち、アイコン213に対応するラインL3のみを、設定値に応じた方法で表示させる。ラインL1,L2,L4は非表示となる。表示絞り込み開始操作により、ガイド状態は、「表示あり」から「表示絞り込み」に移る。
なお、ユーザは、表示絞り込み開始操作によるガイドの絞り込み表示が行われているときに、表示絞り込み終了操作を行うことができる。表示絞り込み終了操作は、マウスカーソルP1を該当のアイコン上から移動させることで、該当のアイコンからマウスカーソルP1を離す操作である。表示制御部130は、表示絞り込み終了操作を受け付けると、表示絞り込み状態を解除し、再びラインL1,L2,L3,L4の全てを表示させる。表示絞り込み終了操作により、ガイド状態は、「表示絞り込み」から「表示あり」に移る。
更に、ユーザは、ガイドの表示終了操作を行うこともできる。表示終了操作は、ガイドが表示されている場合に、画面200,300の何れかの場所をクリックする操作である。表示制御部130は、表示終了操作を受け付けると、ガイド、すなわち、ラインL1,L2,L3,L4の表示を終了する。表示終了操作により、ガイド状態は、「表示あり」から「表示なし」、または、「表示絞り込み」から「表示なし」に移る。
次に、情報処理装置100の処理手順を説明する。なお、以下の説明では、OSとしてWindows OSを想定し、OSが管理する情報を参照するための関数名やレジストリ名として、Windows OSが提供するものを例示する。
図10は、ガイドの表示制御例を示すフローチャートである。
下記手順で示される処理フローは、OS起動後のウィンドウが何も開かれていないときに起動され、起動後は、処理フロー全体を、例えば一定ミリ秒などの所定周期で繰り返し実行される。ガイド状態の初期状態は、「表示なし」である。
(S10)表示制御部130は、マウス入力を取得する。表示制御部130は、マウスに関する以下のマウス入力情報を取得する。
第1のマウス入力情報は、マウスの各ボタンが押されているか否かを示す状態である。マウスの各ボタンの状態の取得には、GetAsyncKeyState関数が使用され、引数の指定により参照先のボタンを決定できる。例えば、引数GetAsyncKeyStateの指定でマウス左ボタン、引数vbKeyRButtonの指定でマウス右ボタン、引数vbKeyMButtonの指定でマウス中央ボタンとなる。
第2のマウス入力情報は、マウスカーソルの座標である。マウスカーソルの座標は(X,Y)座標で取得される。マウスカーソルの座標の取得には、GetCusorPos関数が使用される。
第3のマウス入力情報は、マウスホイールの移動量である。マウスホイールの移動量の取得には、グローバルフックを行い、WM_MOUSEWHEELメッセージを受け付けた際のIParamパラメータのデルタ値の取得により行われる。
(S11)表示制御部130は、タスクバー情報を取得する。表示制御部130は、タスクバー210,310に関する以下のタスクバー情報を取得する。
第1のタスクバー情報は、タスクバー領域の左上頂点のスクリーン座標((X,Y)座標)およびタスクバー210,310それぞれの幅および高さである。これらの情報の取得は、FindWindow関数によるタスクバー210,310(Shell_TrayWnd)それぞれのウィンドウハンドルの取得やSHAppBarMessage関数を引数ABM_GETTASKBARPOSで使用することによるタスクバー210,310の四隅のスクリーン座標の取得により行われる。
第2のタスクバー情報は、タスクバーの設定である。タスクバーの設定には、アイコンのグループ化や小さいタスクバーボタンを使用するといった設定を含む。アイコンのグループ化を使用するか否かは、レジストリ「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced」の値「TaskbarGlomLevel」に設定されている。また、小さいタスクバーボタンを使用するか否かは、レジストリ「HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced」の値「TaskbarSmallIcons」に設定されている。
(S12)表示制御部130は、ウィンドウ情報を取得する。表示制御部130は、ウィンドウの一覧を取得し、各ウィンドウに関する情報を取得した後、タスクバー210,310に表示されているウィンドウに絞り込む。ウィンドウの一覧の取得には、EnumWindows関数が使用される。ここでは、下記の絞り込み条件を満たすウィンドウハンドルの情報が取得される。
第1の条件はウィンドウが可視状態であることである。可視状態のウィンドウは、GetWindowLong関数で得られるウィンドウスタイルおよび拡張ウィンドウスタイルを参照することで判別される。
第2の条件は親ウィンドウをもたないことである。すなわち、GetWindow関数を引数GW_OWNERで使用し、NULLが応答されることである。
第3の条件はウィンドウがタスクバーに表示されていることである。ウィンドウがタスクバーに表示されているか否かは、GetWindowLong関数で得られる拡張ウィンドウスタイルを参照することで判別される。
第4の条件はウィンドウが最小化されていないことである。ウィンドウが最小化されているか否かは、GetWindowPlacementで得られるウィンドウの状態を参照することで判別される。
また、ウィンドウに関して参照されるウィンドウ情報は次の通りである。
第1のウィンドウ情報は、ウィンドウハンドルである。ウィンドウハンドルは、EnumWindowsProc関数で得られる。
第2のウィンドウ情報は、ウィンドウのタイトルである。ウィンドウのタイトルは、SendMessageStr関数を、ウィンドウハンドルとWM_GETTEXTLENGTHとを引数に用いることで得られる。
第3のウィンドウ情報は、ウィンドウ領域の左上座標および幅/高さのサイズである。ウィンドウ領域の左上頂点のスクリーン座標は、GetWindowPlacement関数でウィンドウ通常時座標を取得し、スクリーン座標に変換することで得られる。また、これにより取得されるウィンドウの四隅の座標から幅と高さが得られる。
第4のウィンドウ情報は、ウィンドウの表示状態である。表示状態は、通常、最大化および最小化を含む。ウィンドウの状態は、GetWindowPlacement関数で取得されたウィンドウ状態を参照することで判別される。
第5のウィンドウ情報は、ウィンドウの作成時刻(追加時刻)である。表示制御部130は、前回取得したウィンドウ情報に、該当のウィンドウのウィンドウハンドルが含まれていない場合、ウィンドウが新規に作成されたとみなし、現在時刻を当該ウィンドウの作成時刻としてウィンドウ作成時刻管理テーブル121に記録する。前回から存在したウィンドウの場合、表示制御部130は、前回の記録をコピーする。
第6のウィンドウ情報は、ウィンドウが表示されているディスプレイである。ウィンドウが表示されているディスプレイは、EnumDisplayMonitors関数で各ディスプレイのサイズとスクリーン座標での位置を取得し、ウィンドウの左上座標が何れのディスプレイに対応する領域に含まれるかを判定することで得られる。
第7のウィンドウ情報は、プロセスID(IDentifier)である。GetWindowThreadProcessId関数を用いてウィンドウハンドルからプロセスIDを取得可能である。
第8のウィンドウ情報は、アプリID(AppUserModelID)である。アプリIDは、SHGetPropertyStoreForWindow関数を用いてウィンドウハンドルからプロパティストアを取得し、プロパティストアのGetValueメソッドを、PKEY_AppUserModel_IDを第1引数にして実行することで得られる。
(S13)表示制御部130は、アイコン情報を取得する。表示制御部130は、タスクバー210,310上のアイコンに関する以下のアイコン情報を取得する。
第1のアイコン情報は、アイコン数である。アイコン数は、FindWindow関数およびFindWindowEx関数でウィンドウハンドルをShell_TrayWnd、ReBarWindow32、MSTaskSwWClass、ToolbarWindow32の順番で取得し、SendMessage関数でタスクバー210,310のToolbarWindow32のウィンドウハンドルとTB_BUTTONCOUNTとを引数にして実行することで得られる。
第2のアイコン情報は、アイコンの表示名(キャプション)である。アイコンの表示名の取得では、まず、SendMessage関数でタスクバー210,310のToolbarWindow32のウィンドウハンドル、何番目かを示す整数、TB_GETBUTTONを引数にして実行し、ReadProcessMemory関数を実行してTBBUTTON型のデータをコピーする。そして、表示制御部130は、TBBUTTON構造体のiStringメンバに格納されている文字列のインデックスを利用して、アイコンの表示名を取得する。
第3のアイコン情報は、アイコン領域の左上座標およびアイコンの幅/高さのサイズである。まず、表示制御部130は、SendMessage関数でタスクバーのToolbarWindow32のウィンドウハンドル、何番目かを示す整数、TB_GETBUTTONを引数にして実行し、ReadProcessMemory関数を実行してTBBUTTON型のデータをコピーする。表示制御部130は、タスクバー210,310のToolbarWindow32のウィンドウハンドル、TB_GETRECT、取得したTBBUTTON型データのidCommandメンバおよび格納先を指定して、SendMessage関数を実行し、ReadProcessMemory関数を実行してアイコン領域の四隅の(x,y)座標を取得する。表示制御部130は、取得した四隅の座標をスクリーン座標((X,Y)座標)に変換する。また、表示制御部130は、取得した座標から該当のアイコンの幅と高さとを計算する。
第4のアイコン情報は、アイコンの位置および順番である。アイコンの位置および順番は、異なるアイコンのアイコン領域同士を比較することによって求められる。例えば、アイコンの順番は、画面200の左側から右側へ向かって順番に振られる。次に、画面300の左側から右側へ向かって順番に振られる。
第5のアイコン情報は、アイコンの作成時刻(追加時刻)である。表示制御部130は、前回取得したアイコン情報に該当のアイコンの情報が含まれていなかった場合、アイコンが新規に追加されたとみなし、現在時刻をアイコンの作成時刻として、アイコン作成時刻管理テーブル122に記録する。前回から存在したアイコンの場合や、前回との差異が表示名のみであった場合は、前回の記録をコピーする。なお、表示制御部130は、作成時刻を記録するアイコンに対して一意のアイコン番号を付与する。また、前回と今回とで表示名が異なるか否かを判定するために、表示制御部130は、作成時刻とともにアイコンキャプションをアイコン作成時刻管理テーブル122に記録する。
第6のアイコン情報は、アイコンが表示されているディスプレイである。アイコンが表示されているディスプレイは、EnumDisplayMonitors関数で各ディスプレイのサイズとスクリーン座標での位置を取得し、アイコンの左上座標が何れのディスプレイに対応する領域に含まれるかを判定することで得られる。
第7のアイコン情報は、アプリID(AppUserModelID)である。例えば、アプリIDは、アイコンがピン留めされた状態の場合、ショートカットファイルのプロパティストアから取得される。
(S14)表示制御部130は、ステップS10において所定入力があったか否かを判定する。所定入力があった場合、表示制御部130は、ステップS15に処理を進める。所定入力がない場合、表示制御部130は、ステップS19に処理を進める。
所定入力があったか否かの判定は、今回取得したマウス情報、タスクバー情報、アイコン情報から、ガイド状態が遷移する入力が行われたか否かにより実行される。所定入力があった場合は、当該入力に応じてガイド状態を遷移させる処理に進む。所定入力には次の種類がある。
第1に、表示開始である。表示開始の操作は、マウスカーソルP1がタスクバー210またはタスクバー310上にあるときに、マウスに対して、上下どちらかへのホイール操作が行われることである。
第2に、表示絞り込み開始である。表示絞り込み開始の操作は、ガイド状態が「表示あり」のときに、マウスカーソルP1を何れかのアイコン上に移動させる、すなわち、アイコンにマウスオーバーさせる操作である。
第3に、表示絞り込み終了である。表示絞り込み終了の操作は、ガイド状態が「表示絞り込み」のときに、マウスカーソルP1をタスクバー210,310の何れかのアイコン上から移動させることで、アイコンからマウスカーソルを離す操作である。
第4に、表示終了である。表示終了の操作は、ガイド状態が「表示あり」または「表示絞り込み」のときに、マウスにより何れかの場所をクリックする操作である。
(S15)表示制御部130は、受け付けた入力の操作種類の判定を行う。操作種類が「表示開始」または「表示絞り込み終了」の場合、表示制御部130は、ステップS16に処理を進める。操作種類が「表示絞り込み開始」の場合、表示制御部130は、ステップS17に処理を進める。操作種類が「表示終了」の場合、表示制御部130は、ステップS18に処理を進める。
(S16)表示制御部130は、ガイド状態を「表示あり」に変更する。そして、表示制御部130は、ステップS19に処理を進める。
(S17)表示制御部130は、ガイド状態を「表示絞り込み」に変更する。そして、表示制御部130は、ステップS19に処理を進める。
(S18)表示制御部130は、ガイド状態を「表示なし」に変更する。そして、表示制御部130は、ステップS19に処理を進める。
(S19)表示制御部130は、ガイド状態が「表示なし」であるか否かを判定する。ガイド状態が「表示なし」の場合、表示制御部130は、ガイド描画を行わずに表示制御を終了する。ガイド状態が「表示なし」以外の場合、表示制御部130は、ステップS20に処理を進める。
(S20)表示制御部130は、ガイド情報の更新要であるか否かを判定する。更新要の場合、表示制御部130は、ステップS21に処理を進める。更新不要の場合、表示制御部130は、ステップS24に処理を進める。具体的には、表示制御部130は、今回取得した情報と前回取得した情報とを比較し、ガイド情報、すなわち、ガイド描画の有無および描画方法の更新要否を判定する。一例では、表示制御部130は、次の判定情報をステップS20の判定に用いる。
第1の判定情報は、ガイド状態の変化である。ガイド状態が変化した場合、ガイド情報の更新要であると判定される。
第2の判定情報は、マウスカーソルの変化である。例えば、ガイド状態が「表示絞り込み」のとき、マウスカーソルが別のアイコン上に移動したとき、ガイド情報の更新要であると判定される。
第3の判定情報は、タスクバーの変化である。例えば、タスクバーの位置、領域および設定に変化があったとき、ガイド情報の更新要であると判定される。
第4の判定情報は、ウィンドウの変化である。例えば、ウィンドウが開かれたり、閉じられたりして、ウィンドウ数の増減があった場合や、ウィンドウの位置、サイズ、状態の何れかが変更された場合に、ガイド情報の更新要であると判定される。
第5の判定情報は、アイコンの変化である。例えば、アイコンが追加されたり、削除されたりして、アイコン数の増減があった場合やアイコンの位置や領域の何れかが変更された場合に、ガイド情報の更新要であると判定される。
判定に用いる全ての判定情報に関して変化がない場合、表示制御部130は、ガイド情報を更新不要と判定する。
(S21)表示制御部130は、ウィンドウとアイコンとの対応関係の更新を行う。具体的には、表示制御部130は、今回取得したウィンドウ情報とアイコン情報とを基にして、各ウィンドウと各アイコンとの対応関係を求める。一例では、次の方法が考えられる。
まず、表示制御部130は、ウィンドウのタイトルとアイコンのキャプションとが一致し、同タイトルのウィンドウが他に存在しない場合は、該当のウィンドウとアイコンとを対応していると判定する。
一方、表示制御部130は、同タイトルのウィンドウが他に存在する場合には、アプリIDが一致しているウィンドウとアイコンとを対応していると判定する。ただし、ウィンドウおよびアイコンの何れかのアプリIDを取得できない場合、表示制御部130は、アプリIDによる判定をスキップして、次の作成時刻による判定に移ってよい。
表示制御部130は、タイトルおよびアプリIDの何れも重複している場合には、ウィンドウの作成時刻とアイコンの作成時刻とを基にして、対応関係を判定する。具体的には、表示制御部130は、同アプリIDであれば、アイコンの追加順がウィンドウの作成順序と概ね一致しており、同一時刻に同タイトルかつ同アプリIDのウィンドウが作成されないと想定して、作成順によりウィンドウとアイコンとを対応付ける。あるいは、表示制御部130は、作成時刻が近似するウィンドウとアイコンとを対応付けてもよい。なお、アプリIDを取得できない場合には、表示制御部130はアプリIDを考慮しなくてもよい。
(S22)表示制御部130は、ガイド設定を取得する。具体的には、表示制御部130は、ウィンドウ、アイコンおよび画面ごとに個別に設定されたガイド設定を取得し、各ウィンドウに対するガイドの表示方法を決定する。ガイド設定の情報は、記憶部120に予め保存される。
(S23)表示制御部130は、ガイド描画情報を更新する。表示制御部130は、以下の情報を基に、ガイドの描画情報、すなわち、ガイド描画の有無および描画方法を更新する。
第1に、ガイド状態である。すなわち、ガイド状態が「表示あり」の場合、表示制御部130は、ステップS21で更新した対応関係に基づいて、全てのガイドを描画対象とする。また、ガイド状態が「表示絞り込み」の場合、表示制御部130は、ステップS21で更新した対応関係に基づいて、絞り込み対象のアイコンに関係するガイドのみを描画対象にする。
第2に、ウィンドウ情報である。表示制御部130は、ステップS12で取得したウィンドウ情報により絞り込んだ、タスクバー210,310に表示されているアイコンに対応するウィンドウに関するガイドのみを描画対象にする。
第3に、ガイド設定である。表示制御部130は、予め設定されたガイド設定に応じて、描画対象のガイドに、当該ガイド設定で指定された描画方法を適用する。
(S24)表示制御部130は、ガイド描画を行う。表示制御部130は、ガイド描画情報に従って、ガイドを画面200,300に描画する。これにより、画面200,300にガイドが表示される。そして、表示制御部130は、表示制御を終了する。
これにより、ユーザによるウィンドウの探索を支援できる。
表示されているウィンドウと、当該ウィンドウに対応するタスクバー210,310上のアイコンとを結ぶガイドが表示されるので、ユーザは、ガイドを視認することで、表示中のウィンドウが何れのソフトウェアのものかを容易に判別できる。このため、ユーザは、画面200,300内に複数のウィンドウが表示されている場合でも、ガイドを辿ることで、自身が操作しようとする目的のウィンドウを容易に見つけることができる。
また、情報処理装置100がマルチディスプレイ表示を行っている場合でも、ユーザは、例えばディスプレイ111からディスプレイ111aに表示されているウィンドウまでガイドを辿ることができる。ユーザは、表示装置の境目をまたいで視線を導くことができ、目的のウィンドウを容易に見つけることができる。
また、図8で例示したように、ユーザに、画面200,300外のウィンドウの存在に気付かせることもできる。
更に、ウィンドウとアイコンとの対応付けに、ウィンドウのタイトルとアイコンの表示名(キャプション)やアプリIDの同一性、および、作成時刻の近似性を利用することで、ウィンドウとアイコンとを適切に対応付けることができる。
なお、表示制御部130は、ウィンドウに関連するソフトウェアのプロセスのプロセスIDおよびタスクバー上のアイコンに関連するソフトウェアのプロセスのプロセスIDをOSから取得できることもある。この場合、表示制御部130は、アプリIDに代えて、プロセスIDの同一性によりウィンドウとアイコンとを対応付けてもよい。すなわち、表示制御部130は、ソフトウェアのプロセスIDが同じであるウィンドウとアイコンとを対応関係にあると判定し、そうでないウィンドウとアイコンとを対応関係にないと判定してもよい。
[第3の実施の形態]
次に、第3の実施の形態を説明する。前述の第2の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
第3の実施の形態では、情報処理装置100は、タスクバー210,310上のアイコンがグループ化される場合のガイドの表示機能を提供する。第2の実施の形態と同様に、最小化されているウィンドウや、対応するウィンドウが開かれていないアイコンについては図示を省略する。また、情報処理装置100のハードウェア例や機能例は、図2,3の説明と同様であるため、説明を省略する。
図11は、第3の実施の形態のウィンドウおよびアイコンの表示例を示す図である。
画面400は、ディスプレイ111に表示される。画面500は、ディスプレイ111aに表示される。画面500は、画面400の拡張画面である。
画面400は、ウィンドウ401,402,403,404およびタスクバー410を含む。タスクバー410は、アイコングループ411,412,413を含む。
アイコングループ411,412,413は、それぞれ同じソフトウェアに対応する複数のアイコンがグループ化されたものである。例えば、アイコングループ411,412,413は、複数のアイコンが重なった状態を表すアイコンとして表示される。アイコングループ411,412,413それぞれの幅や高さは、1つのアイコンと同じ幅や高さでもよい。
画面500は、ウィンドウ501,502,503,504およびタスクバー510を含む。
ユーザは、画面400に対してガイドの表示開始操作を行う。表示開始操作は、例えば、マウスカーソルP1のポイント先をタスクバー410に属する領域とした上で、情報処理装置100に接続されたマウスのマウスホイールに対して上下何れかへホイール操作する操作である。ただし、表示開始操作は、マウスに対するホイール操作以外の操作でもよく、また、キーボードやタッチパネルなどのマウス以外の入力デバイスに対する操作でもよい。
図12は、ガイドの表示例を示す図である。
表示制御部130は、表示開始操作の入力を受け付けると、同じソフトウェアに対応するウィンドウとタスクバー410上のアイコングループとを結ぶガイドを画面400,500に表示させる。例えば、ウィンドウ401,504およびアイコングループ411は、第1のソフトウェアに対応する。また、ウィンドウ402,404,502,503およびアイコングループ412は、第2のソフトウェアに対応する。ウィンドウ403,501およびアイコングループ413は、第3のソフトウェアに対応する。
一例では、表示制御部130は、ガイドとして、ラインL11,L12,L21,L22,L23,L24,L31,L32を設定値に応じた方法で、画面400,500に表示させる。
ラインL11は、ウィンドウ401およびアイコングループ411を結ぶ線分である。
ラインL12は、ウィンドウ504およびアイコングループ411を結ぶ線分である。
ラインL21は、ウィンドウ402およびアイコングループ412を結ぶ線分である。
ラインL22は、ウィンドウ404およびアイコングループ412を結ぶ線分である。
ラインL23は、ウィンドウ503およびアイコングループ412を結ぶ線分である。
ラインL24は、ウィンドウ502およびアイコングループ412を結ぶ線分である。
ラインL31は、ウィンドウ403およびアイコングループ413を結ぶ線分である。
ラインL32は、ウィンドウ501およびアイコングループ413を結ぶ線分である。
アイコングループのラインと接続する位置は、予め定められる。例えば、アイコングループの上側の辺の中点をラインと接続する。各ウィンドウのラインと接続する位置も、図8の説明と同様に、予め定められる。
また、何れかのラインとウィンドウとが重なることもある。その場合、例えば、表示制御部130は、ウィンドウの後ろ側にラインが透かして見えるように、ウィンドウを半透明に表示させる。
図13は、ガイドの表示の絞り込み例を示す図である。
ユーザは、画面400に対して表示絞り込み1開始操作を行う。表示絞り込み1開始操作は、例えば、ガイド状態「表示あり」の場合に、マウスカーソルP1をタスクバー410の何れかのアイコングループ上に移動させる、すなわち、該当のアイコングループにマウスオーバーさせる操作である。
例えば、ラインL11,L12,L21~L24,L31,L32が画面400,500に表示されている状態で、マウスカーソルP1がアイコングループ412上に移動される場合を考える。この場合、表示制御部130は、ラインL11,L12,L21~L24,L31,L32のうち、アイコングループ412に対応するラインL21~L24のみを設定値に応じた方法で表示させる。ラインL11,L12,L31,L32は非表示となる。表示絞り込み操作により、ガイド状態は、「表示あり」から「表示絞り込み1」に移る。
なお、ユーザは、表示絞り込み1開始操作によるガイドの絞り込み表示が行われているときに、表示絞り込み1終了操作を行うことができる。表示絞り込み1終了操作は、マウスカーソルP1を該当のアイコングループ上から移動させることで、該当のアイコングループからマウスカーソルP1を離す操作である。表示制御部130は、表示絞り込み1終了操作を受け付けると、表示絞り込み1状態を解除し、再びラインL11,L12,L21~L24,L31,L32の全てを表示させる。表示絞り込み1終了操作により、ガイド状態は、「表示絞り込み1」から「表示あり」に移る。
図14は、ガイドの表示の他の絞り込み例を示す図である。
ユーザは、画面400に対して表示絞り込み2開始操作を行う。表示絞り込み2開始操作は、アイコングループに対して、OSが提供するウィンドウのサムネイル表示を利用している場合に、該当のアイコングループに対応する各ウィンドウのサムネイル上にマウスカーソルP1を移動させる操作である。
例えば、アイコングループ412に対するサムネイル412a,412b,412c,412dが画面400に表示されており、ガイド状態「表示あり」または「表示絞り込み1」から、マウスカーソルP1がサムネイル412c上に移動された場合を考える。この場合、表示制御部130は、サムネイル412cに対応するラインL25のみを設定値に応じた方法で表示させる。他のラインは非表示となる。表示絞り込み2開始操作により、ガイド状態は、「表示絞り込み1」から「表示絞り込み2」に移る。
なお、ユーザは、表示絞り込み2開始操作によるガイドの絞り込み表示が行われているときに、表示絞り込み2終了操作を行うことができる。表示絞り込み2終了操作は、マウスカーソルP1を該当のサムネイル上から移動させることで、該当のサムネイルからマウスカーソルP1を離す操作である。表示制御部130は、表示絞り込み2終了操作を受け付けると、「表示絞り込み2」状態を解除し、該当のサムネイルに対応するアイコングループに関する「表示絞り込み1」状態に移る。
更に、ユーザは、ガイドの表示終了操作を行うこともできる。表示終了操作は、ガイドが表示されている場合に、画面400,500の何れかの場所をクリックする操作やサムネイルを不可視状態にする操作である。表示制御部130は、表示終了操作を受け付けると、ガイド、すなわち、全てのラインの表示を終了する。表示終了操作により、ガイド状態は、「表示あり」から「表示なし」、または、「表示絞り込み1」から「表示なし」、あるいは、「表示絞り込み2」から「表示なし」に移る。
次に、情報処理装置100により処理手順を説明する。
図15は、ガイドの表示制御例を示すフローチャートである。
下記手順で示される処理フローは、OS起動後のウィンドウが何も開かれていないときに起動され、起動後は、処理フロー全体を、例えば一定ミリ秒などの所定周期で繰り返し実行される。ガイド状態の初期状態は、「表示なし」である。
(S30)表示制御部130は、マウス入力を取得する。表示制御部130は、ステップS10で例示した第1~第3のマウス入力情報を取得する。
(S31)表示制御部130は、タスクバー情報を取得する。表示制御部130は、ステップS11で例示した第1,第2のタスクバー情報を取得する。
(S32)表示制御部130は、ウィンドウ情報を取得する。表示制御部130は、ステップS12で例示した第1~第4の条件を満たすウィンドウに関して、第1~第8のウィンドウ情報を取得する。ただし、表示制御部130は、プロセスIDやアプリIDを取得しなくてもよい。
(S33)表示制御部130は、アイコン情報を取得する。表示制御部130は、ステップS13で例示した第1~第7のアイコン情報を取得する。ただし、表示制御部130は、アプリIDを取得しなくてもよい。また、アイコンがグループ化されている場合、表示制御部130は、該当のアイコングループに対して、第1~第7のアイコン情報を取得する。
(S34)表示制御部130は、サムネイル情報を取得する。表示制御部130は、画面400,500において可視状態にあるサムネイルに関して、以下のサムネイル情報を取得する。
第1のサムネイル情報は、サムネイルのキャプションである。サムネイルのキャプションの取得では、まず、表示制御部130は、サムネイル表示を管理しているウィンドウハンドルを取得する。表示制御部130は、当該ウィンドウハンドルから個々のサムネイルを管理しているインスタンスを取得する。表示制御部130は、当該インスタンスを利用して個々のサムネイルのキャプションを取得する。
第2のサムネイル情報は、サムネイル領域の左上頂点座標および幅/高さのサイズである。左上頂点座標はスクリーン座標で求められる。表示制御部130は、サムネイル表示を管理しているウィンドウハンドルを取得し、当該ウィンドウハンドルから個々のサムネイルを管理しているインスタンスを取得する。表示制御部130は、当該インスタンスを利用して個々のサムネイルの四隅の(x,y)座標を取得し、スクリーン座標((X,Y)座標)に変換する。また、表示制御部130は、取得した四隅の座標から幅と高さとを計算する。
第3のサムネイル情報は、サムネイルの位置および順番である。サムネイルの位置および順番は、異なるサムネイルのサムネイル領域同士を比較することによって求められる。例えば、サムネイルの順番は、画面400の左側から右側へ向かって順番に振られる。次に、画面500の左側から右側へ向かって順番に振られる。
第4のサムネイル情報は、サムネイルの作成時刻(追加時刻)である。表示制御部130は、前回取得したサムネイル情報に該当のサムネイルの情報が含まれていなかった場合、サムネイルが新規に追加されたとみなし、現在時刻をサムネイルの作成時刻として、サムネイル作成時刻管理テーブルに記録する。前回から存在したサムネイルの場合や、前回との差異が表示名のみであった場合は、前回の記録をコピーする。なお、サムネイル作成時刻管理テーブルは、図6で例示したアイコン作成時刻管理テーブル122と同様のデータ構造となる。ただし、アイコン作成時刻管理テーブル122におけるアイコン番号をサムネイル番号とし、アイコンキャプションをサムネイルキャプションに変更する。表示制御部130は、作成時刻を記録するサムネイルに一意のサムネイル番号を付与する。
第5のサムネイル情報は、サムネイルが表示されているディスプレイである。サムネイルが表示されているディスプレイは、EnumDisplayMonitors関数で各ディスプレイのサイズとスクリーン座標での位置を取得し、サムネイルの左上座標が何れのディスプレイに対応する領域に含まれるかを判定することで得られる。
第6のサムネイル情報は、該当のサムネイルに対応するアイコングループに対応するプロセスIDである。
第7のサムネイル情報は、該当のサムネイルに対応するアイコングループに対応するアプリIDである。
(S35)表示制御部130は、ステップS30において所定入力があったか否かを判定する。所定入力があった場合、表示制御部130は、ステップS36に処理を進める。所定入力がない場合、表示制御部130は、ステップS41に処理を進める。
所定入力があったか否かの判定は、今回取得したマウス情報、タスクバー情報、アイコン情報から、ガイド状態が遷移する入力が行われたか否かにより実行される。所定入力があった場合は、当該入力に応じてガイド状態を遷移させる処理に進む。所定入力には次の種類がある。
第1に、表示開始である。表示開始の操作は、マウスカーソルP1がタスクバー410またはタスクバー510上にあるときに、マウスに対して、上下どちらかへのホイール操作が行われることである。
第2に、表示絞り込み1開始である。表示絞り込み1開始の操作は、ガイド状態が「表示あり」のときに、マウスカーソルP1を何れかのアイコンまたはアイコングループ上に移動させる、すなわち、アイコンにマウスオーバーさせる操作である。
第3に、表示絞り込み1終了である。表示絞り込み1終了の操作は、ガイド状態が「表示絞り込み1」のときに、マウスカーソルP1をタスクバー410,510の何れかのアイコンまたはアイコングループ上から移動させることで、アイコンまたはアイコングループからマウスカーソルP1を離す操作である。
第4に、表示絞り込み2開始である。表示絞り込み2開始の操作は、ガイド状態が「表示絞り込み1」のときに、マウスカーソルP1をタスクバー410,510の何れかのサムネイル上に移動させる、すなわち、サムネイルにマウスオーバーさせる操作である。なお、表示絞り込み2開始は、サムネイルが可視状態の場合のみ受け付けられる。
第5に、表示絞り込み2終了である。表示絞り込み2終了の操作は、ガイド状態が「表示絞り込み2」のときに、マウスカーソルP1をタスクバー410,510の何れかのサムネイル上からアイコンまたはアイコングループ上に移動させる操作である。
第6に、表示終了である。表示終了の操作は、ガイド状態が「表示あり」、「表示絞り込み1」または「表示絞り込み2」のときに、マウスにより何れかの場所をクリックする操作、および、ガイド状態が「表示絞り込み2」のときにサムネイルを不可視状態とする操作である。
(S36)表示制御部130は、受け付けた入力の操作種類の判定を行う。操作種類が「表示開始」または「表示絞り込み1終了」の場合、表示制御部130は、ステップS37に処理を進める。操作種類が「表示絞り込み1開始」または「表示絞り込み2終了」の場合、表示制御部130は、ステップS38に処理を進める。操作種類が「表示絞り込み2開始」の場合、表示制御部130は、ステップS39に処理を進める。操作種類が「表示終了」の場合、表示制御部130は、ステップS40に処理を進める。
(S37)表示制御部130は、ガイド状態を「表示あり」に変更する。そして、表示制御部130は、ステップS41に処理を進める。
(S38)表示制御部130は、ガイド状態を「表示絞り込み1」に変更する。そして、表示制御部130は、ステップS41に処理を進める。
(S39)表示制御部130は、ガイド状態を「表示絞り込み2」に変更する。そして、表示制御部130は、ステップS41に処理を進める。
(S40)表示制御部130は、ガイド状態を「表示なし」に変更する。そして、表示制御部130は、ステップS41に処理を進める。
(S41)表示制御部130は、ガイド状態が「表示なし」であるか否かを判定する。ガイド状態が「表示なし」の場合、表示制御部130は、ガイド描画を行わずに表示制御を終了する。ガイド状態が「表示なし」以外の場合、表示制御部130は、ステップS42に処理を進める。
(S42)表示制御部130は、ガイド情報の更新要であるか否かを判定する。更新要の場合、表示制御部130は、ステップS43に処理を進める。更新不要の場合、表示制御部130は、ステップS46に処理を進める。具体的には、表示制御部130は、今回取得した情報と前回取得した情報とを比較し、ガイド情報、すなわち、ガイド描画の有無および描画方法の更新要否を判定する。一例では、表示制御部130は、次の判定情報をステップS42の判定に用いる。
第1の判定情報は、ガイド状態の変化である。ガイド状態が変化した場合、ガイド情報の更新要であると判定される。
第2の判定情報は、マウスカーソルの変化である。例えば、ガイド状態が「表示絞り込み1」のとき、マウスカーソルが別のアイコンまたはアイコングループ上に移動したとき、ガイド情報の更新要であると判定される。
第3の判定情報は、タスクバーの変化である。例えば、タスクバーの位置、領域および設定に変化があったとき、ガイド情報の更新要であると判定される。
第4の判定情報は、ウィンドウの変化である。例えば、ウィンドウが開かれたり、閉じられたりして、ウィンドウ数の増減があった場合や、ウィンドウの位置、サイズ、状態の何れかが変更された場合に、ガイド情報の更新要であると判定される。
第5の判定情報は、アイコンまたはアイコングループの変化である。例えば、アイコンまたはアイコングループが追加されたり、削除されたりして、アイコングループを含むアイコン数の増減があった場合やアイコンまたはアイコングループの位置や領域の何れかが変更された場合に、ガイド情報の更新要であると判定される。
第6の判定情報は、サムネイルの変化である。例えば、サムネイルが追加されたり、削除されたりして、サムネイル数の増減があった場合や、サムネイルの位置、領域、状態の何れかが変更された場合に、ガイド情報の更新要であると判定される。ただし、第6の判定情報は、ガイド状態が「表示絞り込み2」の場合にのみ用いられる。
判定に用いる全ての判定情報に関して変化がない場合、表示制御部130は、ガイド情報を更新不要と判定する。
(S43)表示制御部130は、ウィンドウとアイコンまたはアイコングループとの対応関係またはウィンドウとサムネイルとの対応関係の更新を行う。具体的には、ガイド状態が「表示あり」または「表示絞り込み1」の場合、表示制御部130は、今回取得したウィンドウ情報とアイコン情報とを基にして、各ウィンドウと各アイコンまたは各アイコングループとの対応関係を求める。各ウィンドウと各アイコンまたは各アイコングループとの対応関係を求める方法としては、ステップS21で例示した方法と同様の方法を用いることができる。
一方、ガイド状態が「表示絞り込み2」の場合、表示制御部130は、今回取得したウィンドウ情報とサムネイル情報とを基にして、各ウィンドウと各サムネイルとの対応関係を求める。一例では、次の方法が考えられる。
まず、表示制御部130は、ウィンドウのタイトルとサムネイルのキャプションとが一致し、同タイトルのウィンドウが他に存在しない場合は、該当のウィンドウとサムネイルとを対応していると判定する。ここで、ウィンドウのタイトルやサムネイルのキャプションには、該当のソフトウェアにより開かれているファイルのファイル名が含まれ得る。このため、あるソフトウェアにより開かれている第1のファイルに対応するサムネイルとウィンドウとのペア、および、同じソフトウェアにより開かれている第2のファイルに対応するサムネイルとウィンドウとのペアを適切に対応付けることができる。
一方、表示制御部130は、同タイトルのウィンドウが他に存在する場合には、アプリIDが一致しているウィンドウとサムネイルとを対応していると判定する。ただし、ウィンドウおよびアイコンの何れかのアプリIDを取得できない場合、表示制御部130は、アプリIDによる判定をスキップして、次の作成時刻による判定に移ってよい。
表示制御部130は、タイトルおよびアプリIDの何れも重複している場合には、ウィンドウの作成時刻とサムネイルの作成時刻とを基にして、対応関係を判定する。具体的には、表示制御部130は、同アプリIDであれば、サムネイルの追加順がウィンドウの作成順序と概ね一致しており、同一時刻に同タイトルかつ同アプリIDのウィンドウが作成されないと想定して、作成順によりウィンドウとサムネイルとを対応付ける。あるいは、表示制御部130は、作成時刻が近似するウィンドウとサムネイルとを対応付けてもよい。なお、アプリIDを取得できない場合には、表示制御部130はアプリIDを考慮しなくてもよい。
(S44)表示制御部130は、ガイド設定を取得する。具体的には、表示制御部130は、ウィンドウ、アイコンおよび画面ごとに個別に設定されたガイド設定を取得し、各ウィンドウに対するガイドの表示方法を決定する。ガイド設定の情報は、記憶部120に予め保存される。
(S45)表示制御部130は、ガイド描画情報を更新する。表示制御部130は、以下の情報を基に、ガイドの描画情報、すなわち、ガイド描画の有無および描画方法を更新する。
第1に、ガイド状態である。すなわち、ガイド状態が「表示あり」の場合、表示制御部130は、ステップS43で更新した対応関係に基づいて、全てのガイドを描画対象とする。また、ガイド状態が「表示絞り込み1」の場合、表示制御部130は、ステップS43で更新した対応関係に基づいて、絞り込み対象のアイコンまたはアイコングループに関係するガイドのみを描画対象にする。更に、ガイド状態が「表示絞り込み2」の場合、表示制御部130は、ステップS43で更新した対応関係に基づいて、絞り込み対象のサムネイルに関係するガイドのみを描画対象にする。
第2に、ウィンドウ情報である。表示制御部130は、ステップS32で取得したウィンドウ情報により絞り込んだウィンドウに関するガイドのみを描画対象にする。
第3に、ガイド設定である。表示制御部130は、予め設定されたガイド設定に応じて、描画対象のガイドに、当該ガイド設定で指定された描画方法を適用する。
(S46)表示制御部130は、ガイド描画を行う。表示制御部130は、ガイド描画情報に従って、ガイドを画面400,500に描画する。これにより、画面400,500にガイドが表示される。そして、表示制御部130は、表示制御を終了する。
これにより、ユーザによるウィンドウの探索を支援できる。
表示されているウィンドウと、ウィンドウに対応するタスクバー410,510上のアイコンまたはアイコングループとを結ぶガイドが表示されるので、ユーザは、ガイドを視認することで、表示中のウィンドウが何れのソフトウェアのものかを容易に判別できる。このため、ユーザは、画面400,500内に複数のウィンドウが表示されている場合でも、ガイドを辿ることで、自身が操作しようとする目的のウィンドウを容易に見つけることができる。特に、ユーザは、サムネイルを選択する操作を行うことで、選択したサムネイルと当該サムネイルに対応するウィンドウとを結ぶガイドのみを表示させることができるので、目的のウィンドウを一層容易に見つけることができる。
[第4の実施の形態]
次に、第4の実施の形態を説明する。前述の第2,第3の実施の形態と相違する事項を主に説明し、共通する事項の説明を省略する。
第4の実施の形態では、情報処理装置100は、デスクトップ上のアイコンとウィンドウとを結ぶガイドの表示機能を提供する。デスクトップは、情報処理装置100が表示する画面の全領域のうち、タスクバー以外の領域である。
なお、情報処理装置100のハードウェア例や機能例は、図2,3の説明と同様であるため、説明を省略する。
図16は、第4の実施の形態のウィンドウおよびアイコンの表示例を示す図である。
画面600は、ディスプレイ111に表示される。画面700は、ディスプレイ111aに表示される。画面700は、画面600の拡張画面である。
画面600は、デスクトップ600a、ウィンドウ601,602、タスクバー610およびアイコン621,622,623,624を含む。デスクトップ600aは、画面600の全領域のうちタスクバー610を含まない領域である。アイコン621,622,623,624は、デスクトップ600a上のアイコンである。
画面700は、デスクトップ700a、ウィンドウ701,702およびタスクバー710を含む。デスクトップ700aは、画面700の全領域のうちタスクバー710を含まない領域である。
ここで、タスクバー610,710に表示される、起動済のソフトウェアを表すアイコンの図示を省略する。
ユーザは、画面600に対してガイドの表示開始操作を行う。表示開始操作は、例えば、マウスカーソルP1のポイント先をデスクトップ600aに属する領域とした上で、情報処理装置100に接続されたマウスのマウスホイールに対して上下何れかへホイール操作する操作である。ただし、表示開始操作は、マウスに対するホイール操作以外の操作でもよく、また、キーボードやタッチパネルなどのマウス以外の入力デバイスに対する操作でもよい。
図17は、ガイドの表示例を示す図である。
表示制御部130は、表示開始操作の入力を受け付けると、同じソフトウェアに対応するウィンドウとアイコンとを結ぶガイドを画面600,700に表示させる。
例えば、ウィンドウ601,701およびアイコン621は、第1のソフトウェアに対応する。また、ウィンドウ602およびアイコン622は、第2のソフトウェアに対応する。ウィンドウ702およびアイコン623は、第3のソフトウェアに対応する。
一例では、表示制御部130は、ガイドとして、ラインL41,L42,L43,L44を設定値に応じた方法で、画面600,700に表示させる。
ラインL41は、ウィンドウ601およびアイコン621を結ぶ線分である。
ラインL42は、ウィンドウ701およびアイコン621を結ぶ線分である。
ラインL43は、ウィンドウ602およびアイコン622を結ぶ線分である。
ラインL44は、ウィンドウ702およびアイコン623を結ぶ線分である。
アイコンの外周の辺上のラインと接続する位置は、予め定められる。例えば、アイコンの、画面600,700に向かって右側の辺の中点をラインと接続する。各ウィンドウのラインと接続する位置も、図8の説明と同様に、予め定められる。
また、何れかのラインとウィンドウとが重なることもある。その場合、例えば、表示制御部130は、ウィンドウの後ろ側にラインが透かして見えるように、ウィンドウを半透明に表示させる。
図18は、ガイドの表示の絞り込み例を示す図である。
ユーザは、画面600に対して表示絞り込み開始操作を行う。表示絞り込み開始操作は、例えば、ガイド状態「表示あり」の場合に、マウスカーソルP1を何れかのアイコン上に移動させる、すなわち、該当のアイコンにマウスオーバーさせる操作である。
例えば、ラインL41,L42,L43,L44が画面600,700に表示されている状態で、マウスカーソルP1がアイコン621上に移動される場合を考える。この場合、表示制御部130は、ラインL41,L42,L43,L44のうち、アイコン621に対応するラインL41,L42のみを、設定値に応じた方法で表示させる。ラインL43,L44は非表示となる。表示絞り込み開始操作により、ガイド状態は、「表示あり」から「表示絞り込み」に移る。
なお、ユーザは、表示絞り込み開始操作によるガイドの絞り込み表示が行われているときに、表示絞り込み終了操作を行うことができる。表示絞り込み終了操作は、マウスカーソルP1を該当のアイコン上から移動させることで、該当のアイコンからマウスカーソルP1を離す操作である。表示制御部130は、表示絞り込み終了操作を受け付けると、表示絞り込み状態を解除し、再びラインL41,L42,L43,L44の全てを表示させる。表示絞り込み終了操作により、ガイド状態は、「表示絞り込み」から「表示あり」に移る。
更に、ユーザは、ガイドの表示終了操作を行うこともできる。表示終了操作は、ガイドが表示されている場合に、画面600,700の何れかの場所をクリックする操作である。表示制御部130は、表示終了操作を受け付けると、ガイド、すなわち、ラインL41,L42,L43,L44の表示を終了する。表示終了操作により、ガイド状態は、「表示あり」から「表示なし」、または、「表示絞り込み」から「表示なし」に移る。
図19は、ガイドの表示制御例を示すフローチャートである。
下記手順で示される処理フローは、OS起動後のウィンドウが何も開かれていないときに起動され、起動後は、処理フロー全体を、例えば一定ミリ秒などの所定周期で繰り返し実行される。ガイド状態の初期状態は、「表示なし」である。
(S50)表示制御部130は、マウス入力を取得する。表示制御部130は、ステップS10で例示した第1~第3のマウス入力情報を取得する。
(S51)表示制御部130は、デスクトップ情報を取得する。表示制御部130は、デスクトップ情報として、デスクトップ領域のサイズ、すなわち、幅および高さを、EnumDisplayMonitors関数を用いて取得する。
(S52)表示制御部130は、ウィンドウ情報を取得する。表示制御部130は、ステップS12で例示した第1~第4の条件を満たすウィンドウに関して、第1~第8のウィンドウ情報を取得する。
更に、第9のウィンドウ情報として、表示制御部130は、ウィンドウに対応する実行ファイルのパスを取得する。具体的には、表示制御部130は、該当のウィンドウに対応するプロセスIDからプロセスハンドルを取得し、プロセスハンドルからモジュールハンドルを取得する。そして、表示制御部130は、GetModuleFileNameEx関数を、プロセスハンドルおよびモジュールハンドルを引数にして実行し、該当のウィンドウを起動した実行ファイルのパスを取得する。
(S53)表示制御部130は、アイコン情報を取得する。表示制御部130は、デスクトップ600a,700a上のアイコンに関する以下のアイコン情報を取得する。
第1のアイコン情報は、アイコン数である。アイコン数は、FindWindow関数およびFindWindowEx関数でウィンドウハンドルをProgram Manager、SHELLDLL_DefView、SysListView32の順番で取得し、SendMessage関数でデスクトップのSysListView32のウィンドウハンドル、LVM_GETITEMCOUNTを引数にして実行することで得られる。
第2のアイコン情報は、アイコンのファイルパスである。まず、表示制御部130は、FindWindow関数およびFindWindowEx関数でウィンドウハンドルをProgram Manager、SHELLDLL_DefView、SysListView32の順番で取得し、SendMessage関数でデスクトップのSysListView32のウィンドウハンドル、LVM_GETITEMTEXT、何番目かを示す番号、および格納先変数を指定して実行することで、アイコンのファイル名を得る。なお、拡張子を表示しない設定の場合には、表示制御部130は、取得したファイルパスに拡張子を補う。
次に、表示制御部130は、CreateObject関数をWScript.Shellを引数として実行し、取得したインスタンスのSpecialFoldersメソッドを、Desktopを引数として使用して、ユーザのデスクトップのフォルダパスを取得する。
その後、表示制御部130は、ユーザのデスクトップのフォルダパスとアイコンのファイル名とを結合してフルパスにする。このとき、表示制御部130は、該当のファイルが存在するかを確認し、ファイルが存在しない場合は、パブリックのデスクトップのフォルダパスとアイコンのファイル名とを結合する。
なお、ファイルがショートカットファイルの場合、表示制御部130は、参照先ファイルのパスも取得する。具体的には、表示制御部130は、CreateObject関数をWScript.Shellを引数として実行し、取得したインスタンスのCreateShortcutメソッドにショートカットファイルのパスを引数として使用し、取得した変数のTargetPathメンバを参照する。
第3のアイコン情報は、アイコン領域の左上座標およびアイコンの幅/高さのサイズである。まず、表示制御部130は、FindWindow関数およびFindWindowEx関数でウィンドウハンドルをProgram Manager、SHELLDLL_DefView、SysListView32の順番で取得し、SendMessage関数でデスクトップのSysListView32のウィンドウハンドル、LVM_GETITEMRECT、何番目かを示す番号、および格納先変数を指定して実行し、アイコンの座標を取得する。そして、表示制御部130は、取得した座標を、アイコン領域の左上のスクリーン座標に変換する。また、表示制御部130は、取得した座標からアイコンの幅と高さとを計算する。例えば、表示制御部130はアイコンの座標として、アイコン領域の四隅の(X,Y)座標をOSから取得してもよい。
第4のアイコン情報は、アイコンの作成時刻(追加時刻)である。表示制御部130は、前回取得したアイコン情報に該当のアイコンの情報が含まれていなかった場合、アイコンが新規に追加されたとみなし、現在時刻をアイコンの作成時刻として、アイコン作成時刻管理テーブル122に記録する。前回から存在したアイコンの場合や、前回との差異が表示名のみであった場合は、前回の記録をコピーする。なお、表示制御部130は、作成時刻を記録するアイコンに対して一意のアイコン番号を付与する。また、前回と今回とで表示名が異なるか否かを判定するために、表示制御部130は、作成時刻とともにアイコンキャプションをアイコン作成時刻管理テーブル122に記録する。なお、アイコンの作成日時は、アイコンに対応するファイルの作成日時を参照することで取得されてもよい。
第5のアイコン情報は、アイコンが表示されているディスプレイである。アイコンが表示されているディスプレイは、EnumDisplayMonitors関数で各ディスプレイのサイズとスクリーン座標での位置を取得し、アイコンの左上座標が何れのディスプレイに対応する領域に含まれるかを判定することで得られる。
第6のアイコン情報は、アプリIDである。該当のアイコンが実行ファイルの場合は、レジストリからアプリIDを特定可能である。また、該当のアイコンがショートカットファイルの場合は、ショートカットファイルのプロパティストアを取得し、プロパティストアのGetValueメソッドを、PKEY_AppUserModel_IDを第1引数にして実行することで、System.AppUserModel.IDが取得される。
(S54)表示制御部130は、ステップS50において所定入力があったか否かを判定する。所定入力があった場合、表示制御部130は、ステップS55に処理を進める。所定入力がない場合、表示制御部130は、ステップS59に処理を進める。
所定入力があったか否かの判定は、今回取得したマウス情報、デスクトップ情報、アイコン情報から、ガイド状態が遷移する入力が行われたか否かにより実行される。所定入力があった場合は、当該入力に応じてガイド状態を遷移させる処理に進む。所定入力には次の種類がある。
第1に、表示開始である。表示開始の操作は、マウスカーソルP1がデスクトップ600aまたはデスクトップ700a上にあるときに、マウスに対して、上下どちらかへのホイール操作が行われることである。
第2に、表示絞り込み開始である。表示絞り込み開始の操作は、ガイド状態が「表示あり」のときに、マウスカーソルP1を何れかのアイコン上に移動させる、すなわち、アイコンにマウスオーバーさせる操作である。
第3に、表示絞り込み終了である。表示絞り込み終了の操作は、ガイド状態が「表示絞り込み」のときに、マウスカーソルP1を何れかのアイコン上から移動させることで、アイコンからマウスカーソルP1を離す操作である。
第4に、表示終了である。表示終了の操作は、ガイド状態が「表示あり」または「表示絞り込み」のときに、マウスにより何れかの場所をクリックする操作である。
(S55)表示制御部130は、受け付けた入力の操作種類の判定を行う。操作種類が「表示開始」または「表示絞り込み終了」の場合、表示制御部130は、ステップS56に処理を進める。操作種類が「表示絞り込み開始」の場合、表示制御部130は、ステップS57に処理を進める。操作種類が「表示終了」の場合、表示制御部130は、ステップS58に処理を進める。
(S56)表示制御部130は、ガイド状態を「表示あり」に変更する。そして、表示制御部130は、ステップS59に処理を進める。
(S57)表示制御部130は、ガイド状態を「表示絞り込み」に変更する。そして、表示制御部130は、ステップS59に処理を進める。
(S58)表示制御部130は、ガイド状態を「表示なし」に変更する。そして、表示制御部130は、ステップS59に処理を進める。
(S59)表示制御部130は、ガイド状態が「表示なし」であるか否かを判定する。ガイド状態が「表示なし」の場合、表示制御部130は、ガイド描画を行わずに表示制御を終了する。ガイド状態が「表示なし」以外の場合、表示制御部130は、ステップS60に処理を進める。
(S60)表示制御部130は、ガイド情報の更新要であるか否かを判定する。更新要の場合、表示制御部130は、ステップS61に処理を進める。更新不要の場合、表示制御部130は、ステップS64に処理を進める。具体的には、表示制御部130は、今回取得した情報と前回取得した情報とを比較し、ガイド情報、すなわち、ガイド描画の有無および描画方法の更新要否を判定する。一例では、表示制御部130は、次の判定情報をステップS60の判定に用いる。
第1の判定情報は、ガイド状態の変化である。ガイド状態が変化した場合、ガイド情報の更新要であると判定される。
第2の判定情報は、マウスカーソルの変化である。例えば、ガイド状態が「表示絞り込み」のとき、マウスカーソルが別のアイコン上に移動したとき、ガイド情報の更新要であると判定される。
第3の判定情報は、デスクトップの変化である。例えば、デスクトップの位置、領域、設定に変化があった場合、ガイド情報の更新要であると判定される。
第4の判定情報は、ウィンドウの変化である。例えば、ウィンドウが開かれたり、閉じられたりして、ウィンドウ数の増減があった場合や、ウィンドウの位置、サイズ、状態の何れかが変更された場合に、ガイド情報の更新要であると判定される。
第5の判定情報は、アイコンの変化である。例えば、アイコンが追加されたり、削除されたりして、アイコン数の増減があった場合やアイコンの位置や領域の何れかが変更された場合に、ガイド情報の更新要であると判定される。
判定に用いる全ての判定情報に関して変化がない場合、表示制御部130は、ガイド情報を更新不要と判定する。
(S61)表示制御部130は、ウィンドウとアイコンとの対応関係の更新を行う。具体的には、表示制御部130は、今回取得したウィンドウ情報とアイコン情報とを基にして、各ウィンドウと各アイコンとの対応関係を求める。一例では、次の方法が考えられる。
まず、表示制御部130は、ウィンドウの実行ファイルパスとデスクトップ600a,700a上のアイコンのファイルパスとが一致する場合は、該当のウィンドウとアイコンとを対応していると判定する。ただし、アイコンがショートカットファイルの場合は、ショートカットファイルの参照先ファイルパスを、ウィンドウの実行ファイルパスと比較する。
一方、表示制御部130は、両者のファイルパスが異なる場合には、アプリIDが一致しているウィンドウとアイコンとを対応していると判定する。
(S62)表示制御部130は、ガイド設定を取得する。具体的には、表示制御部130は、ウィンドウ、アイコンおよび画面ごとに個別に設定されたガイド設定を取得し、各ウィンドウに対するガイドの表示方法を決定する。ガイド設定の情報は、記憶部120に予め保存される。
(S63)表示制御部130は、ガイド描画情報を更新する。表示制御部130は、以下の情報を基に、ガイドの描画情報、すなわち、ガイド描画の有無および描画方法を更新する。
第1に、ガイド状態である。すなわち、ガイド状態が「表示あり」の場合、表示制御部130は、ステップS61で更新した対応関係に基づいて、全てのガイドを描画対象とする。また、ガイド状態が「表示絞り込み」の場合、表示制御部130は、ステップS61で更新した対応関係に基づいて、絞り込み対象のアイコンに関係するガイドのみを描画対象にする。
第2に、ウィンドウ情報である。表示制御部130は、ステップS52で取得したウィンドウ情報により絞り込んだ、タスクバー610,710に表示されているアイコンに対応するウィンドウに関するガイドのみを描画対象にする。
第3に、デスクトップ上のアイコンの情報である。表示制御部130は、デスクトップ600a,700aにあるアイコンに対応するウィンドウのガイドのみを描画対象にする。
第4に、ガイド設定である。表示制御部130は、予め設定されたガイド設定に応じて、描画対象のガイドに、当該ガイド設定で指定された描画方法を適用する。
(S64)表示制御部130は、ガイド描画を行う。表示制御部130は、ガイド描画情報に従って、ガイドを画面600,700に描画する。これにより、画面600,700にガイドが表示される。そして、表示制御部130は、表示制御を終了する。
これにより、ユーザによるウィンドウの探索を支援できる。
表示されているウィンドウと、当該ウィンドウに対応するデスクトップ600a,700a上のアイコンとを結ぶガイドが表示されるので、ユーザは、ガイドを視認することで、表示中のウィンドウが何れのソフトウェアのものかを容易に判別できる。このため、ユーザは、画面200,300内に複数のウィンドウが表示されている場合でも、ガイドを辿ることで、自身が操作しようとする目的のウィンドウを容易に見つけることができる。
また、情報処理装置100がマルチディスプレイ表示を行っている場合でも、ユーザは、例えばディスプレイ111からディスプレイ111aに表示されているウィンドウまでガイドを辿ることができる。ユーザは、表示装置の境目をまたいで視線を導くことができ、目的のウィンドウを容易に見つけることができる。
更に、ウィンドウとアイコンとの対応付けに、ウィンドウの実行ファイルパスとアイコンのファイルパスやアプリIDの同一性を利用することで、ウィンドウとアイコンとを適切に対応付けることができる。
(ガイドの表示の変形例)
次に、ガイドの表示の変形例を説明する。下記の変形例は、第2,第3,第4の実施の形態のガイドに対して適用することができる。
図20は、ガイドの表示の変形例(その1)を示す図である。
表示制御部130は、表示するガイドの表示方法やデザインを、アイコン、ウィンドウおよびディスプレイごとの設定値に応じて変更してもよい。設定値は、例えば、前述のガイド設定の情報に含まれる。
例えば、表示制御部130は、対応するウィンドウおよびアイコンの組ごとに設定値を変更することが考えられる。より具体的には、表示制御部130は、ウィンドウの使用頻度に応じて、ガイドとして表示するラインの太さや色を変えてもよい。
また、表示制御部130は、アイコンとウィンドウとが異なるディスプレイの画面にある場合、ウィンドウのあるディスプレイごとに、ガイドの表示方法を変更することにより、ユーザによる目当てのウィンドウの見つけ易さをより向上させることも可能である。
例えば、表示制御部130は、ディスプレイ111,111aの解像度差や物理的な配置を考慮してガイドの表示位置を調整し、ガイドがきれいに繋がって見えるようにディスプレイ111,111aそれぞれでのガイドの表示位置を調整する。
図20(A)は、ガイドの表示位置の調整例を示す図である。
図20(A)の例では、ラップトップ型の情報処理装置100にディスプレイ111が内蔵され、ディスプレイ111aがケーブルC1を介して外付けされている。
ディスプレイ111の画面200には、ウィンドウ203およびタスクバー210が表示されている。タスクバー210には、アイコン215,216が表示されている。ディスプレイ111aの画面300には、ウィンドウ303およびタスクバー310が表示される。例えば、表示制御部130は、ウィンドウ203とアイコン215とを結ぶラインL5を表示させる。また、表示制御部130は、ウィンドウ303とアイコン216とを結ぶラインL6a,L6bを表示させる。
このとき、アイコン215はディスプレイ111の画面200に表示され、ウィンドウ303はディスプレイ111aの画面300に表示されている。例えば、ディスプレイ111,111aの画面が物理的に同じ面上に、水平方向に第1の距離だけ隔てて配置されていることを示す情報、および、ディスプレイ111aの画面300がディスプレイ111の画面200よりも両画面が属する面の縦方向に第2の距離だけずれていることを示す情報が記憶部120に予め格納される。表示制御部130は、記憶部120に記憶されたこれらの情報に基づいて、ユーザからラインL6a,L6bが1本の繋がったラインに見えるようにラインL6bの表示位置を調整する。
また、表示制御部130は、ウィンドウがあるディスプレイごとに、ラインの形状や色などを変えて見分け易くすることもできる。
図20(B)は、ガイドの色の変更例を示す図である。
図20(B)の例では、ラインL1a,L2a,L3aが示されている。
ラインL1aは、ウィンドウ201とアイコン211とを結ぶ線分である。
ラインL2aは、ウィンドウ202とアイコン212とを結ぶ線分である。
ラインL3aは、ウィンドウ301とアイコン213とを結ぶ線分である。
例えば、表示制御部130は、ディスプレイ111に表示されているウィンドウ201,202と接続するラインL1a,L2aに対しては赤色を設定する。また、表示制御部130は、ディスプレイ111aに表示されているウィンドウ301と接続するラインL3aに対しては青色を設定する。このように、ウィンドウが表示されるディスプレイごとにガイドの色を変えることで、ウィンドウを見分け易くすることもできる。
また、表示制御部130は、ガイドの描画アニメーションを変更してもよい。例えば、所定の操作に応じてラインが表示される際に、アイコンからウィンドウに向かってラインが伸びていくアニメーション表示を行うことも考えられる。
また、図9,13,14,18で例示したガイドの絞り込みでは、絞り込み対象外のガイドを非表示にするものとしたが、表示制御部130は、絞り込み対象外のガイドの表示方法を変えずに、絞り込み対象のガイドを強調表示することも可能である。例えば、表示制御部130は、絞り込み対象のガイドとして表示するラインを、他のガイドよりも太くする、他のガイドとは異なる色に変更する、あるいは、点滅させるなどの強調表示が考えられる。
また、第2,第3,第4の実施の形態では、表示制御部130は、最終的にガイドを非表示にしていたが、ガイドを表示させたままにしてもよい。その場合、表示制御部130は、例えばアイコンやウィンドウの位置および大きさが変更されると、ガイドとして表示されるラインの表示位置や向きを、当該変更に追従して変化させる。
なお、第2,第3,第4の実施の形態で例示したガイドの表示絞り込みの操作は、例えば、入力デバイス112がタッチパネルの場合、タスクバーまたはデスクトップ上をタッチした後に、円を描くように入力した後で、目的のアイコンやサムネイルをタッチする操作でもよい。
更に、第2,第3,第4の実施の形態では、ガイドとして主に実線のラインを挙げたが、実線のライン以外のガイドも考えられる。
図21は、ガイドの表示の変形例(その2)を示す図である。
図21(A)は、ガイドを破線にする例を示す。例えば、表示制御部130は、破線のラインL1b,L2bをガイドとして表示してもよい。
ラインL1bは、ウィンドウ201およびアイコン211を結ぶ破線の線分である。
ラインL2bは、ウィンドウ202およびアイコン212を結ぶ破線の線分である。
図21(B)は、ガイドを矢印にする例を示す。例えば、表示制御部130は、矢印L1c,L2cをガイドとして表示してもよい。
矢印L1cは、アイコン211からウィンドウ201へ向かい、アイコン211およびウィンドウ201を結ぶ矢印である。
矢印L2cは、アイコン212からウィンドウ202へ向かい、アイコン212およびウィンドウ202を結ぶ矢印である。
図22は、ガイドの表示の変形例(その3)を示す図である。
図22(A)は、ガイドを台形にする例を示す。例えば、表示制御部130は、台形などの四角形または矩形をガイドとして表示してもよい。台形ガイドG1,G2は、四角形のガイドの一例である。
台形ガイドG1は、ウィンドウ201およびアイコン211を結ぶ台形のガイドである。例えば、台形ガイドG1は、ウィンドウ201の下側の辺とアイコン211の上側の辺とウィンドウ201の下側の辺の両端とアイコン211の上側の辺の両端とをそれぞれ結ぶ2つの辺とを有する台形である。
台形ガイドG2は、ウィンドウ202およびアイコン212を結ぶ台形のガイドである。
図22(B)は、ガイドを三角形にする例を示す。例えば、表示制御部130は、三角形をガイドとして表示してもよい。三角形ガイドG11,G12は、三角形のガイドの一例である。
三角形ガイドG11は、ウィンドウ201およびアイコン211を結ぶ三角形のガイドである。三角形ガイドG11の1つの辺をウィンドウ201の下側の辺(底辺)と重ね、三角形ガイドG11の1つの頂点をアイコン211の上側の辺上に配置することで、ウィンドウ201をアイコン211から延びる吹き出しのように表示することができる。
三角形ガイドG12は、ウィンドウ202およびアイコン212を結ぶ三角形のガイドである。
図23は、ガイドの表示の変形例(その4)を示す図である。
上記の例では、主にWindows系OSを意識した表示例を記載したが、他の種類のOSでも同様にガイドを表示させることができる。例えば、Apple(登録商標)社のMAC OS(MACは登録商標)の場合、ドックと呼ばれる画面上の所定領域にアプリケーションのアイコンが複数登録され、開かれているウィンドウに対応するアイコンの下にはドットが目印として表示される。
例えば、ディスプレイ111に画面800が表示される場合を考える。画面800は、ウィンドウ801,802、ドック810およびメニューバー820を含む。
ドック810上には、アイコン811,812,813,814,815,816,817およびドット811a,813aが表示されている。
ドット811aは、アイコン811の下側に表示され、アイコン811に対応するウィンドウが開かれていることを示す。ドット813aは、アイコン813の下側に表示され、アイコン813に対応するウィンドウが開かれていることを示す。
例えば、ユーザは、ドック810上にマウスカーソルP1を移動させて、ガイドの表示開始操作を行える。表示制御部130は、表示開始操作を受け付けると、ウィンドウとアイコンとの対応関係を特定し、ラインL61,L62を表示させる。
ラインL61は、ウィンドウ801とアイコン811とを結ぶ線分である。
ラインL62は、ウィンドウ802とアイコン813とを結ぶ線分である。
また、表示制御部130は、第2~第4の実施の形態で例示したガイドの表示絞り込み操作や表示終了操作に応じて、ガイドの表示を絞り込んだり、ガイドの表示を終了したりすることができる。
このように、情報処理装置100の機能は、ウィンドウシステムを提供する種々のOSで利用することができる。
情報処理装置100の機能は、マルチウィンドウ環境下で、ウィンドウと対応関係にあるアイコンなどの表示オブジェクトとウィンドウのペアがあれば適用可能である。下記に当該ペアの他の例を挙げる。
例えば、ファイルエクスプローラー上のファイルやフォルダのアイコンと、当該アイコンから開かれたウィンドウとのペアである。
また、PC(Personal Computer)の設定メニューのアイコン(例えば、Windows OSにおけるコントロールパネルのアイコンなど)と、当該アイコンから開かれたウィンドウとのペアである。
更に、情報処理装置100により実行されるブラウザ上のハイパーリンクと、当該ハイパーリンクが選択されることで開かれた別のウィンドウとのペアである。
情報処理装置100は、最小化されているウィンドウについては、表示予定の位置に対してガイドを表示させることもできる。例えば、最小化しているウィンドウについて、次のようにウィンドウを表示することが考えられる。
第1の例では、表示制御部130は該当のウィンドウの実画面を表示させる。
第2の例では、表示制御部130は該当のウィンドウと同じサイズの影を表示させる。
第3の例では、表示制御部130は該当のウィンドウと同じサイズで、辺が破線になっている四角形を表示する。
このように、最小化されているウィンドウについても、ウィンドウの実画面またはダミーのウィンドウを表示させて、対応する表示オブジェクトと当該ウィンドウとを結ぶガイドを表示してもよい。これにより、ユーザは、表示オブジェクトに対して起動済のウィンドウを容易に特定可能になる。
なお、表示制御部130は、対応するアイコンがないウィンドウや、不可視ウィンドウおよびダイヤログなどのタスクバーに表示されないウィンドウについてはガイドを表示しなくてよい。
以上で説明したように、情報処理装置100によれば、ユーザによりウィンドウを探す手間を省くことになり、ユーザの作業の時間的なコストを削減することができる。また、目当てのウィンドウへとユーザの視線を導くことで、ユーザの利便性を高めることができる。
例えば、情報処理装置100は、次の機能を有する。
記憶部120は、ディスプレイ111,111aに表示されているウィンドウに関する第1の情報を記憶する。また、記憶部120は、ディスプレイ111,111aに表示されておりウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた表示オブジェクトに関する第2の情報を記憶する。
表示制御部130は、ユーザによる第1の操作入力を受け付けると、記憶部120に記憶された第1の情報と第2の情報とに基づいて、あるソフトウェアに対応するウィンドウと表示オブジェクトとを結ぶガイドをディスプレイ111,111aに表示させる。
これにより、ユーザによるウィンドウの探索を支援できる。例えば、第1の操作入力は、前述のガイドの表示開始の操作入力でもよい。なお、ディスプレイ111,111aは、表示装置と呼ばれてもよい。
例えば、第1の情報は、ウィンドウのタイトルを含んでもよい。第2の情報は、表示オブジェクトのキャプションを含んでもよい。表示制御部130は、当該タイトルと当該キャプションとに基づいて、同じソフトウェアに対応するウィンドウと表示オブジェクトとを対応付けてもよい。
これにより、ウィンドウと表示オブジェクトとを適切に対応付けることができる。
例えば、第1の情報は、ウィンドウの第1の作成時刻を含んでもよい。第2の情報は、表示オブジェクトの第2の作成時刻を含んでもよい。表示制御部130は、第1の作成時刻と第2の作成時刻とに基づいて、同じソフトウェアに対応するウィンドウと表示オブジェクトとを対応付けてもよい。
これにより、ウィンドウと表示オブジェクトとを適切に対応付けることができる。例えば、ウィンドウのタイトルと表示オブジェクトのキャプションとの比較だけでは対応関係を一意に特定できない場合に、第1の作成時刻と第2の作成時刻との比較により更に対応関係を絞り込むことも考えられる。これにより、ウィンドウと表示オブジェクトとをより適切に対応付けることができ、対応付けの精度を向上できる。
例えば、第1の情報は、ウィンドウの起動元のファイル(実行ファイル)の第1のファイルパスを含んでもよい。第2の情報は、表示オブジェクトに関連付けられたファイルの第2のファイルパスを含んでもよい。表示制御部130は、第1のファイルパスと第2のファイルパスとに基づいて、同じソフトウェアに対応するウィンドウと表示オブジェクトとを対応付けてもよい。
これにより、ウィンドウと表示オブジェクトとを適切に対応付けることができる。
例えば、第1の情報は、ウィンドウを起動したソフトウェアの第1の識別情報を含んでもよい。第2の情報は、表示オブジェクトに関連するソフトウェアの第2の識別情報を含んでもよい。表示制御部130は、第1の識別情報と第2の識別情報とに基づいて、同じソフトウェアに対応するウィンドウと表示オブジェクトとを対応付けてもよい。
これにより、ウィンドウと表示オブジェクトとを適切に対応付けることができる。前述のアプリIDは、第1の識別情報および第2の識別情報の一例である。
また、表示制御部130は、第1の操作入力を受け付けると、第1のウィンドウおよび第1の表示オブジェクトを結ぶ第1のガイドと、第2のウィンドウおよび第2の表示オブジェクトを結ぶ第2のガイドとをディスプレイ111に表示させる。表示制御部130は、第1の表示オブジェクトを選択する第2の操作入力を受け付けると、第2のガイドを非表示にしてもよく、または、第2のガイドの表示を維持するとともに第1のガイドを強調表示させてもよい。
これにより、ユーザが目的のウィンドウを探し易くなるように支援できる。例えば、第2の操作入力は、前述の表示絞り込み開始、または、表示絞り込み1開始の操作入力でもよい。
また、表示制御部130は、第1の操作入力を受け付けると、第3のウィンドウおよび第3の表示オブジェクトを結ぶ第3のガイドと、第4のウィンドウおよび第3の表示オブジェクトを結ぶ第4のガイドと、第5のウィンドウおよび第4の表示オブジェクトを結ぶ第5のガイドとをディスプレイ111に表示させる。表示制御部130は、第3の表示オブジェクトを選択する第3の操作入力を受け付けると、第5のガイドを非表示にする。表示制御部130は、第3の表示オブジェクトから派生して表示される複数のサブ表示オブジェクトのうちの1つのサブ表示オブジェクトを選択する第4の操作入力を受け付けると、第3のガイドおよび第4のガイドを非表示にするとともに選択されたサブ表示オブジェクトとサブ表示オブジェクトに対応する第3のウィンドウとを結ぶ第6のガイドを表示装置に表示させてもよく、または、第3のガイドおよび第4のガイドの少なくとも一方の表示を維持するとともに第6のガイドを強調表示させてもよい。
これにより、ユーザが目的のウィンドウを探し易くなるように支援できる。例えば、第4の操作入力は、前述の表示絞り込み2開始の操作入力でもよい。例えば、タスクバー上のアイコンあるいはアイコングループやドック上のアイコンあるいはアイコングループは、表示オブジェクトの一例である。また、当該アイコンまたはアイコングループから派生して表示されるウィンドウのサムネイルは、サブ表示オブジェクトの一例である。
また、第1の情報は、ディスプレイ111以外のディスプレイ111aに表示された他のウィンドウに関する情報を含み得る。表示制御部130は、第1の操作入力を受け付けると、記憶部120に記憶された第1の情報と第2の情報とに基づいて、同じソフトウェアに対応する他のウィンドウと表示オブジェクトとを結ぶ他のガイドをディスプレイ111,111aに表示させる。
これにより、情報処理装置100に複数のディスプレイ(複数の表示装置)が接続されるマルチディスプレイ環境においても、ユーザが目的のウィンドウを探し易くなるように支援できる。情報処理装置100に接続される表示装置の数は、3以上でもよい。表示制御部130は、3以上の表示装置の画面を跨ぐガイドを、当該3以上の表示装置に表示させてもよい。
更に、上記の表示オブジェクトは、例えば、起動済のソフトウェアを示すアイコン、ソフトウェアを起動させるためのアイコン、または、ウィンドウのサムネイルである。ソフトウェアを起動させるためのアイコンとしては、ソフトウェアの実行ファイルのアイコン、ソフトウェアの実行ファイルに関連付けられた他のファイルのアイコン、これらのアイコンのショートカットアイコンが考えられる。
このように、情報処理装置100は、種々の表示オブジェクトに関して、ガイドを表示させることができる。例えば、タスクバー上のアイコンや、デスクトップ上のアイコンのように、ディスプレイ111,111aに複数の種類の表示オブジェクトが表示されることもある。すなわち、ディスプレイ111,111aなどの表示装置に表示される画面は、互いに異なる種類の表示オブジェクトが表示される複数の領域を含み得る。この場合、表示制御部130は、複数の領域のうち、第1の操作入力を受け付けた画面上の領域に応じて、ガイドの表示対象とする表示オブジェクトの種類を判定してもよい。
これにより、ユーザは自身がウィンドウの探索を行い易い種類の表示オブジェクトを対象にして、情報処理装置100によりガイドを表示させることができる。このため、ユーザが目的のウィンドウを探し易くなるように支援できる。
例えば、表示制御部130は、画面上の第1の領域に対する第1の操作入力を受け付けた場合には、第1の領域上に存在する第1の種類の表示オブジェクトとウィンドウとを結ぶガイドを表示すると判定することが考えられる。あるいは、表示制御部130は、画面上の第2の領域に対する第1の操作入力を受け付けた場合には、第2の領域上に存在する第2の種類の表示オブジェクトとウィンドウとを結ぶガイドを表示すると判定することが考えられる。例えば、タスクバーやドックの表示領域は第1の領域の一例であり、タスクバーやドック上のアイコンは第1の種類の表示オブジェクトの一例である。デスクトップの表示領域は第2の領域の一例であり、デスクトップ上のアイコンは第2の種類の表示オブジェクトの一例である。
これにより、ユーザは自身がウィンドウの探索を行い易い種類の表示オブジェクトを対象にして、情報処理装置100によりガイドを表示させることができる。このため、ユーザが目的のウィンドウを探し易くなるように支援できる。
また、表示制御部130は、ソフトウェア、ウィンドウが表示されているディスプレイ(表示装置)またはウィンドウの操作回数などに応じて、ガイドの表示方法を変更してもよい。例えば、表示制御部130は、第1のソフトウェアについては、第1の表示方法でガイドを表示させ、第2のソフトウェアについては、第2の表示方法でガイドを表示させてもよい。また、表示制御部130は、ディスプレイ111に表示されているウィンドウについては、第1の表示方法でガイドを表示させ、ディスプレイ111aに表示されているウィンドウについては、第2の表示方法でガイドを表示させてもよい。更に、表示制御部130は、ウィンドウの操作回数が閾値よりも小さい場合には、第1の表示方法でソフトウェアを表示させ、ウィンドウの操作回数が閾値以上の場合には、第2の表示方法でソフトウェアを表示させてもよい。どのような場合に、どのようなガイドの表示方法を用いるかを示す情報は、記憶部120に予め格納される。
このように、ユーザによるウィンドウの探索をより行い易くなるように支援することもできる。
ところで、第1の実施の形態の情報処理は、処理部12にプログラムを実行させることで実現できる。また、第2の実施の形態の情報処理は、CPU101にプログラムを実行させることで実現できる。プログラムは、コンピュータ読み取り可能な記録媒体113に記録できる。
例えば、プログラムを記録した記録媒体113を配布することで、プログラムを流通させることができる。また、プログラムを他のコンピュータに格納しておき、ネットワーク経由でプログラムを配布してもよい。コンピュータは、例えば、記録媒体113に記録されたプログラムまたは他のコンピュータから受信したプログラムを、RAM102やHDD103などの記憶装置に格納し(インストールし)、当該記憶装置からプログラムを読み込んで実行してもよい。
10 情報処理装置
11 記憶部
12 処理部
20 表示装置
21 画面
21a,21b ウィンドウ
21c,21d 表示オブジェクト
21e,21f ガイド

Claims (10)

  1. 表示装置に表示されているウィンドウに関する第1の情報と前記表示装置に表示されており前記ウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた前記表示オブジェクトに関する第2の情報とを記憶する記憶部と、
    第1の操作入力を受け付けると、前記記憶部に記憶された前記第1の情報と前記第2の情報とに基づいて、前記ソフトウェアに対応する前記ウィンドウと前記表示オブジェクトとを結ぶガイドを前記表示装置に表示させる処理部と、
    を有する情報処理装置。
  2. 前記第1の情報は、前記ウィンドウのタイトルを含み、
    前記第2の情報は、前記表示オブジェクトのキャプションを含み、
    前記処理部は、前記タイトルと前記キャプションとに基づいて、前記ソフトウェアに対応する前記ウィンドウと前記表示オブジェクトとを対応付ける、
    請求項1記載の情報処理装置。
  3. 前記第1の情報は、前記ウィンドウの第1の作成時刻を含み、
    前記第2の情報は、前記表示オブジェクトの第2の作成時刻を含み、
    前記処理部は、前記第1の作成時刻と前記第2の作成時刻とに基づいて、前記ソフトウェアに対応する前記ウィンドウと前記表示オブジェクトとを対応付ける、
    請求項1または2記載の情報処理装置。
  4. 前記第1の情報は、前記ウィンドウの起動元のファイルの第1のファイルパスを含み、
    前記第2の情報は、前記表示オブジェクトに関連付けられたファイルの第2のファイルパスを含み、
    前記処理部は、前記第1のファイルパスと前記第2のファイルパスとに基づいて、前記ソフトウェアに対応する前記ウィンドウと前記表示オブジェクトとを対応付ける、
    請求項1記載の情報処理装置。
  5. 前記表示装置に表示される画面は、互いに異なる種類の前記表示オブジェクトが表示される複数の領域を含み、
    前記処理部は、前記複数の領域のうち、前記第1の操作入力を受け付けた領域に応じて、前記ガイドの表示対象とする前記表示オブジェクトの種類を決定する、
    請求項1記載の情報処理装置。
  6. 前記処理部は、前記第1の操作入力を受け付けると、第1のウィンドウおよび第1の表示オブジェクトを結ぶ第1のガイドと、第2のウィンドウおよび第2の表示オブジェクトを結ぶ第2のガイドとを前記表示装置に表示させ、前記第1の表示オブジェクトを選択する第2の操作入力を受け付けると、前記第2のガイドを非表示にする、または、前記第2のガイドの表示を維持するとともに前記第1のガイドを強調表示させる、
    請求項1記載の情報処理装置。
  7. 前記処理部は、
    前記第1の操作入力を受け付けると、第3のウィンドウおよび第3の表示オブジェクトを結ぶ第3のガイドと、第4のウィンドウおよび前記第3の表示オブジェクトを結ぶ第4のガイドと、第5のウィンドウおよび第4の表示オブジェクトを結ぶ第5のガイドとを前記表示装置に表示させ、
    前記第3の表示オブジェクトを選択する第3の操作入力を受け付けると、前記第5のガイドを非表示にし、
    前記第3の表示オブジェクトから派生して表示される複数のサブ表示オブジェクトのうちの1つのサブ表示オブジェクトを選択する第4の操作入力を受け付けると、前記第3のガイドおよび前記第4のガイドを非表示にするとともに選択された前記サブ表示オブジェクトと前記サブ表示オブジェクトに対応する前記第3のウィンドウとを結ぶ第6のガイドを前記表示装置に表示させる、または、前記第3のガイドおよび前記第4のガイドの少なくとも一方の表示を維持するとともに前記第6のガイドを強調表示させる、
    請求項1記載の情報処理装置。
  8. 前記第1の情報は、他の表示装置に表示された他のウィンドウに関する情報を含み、
    前記処理部は、前記第1の操作入力を受け付けると、前記記憶部に記憶された前記第1の情報と前記第2の情報とに基づいて、前記ソフトウェアに対応する前記他のウィンドウと前記表示オブジェクトとを結ぶ他のガイドを前記表示装置および前記他の表示装置に表示させる、
    請求項1記載の情報処理装置。
  9. 前記表示オブジェクトは、起動済の前記ソフトウェアを示すアイコン、前記ソフトウェアを起動させるためのアイコン、または、前記ウィンドウのサムネイルである、
    請求項1記載の情報処理装置。
  10. コンピュータに、
    第1の操作入力を受け付けると、表示装置に表示されているウィンドウに関する第1の情報と前記表示装置に表示されており前記ウィンドウよりも小さい表示オブジェクトであって、ソフトウェアに関連付けられた前記表示オブジェクトに関する第2の情報とに基づいて、前記ソフトウェアに対応する前記ウィンドウと前記表示オブジェクトとを結ぶガイドを前記表示装置に表示させる、
    処理を実行させるプログラム。
JP2020180139A 2020-10-28 2020-10-28 情報処理装置およびプログラム Pending JP2022071273A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020180139A JP2022071273A (ja) 2020-10-28 2020-10-28 情報処理装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020180139A JP2022071273A (ja) 2020-10-28 2020-10-28 情報処理装置およびプログラム

Publications (1)

Publication Number Publication Date
JP2022071273A true JP2022071273A (ja) 2022-05-16

Family

ID=81593987

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020180139A Pending JP2022071273A (ja) 2020-10-28 2020-10-28 情報処理装置およびプログラム

Country Status (1)

Country Link
JP (1) JP2022071273A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276194A (ja) * 1988-04-28 1989-11-06 Hitachi Ltd マルチウインドウ表示方式
JPH10507286A (ja) * 1995-06-01 1998-07-14 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン グラフィカル・ユーザ・インターフェース
JP2001154778A (ja) * 1999-11-30 2001-06-08 Canon Inc 情報処理装置、情報処理方法、及び情報処理プログラムを格納した記憶媒体
JP2004280777A (ja) * 2002-10-08 2004-10-07 Microsoft Corp グラフィカルユーザインタフェースにおいてソフトウェアアプリケーションを管理するためのシステムおよび方法
JP2013134614A (ja) * 2011-12-26 2013-07-08 Sharp Corp 電子機器及び電子機器のプログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01276194A (ja) * 1988-04-28 1989-11-06 Hitachi Ltd マルチウインドウ表示方式
JPH10507286A (ja) * 1995-06-01 1998-07-14 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン グラフィカル・ユーザ・インターフェース
JP2001154778A (ja) * 1999-11-30 2001-06-08 Canon Inc 情報処理装置、情報処理方法、及び情報処理プログラムを格納した記憶媒体
JP2004280777A (ja) * 2002-10-08 2004-10-07 Microsoft Corp グラフィカルユーザインタフェースにおいてソフトウェアアプリケーションを管理するためのシステムおよび方法
JP2013134614A (ja) * 2011-12-26 2013-07-08 Sharp Corp 電子機器及び電子機器のプログラム

Similar Documents

Publication Publication Date Title
US20220137758A1 (en) Updating display of workspaces in a user interface for managing workspaces in response to user input
JP5466652B2 (ja) 改良されたウィンドウ状態を利用する表示領域の整理
US10152192B2 (en) Scaling application windows in one or more workspaces in a user interface
US10740117B2 (en) Grouping windows into clusters in one or more workspaces in a user interface
US9552149B2 (en) Controlled interaction with heterogeneous data
US8677260B1 (en) Abstraction-aware distributed window configurations in complex graphical user interfaces
JP2017531814A (ja) アプリケーションウィンドウの適応的サイズ調節および適所配置
JP2017526054A (ja) アプリケーションウィンドウの動的ジョイントディバイダ
JP2017527882A (ja) アプリケーションウィンドウの補助的表示
JP2017526057A (ja) アプリケーションウィンドウの領域ベースのサイズ調節および適所配置
US20120096396A1 (en) Managing Workspaces in a User Interface
US20120096395A1 (en) Managing Workspaces in a User Interface
US8504930B1 (en) User interface substitution
TWI515646B (zh) 擴展螢幕模式下之應用程式運作方法以及使用該方法的平板電腦
US20140059491A1 (en) Electronic apparatus to execute application, method thereof, and computer readable recording medium
KR20160136250A (ko) 전자 장치에서 제 1 애플리케이션 아이콘을 이용하여 제 2 애플리케이션을 실행하기 위한 방법
US20110087999A1 (en) Set definition in data processing systems
US20140096047A1 (en) Electronic apparatus, method of executing application, and computer readable recording medium
JP7384260B2 (ja) 情報処理装置及びプログラム
JP2013131018A (ja) 情報処理装置、表示処理方法、プログラムおよび記録媒体
JP4893060B2 (ja) 検索システムの画面表示方法
JP2022071273A (ja) 情報処理装置およびプログラム
US11934807B2 (en) Tool with multi-edit function
JP2003108286A (ja) 表示方法、表示用プログラム及び記録媒体
JPH05181634A (ja) ウィンドウシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210305

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20221129