(57)【要約】  本明細書は、アプリケーションウィンドウの補助的表示を可能にする技術および装置を記載する。いくつかの実施形態において、これらの技術および装置によれば、アプリケーションウィンドウのサイズ調節および適所配置によって、アプリケーションウィンドウの最適なレイアウトを提供することができる。
2017527882.tif 000002
【特許請求の範囲】
【請求項１】
マルチアプリケーション環境の有効領域に表示するアプリケーションウィンドウの選択を求めるコンピュータ実装方法であって、
前記マルチアプリケーション環境の前記有効領域を識別するステップであり、前記マルチアプリケーション環境が、アプリケーションウィンドウを表示する複数の領域を有する、ステップと、
前記有効領域での表示用に選択可能な前記アプリケーションウィンドウの視覚的表現を前記有効領域に表示するステップと、
前記視覚的表現のうちの１つを介して、前記有効領域での表示用の対応するアプリケーションウィンドウの選択を受け付けるステップと、
前記選択の受け付けに応答して、前記選択されたアプリケーションウィンドウを前記マルチアプリケーション環境の前記有効領域の少なくとも一部に表示するステップと、
を含む、コンピュータ実装方法。
【請求項２】
前記アプリケーションウィンドウの前記視覚的表現を介して受け付けた前記選択が、前記有効領域を選択する入力または前記有効領域の縁部を選択する入力を含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記有効領域の前記縁部を選択する前記入力が、前記有効領域の少なくとも一部と重なる前記マルチアプリケーション環境の所定エリアの選択を示す、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記選択されたアプリケーションウィンドウのサイズまたは位置を変更して、前記マルチアプリケーション環境の前記所定エリアを完全に占有するステップをさらに含む、請求項３に記載のコンピュータ実装方法。
【請求項５】
固定サイズのアプリケーションウィンドウ、
前記有効領域よりも大きな最小サイズ選好をそれぞれ有するアプリケーションウィンドウ、または
前記マルチアプリケーション環境の他の領域を占有するアプリケーションウィンドウ、
を除外することによって、前記アプリケーションウィンドウのいずれを選択可能であるかを決定するステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記アプリケーションウィンドウの前記視覚的表現を表示する順序またはレイアウトを決定するステップであり、前記順序またはレイアウトが、最頻使用、最新使用、または前記アプリケーションウィンドウの名称に基づいて決定される、ステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
選択可能な前記アプリケーションウィンドウが、
可視アプリケーションウィンドウ、
最小化されたアプリケーションウィンドウ、
部分的に遮蔽されたアプリケーションウィンドウ、
遮蔽されたアプリケーションウィンドウ、または
前記マルチアプリケーション環境の別の領域を完全には占有していないアプリケーションウィンドウ、
のうちの１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記マルチアプリケーション環境が、前記アプリケーションウィンドウを１つまたは複数のレイヤに表示するウィンドウイング環境である、請求項１に記載のコンピュータ実装方法。
【請求項９】
マルチアプリケーション環境を表示するように構成されたディスプレイと、
１つまたは複数のプロセッサと、
前記１つまたは複数のプロセッサによる実行に応答して、
複数の領域を有する前記マルチアプリケーション環境の有効領域での表示用に選択可能なアプリケーションウィンドウの視覚的表現を前記有効領域に表示することと、
前記視覚的表現のうちの対応する１つを選択する受け付け入力に応答して、前記マルチアプリケーション環境の前記有効領域に前記アプリケーションウィンドウのうちの１つを表示することと、
を含む演算を前記１つまたは複数のプロセッサに行わせるプロセッサ実行可能命令を格納した１つまたは複数のコンピュータ可読媒体と、
を備えた、システム。
【請求項１０】
前記アプリケーションウィンドウの前記視覚的表現が、前記マルチアプリケーション環境の別の領域における別のアプリケーションウィンドウの表示に応答して表示される、請求項９に記載のシステム。
【請求項１１】
前記アプリケーションウィンドウの前記視覚的表現が、前記有効領域での表示、前記有効領域の隅部での表示、または前記有効領域の縁部に沿った表示がなされたアプリケーション選択コントロールを介した入力の受け付けに応答して表示される、請求項９に記載のシステム。
【請求項１２】
前記演算が、
前記有効領域の空間が非遮蔽アプリケーションウィンドウによって占有されていないと判定するか、
前記有効領域または前記有効領域に対応する所定エリアが別のアプリケーションウィンドウによって完全には占有されていないと判定するか、または
前記有効領域の前記空間が前記アプリケーションウィンドウのうちの１つによって満たし得ると判定する、
ことによって、前記マルチアプリケーション環境の前記有効領域を識別することをさらに含む、請求項９に記載のシステム。
【請求項１３】
前記アプリケーションウィンドウの前記視覚的表現が、前記マルチアプリケーション環境の前記有効領域が有効であるとの識別に応答して表示される、請求項１２に記載のシステム。
【請求項１４】
前記演算が、前記アプリケーションウィンドウの前記視覚的表現が表示される順序またはレイアウトを決定することであり、前記順序またはレイアウトが、最頻使用、最新使用、または前記アプリケーションウィンドウの名称に基づいて決定される、ことをさらに含む、請求項９に記載のシステム。
【請求項１５】
前記アプリケーションウィンドウの前記視覚的表現のうちの少なくとも１つが、前記アプリケーションウィンドウのテキスト、アイコン、または画像を含む、請求項９に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  この背景は、本開示の背景状況を大略提示することを目的としたものである。本明細書において別段の指示がない限り、この背景に記載の内容は、明示的にも暗示的にも、以下の本開示または特許請求の範囲の先行技術とは認められない。
【０００２】
[0002]  従来のオペレーティングシステムにおいて、ユーザは、ウィンドウによって複数のコンピュータアプリケーションを見ることができる。一般的に、これらのウィンドウはそれぞれ、いずれを最上位とするかの選択またはワークスペースおよび他のウィンドウに対する当該ウィンドウの配置の移動、サイズ調節、あるいは管理を行うフレームまたはコントロールを具備する。ただし、これらのフレームまたはコントロールでは、選択中のウィンドウの移動またはサイズ調節のみが可能であることが多いため、ウィンドウ間の意図せぬ遮蔽および重畳を生じる可能性がある。また、複数のウィンドウの移動またはサイズ調節において、ユーザは、各ウィンドウを望み通りに反復して移動またはサイズ調節するため、一連の冗長なタスクを行うことが必要となる場合が多い。このため、複数のウィンドウのレイアウトをこのように管理するのは、過度に複雑で時間が掛かり、ユーザにとって厄介なこととなり得る。
【発明の概要】
【課題を解決するための手段】
【０００３】
[0003]  本明細書は、マルチアプリケーション環境においてアプリケーションウィンドウの補助的表示を可能にする技術および装置を記載する。本明細書に記載のマルチアプリケーション環境は、サイズ調節、適所配置、またはレイヤ化によって最適なレイアウトを提供可能な１つまたは複数のアプリケーションウィンドウを表示する。いくつかの実施形態において、これらの技術および装置は、別のアプリケーションウィンドウの縁部に基づいて、アプリケーションウィンドウのサイズまたは位置を決定することができる。また、いくつかの実施形態において、これらの技術および装置は、マルチアプリケーション環境の領域の選択に基づき、所定エリアに合わせてアプリケーションウィンドウのサイズを調節することができる。さらに、いくつかの実施形態では、複数のアプリケーションウィンドウのサイズ調節または適所配置を同時に行うことができるジョイントディバイダまたはジョイントコーナーコントロールが有効である。さらに、いくつかの実施形態では、マルチアプリケーション環境の有効領域を識別するとともに、有効領域を介して表示するアプリケーションウィンドウを選択可能である。
【０００４】
[0004]  この概要は、簡単な概念を紹介するものであり、以下の詳細な説明においてさらに詳述する。この概要は、特許請求の範囲に係る主題の本質的な特徴を識別することを意図したものでもなければ、特許請求の範囲に係る主題の範囲の決定に用いることを意図したものでもない。本明細書において、アプリケーションウィンドウの補助的表示を可能にする技術および／または装置は、文脈上許される範囲で、独立または共通して「技術」とも称するが、本技術は、本明細書に記載の他の態様を含む場合もあるし、本明細書に記載の他の態様を表す場合もある。
【０００５】
[0005]  マルチアプリケーション環境を可能にする実施形態については、以下の図面を参照して説明する。すべての図面において、同様の特徴および構成要素を表すのに同じ番号を使用している。
【図面の簡単な説明】
【０００６】
【図１】アプリケーションウィンドウの補助的表示を可能にする技術を実装できる例示的なシステムを示した図である。
【図２】没入型インターフェースを表示するタッチ感応ディスプレイを有する例示的なタブレットコンピュータ機器を示した図である。
【図３】アプリケーションのウィンドウのサイズ調節または適所配置によってマルチアプリケーション環境の領域を満たす方法を示した図である。
【図４】マルチアプリケーション環境の領域の例示的なレイアウトを示した図である。
【図５】マルチアプリケーション環境の他のアプリケーションウィンドウに基づいてアプリケーションウィンドウのサイズ調節および適所配置を行う方法を示した図である。
【図６】マルチアプリケーション環境に表示するアプリケーションウィンドウのサイズ調節および／または適所配置の例を示した図である。
【図７】マルチアプリケーション環境に表示するアプリケーションウィンドウのサイズ調節および／または適所配置の別の例を示した図である。
【図８】マルチアプリケーション環境のさまざまな領域における固定アプリケーションウィンドウのサイズ変更の例を示した図である。
【図９】マルチアプリケーション環境の領域に基づいてアプリケーションウィンドウのサイズ調節を行う方法を示した図である。
【図１０】マルチアプリケーション環境のさまざまな領域と関連付けられた例示的な選択エリアを示した図である。
【図１１】アプリケーションウィンドウの状態に基づいてマルチアプリケーション環境の領域を選択する方法を示した図である。
【図１２】図１２の方法を実装する例示的な状態機械を示した図である。
【図１３】マルチアプリケーション環境の例示的なドロップエリアを示した図である。
【図１４】ジョイントディバイダを用いて複数のアプリケーションウィンドウのサイズ調節を同時に行う方法を示した図である。
【図１５】さまざまなアプリケーションウィンドウ間に設定された例示的なジョイントディバイダを示した図である。
【図１６】１つまたは複数の実施形態に係るジョイントコントロールディバイダの表示を示した図である。
【図１７】ジョイントディバイダを用いたアプリケーションウィンドウのサイズ調節の一例を示した図である。
【図１８】別のアプリケーションウィンドウを動かしつつアプリケーションウィンドウのサイズ変更を行う方法を示した図である。
【図１９】マルチアプリケーション環境の別のレイヤへのアプリケーションウィンドウのエビクションを含む、図１８の方法の例示的な用途を示した図である。
【図２０】アプリケーションウィンドウ間に設定できる例示的なジョイントディバイダを示した図である。
【図２１】アプリケーションウィンドウ間に設定可能なジョイントコーナーの例を示した図である。
【図２２】ジョイントディバイダおよびアプリケーションウィンドウ縁部の詳細な例を示した図である。
【図２３】隣接および非隣接アプリケーションウィンドウ縁部の詳細な例を示した図である。
【図２４】有効領域に表示するアプリケーションウィンドウの選択を可能にする方法を示した図である。
【図２５】アプリケーションウィンドウを表示する有効領域を有する例示的なマルチアプリケーション環境を示した図である。
【図２６】選択されたアプリケーションウィンドウを有効領域に表示する方法を示した図である。
【図２７】アプリケーションウィンドウの選択により生成された例示的なアプリケーションウィンドウレイアウトを示した図である。
【図２８】マルチアプリケーション環境を可能にする技術を実装できる例示的な機器を示した図である。
【発明を実施するための形態】
【０００７】
概略
[0006]  本明細書は、アプリケーションウィンドウの補助的表示を可能にする技術および装置を記載する。これらの装置および技術は、マルチアプリケーション環境のアプリケーションウィンドウの好都合かつ効率的な適所配置またはサイズ調節によって、アプリケーションウィンドウの最適なレイアウトを提供可能であってもよい。いくつかの実施形態において、これらの技術および装置は、別のアプリケーションウィンドウの縁部に基づいて、アプリケーションウィンドウのサイズまたは位置を決定することができる。また、いくつかの実施形態において、これらの技術および装置は、マルチアプリケーション環境の領域の選択に基づき、所定エリアに合わせてアプリケーションウィンドウのサイズを調節することができる。さらに、いくつかの実施形態では、複数のアプリケーションウィンドウのサイズ調節または適所配置を同時に行うことができるジョイントディバイダまたはジョイントコーナーコントロールが有効である。さらに、いくつかの実施形態では、マルチアプリケーション環境の有効領域を識別するとともに、有効領域を介して表示するアプリケーションウィンドウを選択可能である。いくつかの実施形態においては、マルチアプリケーション環境の領域または所定エリアを通して、アプリケーションウィンドウ管理の上記および他の形態が可能である。これらは、本技術によってアプリケーションウィンドウの補助的表示を可能にする多くの方法の一例に過ぎず、その他については以下に説明する。
【０００８】
例示的なシステム
[0007]  図１は、アプリケーションウィンドウの補助的表示を可能にする技術を具現化できる例示的なシステム１００を示している。システム１００は、コンピュータ機器１０２を具備しており、スマートフォンコンピュータ１０４、タブレットコンピュータ機器１０６、ラップトップコンピュータ１０８、およびゲーム機１１０という４つの例を示しているが、セットトップボックス、サーバ、およびネットブック等、他のコンピュータ機器およびシステムが用いられるようになっていてもよい。
【０００９】
[0008]  コンピュータ機器１０２は、コンピュータプロセッサ１１２およびコンピュータ可読記憶媒体１１４（媒体１１４）を具備する。媒体１１４は、オペレーティングシステム１１６、マルチアプリケーション環境モジュール１１８、システムインターフェースモジュール１２０、入力モジュール１２２、それぞれが１つまたは複数のアプリケーションユーザインターフェース１２６（アプリケーションUI１２６）を有するアプリケーション１２４、アプリケーションキュー１３０を包含または利用可能とするアプリケーションマネージャ１２８、およびウィンドウマネージャ１３２を具備する。
【００１０】
[0009]  また、コンピュータ機器１０２は、１つまたは複数のディスプレイ１３４および入力機構１３６を包含または利用可能とする。図１は、コンピュータ機器１０２と分離または一体化できる４つの例示的なディスプレイを示している。入力機構１４２としては、一例として、タッチ式センサおよび運動追跡センサ（たとえば、カメラ式）等のジェスチャ感応センサおよび機器のほか、マウス（独立型またはキーボードと一体）、スタイラス、タッチパッド、加速度計、および音声認識ソフトウェアを備えたマイクが挙げられる。入力機構１３６は、ディスプレイ１３４と分離または一体であってもよく、一体の例としては、タッチ感応または運動感応センサが組み込まれたジェスチャ感応ディスプレイが挙げられる。
【００１１】
[0010]  オペレーティングシステム１１６は、コンピュータ機器１０２のリソースを管理し、６４ビット、３２ビット、縮小命令セットコンピュータ（RISC）、複数命令セットコンピュータ（CISC）等の任意適当な命令形式を用いて実装されていてもよい。場合により、オペレーティングシステム１１６は、仮想化によって命令形式が異なるモジュールまたはアプリケーションを実行可能であってもよい。オペレーティングシステム１１６によって、マルチアプリケーション環境モジュール１１８およびアプリケーション１２４等、コンピュータ機器１０２の他のモジュールは、コンピュータ機器１０２のリソースを利用することができる。
【００１２】
[0011]  マルチアプリケーション環境モジュール１１８は、各アプリケーションウィンドウを介して表示されたアプリケーションＵＩ１２６によって、アプリケーション１２４のうちの１つまたは複数に対するユーザの閲覧および相互作用が可能なマルチアプリケーション環境を提供する。場合により、マルチアプリケーション環境は、重畳ウィンドウ（たとえば、ウィンドウのz順序付け）または非重畳ウィンドウの位置、サイズ、および／または前後順序付け（「配置」と総称する）の管理または操作を可能にする重畳ウィンドウイング環境またはワークスペースである。ワークスペースにおける各アプリケーションウィンドウの順序付けすなわち「深さ」は、マルチアプリケーション環境モジュール１１８のｚスタックを介して維持可能である。通常、最上位アプリケーションまたは非遮蔽アプリケーションウィンドウは、ｚスタックの一番上に存在する。非最上位または遮蔽アプリケーションウィンドウ等の他のアプリケーションウィンドウは、ｚスタックのより深い位置に存在する。これらの非最上位アプリケーションウィンドウは、ｚスタック内のそれぞれの位置に基づいて、互いに重なっていてもよいし、互いを遮蔽していてもよい。
【００１３】
[0012]  マルチアプリケーション環境モジュール１１８は、フレームを有するアプリケーションウィンドウによって、アプリケーションＵＩ１２６を表示するようにしてもよい。これらのフレームは、アプリケーションと相互作用するためのコントロールおよび／またはユーザによるウィンドウの適所配置およびサイズ調節を可能にするコントロールを提供するようにしてもよい。この代替または追加として、マルチアプリケーション環境モジュール１１８は、ウィンドウフレームがほとんどまたは全くないアプリケーションウィンドウによるアプリケーションＵＩ１２６の表示および／または視覚的コントロール（たとえば、ウィンドウフレーム上またはウィンドウを覆うコンテンツ中の常在コントロール）の表示を伴わないアプリケーションＵＩ１２６の表示を行うようにしてもよい。
【００１４】
[0013]  マルチアプリケーション環境モジュール１１８により有効となったマルチアプリケーション環境は、ウィンドウベースのデスクトップ環境を用いることなくホスティングおよび／または可視化し得るものの、これらは必須ではない。このため、場合により、マルチアプリケーション環境モジュール１１８は、マルチアプリケーション環境を没入型環境として表示するとともに、デスクトップ状の表示（たとえば、タスクバー）の使用を除外する。さらに、いくつかの実施形態において、このマルチアプリケーション環境は、閉止不可能な点またはアンインストール不可能な点でオペレーティングシステムに類似している。場合により、必須ではないものの、このマルチアプリケーション環境によれば、当該マルチアプリケーション環境内のアプリケーションによって、ディスプレイの画素のすべてまたは略すべてを使用可能である。
【００１５】
[0014]  システムインターフェースモジュール１２０は、ほんの一例として、アプリケーション起動インターフェース、アプリケーション管理ユーザインターフェース（アプリケーション管理UI）、スタートメニュー、コントロールパネル、またはシステムツールもしくはオプションのメニュー等、オペレーティングシステム１１６との相互作用を可能にする１つまたは複数のインターフェースを提供する。入力モジュール１２２は、アプリケーションウィンドウ、入力機構１３６、またはマルチアプリケーション環境の他のコントロールおよびアフォーダンスを通した入力を受け付ける。
【００１６】
[0015]  アプリケーション１２４としては、生産性アプリケーション、ウェブブラウザ、メディアビューア、ナビゲーションアプリケーション、マルチメディア編集アプリケーション等、任意適当な種類のアプリケーションが挙げられる。オペレーティングシステム１１６またはマルチアプリケーション環境モジュール１１８は、さまざまな種類または命令セットのアプリケーションをネイティブまたは仮想化によりサポートしていてもよい。たとえば、マルチアプリケーション環境モジュール１１８は、３２ビット、６４ビット、ランタイム環境（たとえば、Java（登録商標）またはSilverlight）、プラグイン（たとえば、Flash）、ＲＩＳＣ、ＣＩＳＣ、ランタイム言語等、さまざまな種類または命令セットの複数のアプリケーション１２４を同時に表示するようにしてもよい。
【００１７】
[0016]  各アプリケーション１２４は、当該アプリケーションのコンテンツに対する閲覧または相互作用を可能にする１つまたは複数のアプリケーションＵＩ１２６を具備する。アプリケーションＵＩ１２６は、アスペクト比、最大サイズ、最小サイズ、位置、優位性、ディスプレイ配向等、アプリケーション１２４を表示するための所定の特性または選好（たとえば、デフォルト値または設定）を含んでいてもよい。少なくともいくつかの実施形態においては、アプリケーション１２４と関連付けられたアプリケーションプログラミングインターフェース（API）によって、アプリケーション１２４または各アプリケーションＵＩ１２６の特性または選好を利用可能である。
【００１８】
[0017]  アプリケーションマネージャ１２８によれば、起動、切り替え、およびアクティブなアプリケーションの追跡等、アプリケーション１２４の管理が可能である。場合により、アプリケーションマネージャ１２８は、互いに近接して頻繁に起動、適所配置、または使用されるアプリケーション等、アプリケーション間の関係を設定および維持することができる。また、アプリケーションマネージャ１２８は、アクティブなアプリケーション、最小化されたアプリケーション、または過去に相互作用したアプリケーションを含み得るアプリケーションキュー１３０の利用または維持が可能であってもよい。アプリケーションキュー１３０のアプリケーションは、最新使用、最頻使用、アルファベット順、アプリケーションの関連付け、またはアプリケーションのグループ化等、任意適当に体系化されていてもよい。
【００１９】
[0018]  少なくともいくつかの実施形態において、ウィンドウマネージャ１３２は、アプリケーションウィンドウの適所配置またはサイズ調節によって、最適なレイアウトのアプリケーションウィンドウをマルチアプリケーション環境に提供する技術を可能にする。これらアプリケーションウィンドウの技術およびレイアウトは、一部がマルチアプリケーション環境の領域に基づいて表示されるものであり、その例を以下に示すが、これらは網羅的でもなければ、本明細書に記載の技術を制限するものでもない。
【００２０】
[0019]  オペレーティングシステム１１６、マルチアプリケーション環境モジュール１１８、システムインターフェースモジュール１２０、入力モジュール１２２、アプリケーション１２４、アプリケーションマネージャ１２８、およびウィンドウマネージャ１３２の一部または全部は、互いに別個に実装されていてもよいし、任意適当な形態で組み合わせまたは統合されていてもよい。
【００２１】
例示的な方法
[0020]  例示的な方法３００、５００、９００、および１１００は、別のアプリケーションウィンドウまたはマルチアプリケーション環境の領域に基づいてアプリケーションウィンドウのサイズ調節または適所配置に対処し、例示的な方法１４００および１８００は、ジョイントディバイダの有効化によるアプリケーションウィンドウのサイズ調節または適所配置に対処し、例示的な方法２４００および２６００は、マルチアプリケーション環境の有効エリアにおけるアプリケーションウィンドウの表示に対処する。
【００２２】
[0021]  本明細書に記載の方法は、全体的または部分的に、互いに別個に用いられるようになっていてもよいし、互いに組み合わせて用いられるようになっていてもよい。これらの方法は、１つまたは複数のエンティティまたはモジュール等によって実行される演算（または、行為）の集合として示しており、必ずしも、演算を実行する図示の順序に限定されない。たとえば、本技術は、マルチアプリケーション環境のある領域にアプリケーションウィンドウを表示するとともに、マルチアプリケーション環境の別の領域に別のアプリケーションウィンドウを自動的に表示するようにしてもよい。また、本技術は、マルチアプリケーション環境の選択領域に基づいてアプリケーションウィンドウのサイズ調節および適所配置を行い、サイズ調節したアプリケーションウィンドウを選択領域に表示した後、アプリケーションウィンドウおよび当該アプリケーションウィンドウに接する別のアプリケーションウィンドウを同時にサイズ変更可能なジョイントディバイダを設定するようにしてもよい。さらに、本技術は、マルチアプリケーション環境のある領域にアプリケーションウィンドウを表示した後、マルチアプリケーション環境の１つまたは複数の有効領域を満たすように選択可能な他のアプリケーションウィンドウのプロンプトを表示するようにしてもよい。
【００２３】
[0022]  図２は、本明細書に記載の技術を実行できる例示的な動作環境２００を示している。この特定例においては、タブレットコンピュータ機器１０６がマルチアプリケーション環境モジュール１１８を介して、ディスプレイ１３４によりマルチアプリケーション環境２０２を表示する。ここで、マルチアプリケーション環境２０２は、ワークスペースとも称する場合があり、アプリケーションウィンドウ２０４およびアプリケーションウィンドウ２０６を具備しているが、それぞれ、アプリケーションウィンドウディバイダ２０８で示すように、マルチアプリケーション環境２０２の略半分を占めている。
【００２４】
[0023]  上述の通り、アプリケーションウィンドウは、そのサイズ調節、適所配置、最小化、閉止等が可能なコントロールを含んでいてもよい（たとえば、アプリケーションウィンドウ２０４）。あるいは、アプリケーションウィンドウは、コントロールを含まず、アプリケーションのユーザインターフェースまたはコンテンツによりマルチアプリケーション環境２０２の領域またはエリアを完全に占有可能であってもよい（たとえば、アプリケーションウィンドウ２０６）。コントロールのないアプリケーションウィンドウであっても、その縁部またはコンテンツを利用することにより、サイズ調節、適所配置、あるいは操作が可能であることに留意するものとする。
【００２５】
[0024]  上記の代替または追加として、マルチアプリケーション環境２０２は、仮想的あるいは非仮想的なデスクトップとして実装されていてもよく、コントロールエリアを具備しており、これをアプリケーション管理ＵＩ２１０またはスタートメニュー（図示せず）として示している。たとえば、マルチアプリケーション環境２０２は、デスクトップとして実装されている場合、アプリケーションウィンドウを個別に移動、サイズ調節、または最上位ウィンドウとして選択可能（たとえば、zスタックの一番上に移動可能）なウィンドウベースのワークスペースを提供するようにしてもよい。
【００２６】
[0025]  また、マルチアプリケーション環境２０２は、異なるアプリケーションウィンドウ集合を表示または利用可能な１つまたは複数の仮想デスクトップを提供するようにしてもよい。一例として、ユーザは、ある仮想デスクトップをワークベースまたは生産性アプリケーションウィンドウで構成し、別の仮想デスクトップを媒体消費アプリケーションウィンドウで構成するようにしてもよい。こうすることにより、ユーザは、２つの仮想デスクトップ間の切り替えまたは変更によって、２つの異なるアプリケーションウィンドウ集合と相互作用することができる。場合により、ユーザは、別の仮想デスクトップから選択中の仮想デスクトップにアプリケーションウィンドウを切り替えることによって、仮想デスクトップ間の変更の必要性を排除するようにしてもよい。少なくともいくつかの実施形態において、マルチアプリケーション環境２０２またはその一部は、ディスプレイの画面または可視エリアを完全に占有する。このため、マルチアプリケーション環境２０２の縁部は、ディスプレイの画面または可視エリアの各縁部と一致する場合がある。
【００２７】
[0026]  アプリケーション管理ＵＩ２１０によれば、オペレーティングシステム１１６、システムインターフェースモジュール１２０、またはコンピュータ機器１０２の他のアプリケーション１２４の特徴および機能を利用可能である。たとえば、アプリケーション管理ＵＩ２１０からアプリケーションウィンドウを起動または切り替え可能である。本明細書の技術を用いることにより、マルチアプリケーション環境２０２において、アプリケーションウィンドウの効率的な追加、切り替え、適所配置、サイズ調節、あるいは操作を行うことにより、アプリケーションウィンドウの最適なレイアウトを提供することができる。
【００２８】
アプリケーションウィンドウの適応的なサイズ調節および適所配置
[0027]  図３は、別のアプリケーションウィンドウに基づいてアプリケーションウィンドウのサイズ調節または適所配置を行う方法３００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【００２９】
[0028]  ３０２においては、マルチアプリケーション環境の領域の選択を受け付ける。この領域は、ホットキー組み合わせまたはアプリケーションウィンドウを介して受けた方向性入力（たとえば、ウィンドウのドラッグ）等、任意適当な入力によって選択可能である。場合により、領域の選択は、マルチアプリケーション環境内で追加、切り替え、または移動させるアプリケーションウィンドウを介して受け付ける。この領域には、画面の縁部に沿った部分または画面の中央の部分等、マルチアプリケーション環境の任意適当な部分またはエリアを含んでいてもよい。場合により、ユーザは、マルチアプリケーション環境内の特定のエリア（たとえば、画面エリアの部分または一片）をユーザ規定領域として規定または構成するようにしてもよい。
【００３０】
[0029]  上記領域は、固定されていてもよいし、予め規定されていてもよいし、ディスプレイの配向または受け付けた入力の種類によってサイズまたは位置を変更する領域のように動的であってもよい。場合により、所定サイズまたは所定位置にて領域をアプリケーションウィンドウで満たす「固定」動作等、領域が対応する動作と関連付けられていてもよい。これらの所定サイズまたは所定位置は、マルチアプリケーション環境の所定エリアに対応していてもよく、２分の１、４分の１、３分の１、およびこれらの任意の組み合わせ等、ワークスペースの水平方向および／または垂直方向の四分部または一部を含んでいてもよい。この代替または追加として、マルチアプリケーション環境の所定エリアは、ワークスペースの分割またはｚスタック内のアプリケーションウィンドウのサイズ、位置、もしくは場所の所定エリアとしての確保等、ユーザにより規定されていてもよい。
【００３１】
[0030]  一例として、さまざまな領域レイアウトをそれぞれ示す例示的なワークスペース４００、４０２、および４０４を示した図４について考える。ここで、ワークスペース４００のアプリケーションウィンドウ４０６、４０８、４１０、および４１２は最初、ワークスペースの四分エリアに固定されている。アプリケーションウィンドウは、ワークスペースまたは画面の２つ以上の隣接縁部に接触または当接している場合、固定と考えられる。同様に、アプリケーションウィンドウ４１４および４１６は最初、ワークスペース４０２の二分エリアに固定されている。
【００３２】
[0031]  ３０４においては、選択領域に隣接する別のアプリケーションウィンドウの縁部を識別する。この別のアプリケーションウィンドウは、マルチアプリケーション環境の隣接領域を占有していてもよい。場合により、この別のアプリケーションウィンドウの縁部は、選択領域に優先する。この代替または追加として、非隣接アプリケーションウィンドウの縁部が（たとえば、優先または非優先として）識別されるようになっていてもよい。
【００３３】
[0032]  たとえば、隅部４２４を起点とする軸に沿ったワークスペース４０４の領域４１８、領域４２０、および領域４２２を考える。ここでは、領域４１８および領域４２０が隅部４２４に隣接しており、領域４２２は隅部４２４に隣接していない。さらに、領域の縁部は、個別の軸に沿って優先または非優先に分類されていてもよい。隅部４２４からＸ軸に沿っては、縁部４２６および縁部４２８が優先であり、縁部４３０は優先ではない。同様に、隅部４２４からＹ軸に沿っては、縁部４３２および縁部４３４が優先であり、縁部４３６は優先ではない。
【００３４】
[0033]  ワークスペース４００に関連して、ウィンドウ４３８がワークスペース４００の隅部領域にドラッグされたものと仮定する。ここで、ウィンドウマネージャ１３２は、アプリケーションウィンドウ４３８が移動している領域に隣接するアプリケーションウィンドウ４１０の隅部を識別する。また、ワークスペース４０２に関連して、アプリケーションウィンドウ４４０がワークスペース４０２の側部領域にドラッグされている。ここで、ウィンドウマネージャ１３２は、アプリケーションウィンドウ４４０が移動している領域に隣接するアプリケーションウィンドウ４１６の隅部を識別する。
【００３５】
[0034]  ３０６においては、別のアプリケーションウィンドウの縁部に基づいて、アプリケーションウィンドウのサイズまたは位置を決定する。アプリケーションウィンドウのサイズまたは位置は、当該アプリケーションウィンドウが別のアプリケーションウィンドウの縁部までの領域を満たすように決定してもよい。場合により、サイズまたは位置は、アプリケーションウィンドウの縁部が隣接アプリケーションウィンドウの優先縁部と一致するように決定する。場合により、アプリケーションウィンドウおよび隣接アプリケーションウィンドウは、幅または高さが同じであってもよい。この代替または追加として、決定したサイズまたは位置は、ワークスペースの四分エリアまたは二分エリア等、マルチアプリケーション環境の所定エリアに対応していてもよい。
【００３６】
[0035]  例示的なワークスペース４００を参照して、ウィンドウマネージャは、アプリケーションウィンドウ４３８の縁部がアプリケーションウィンドウ４１０およびアプリケーションウィンドウ４０８の縁部と一致するようにアプリケーションウィンドウ４３８のサイズを決定する。また、ワークスペース４０２に関連して、ウィンドウマネージャは、アプリケーションウィンドウ４４０の縁部がアプリケーションウィンドウ４１６の縁部と一致するようにアプリケーションウィンドウ４４０のサイズを決定する。
【００３７】
[0036]  ３０８においては、決定したサイズまたは決定した位置にて、マルチアプリケーション環境の選択領域にアプリケーションウィンドウを表示する。場合により、アプリケーションウィンドウは、選択領域を占有する別のアプリケーションウィンドウ上に表示する。このような場合、この別のアプリケーションウィンドウは、マルチアプリケーション環境の別の優位性レイヤ（たとえば、zスタックのより深く）へと格下げされるようになっていてもよい。この代替または追加として、アプリケーションウィンドウは、当該領域に固定されるようになっていてもよい。
【００３８】
[0037]  ワークスペース４００を参照した例の結論として、ウィンドウマネージャは、ワークスペース４００の四分部にアプリケーションウィンドウ４３８を表示し、ワークスペース４００のその他の固定ウィンドウに対してアプリケーションウィンドウ４３８を配置する。また、ワークスペース４０２に関連して、ウィンドウマネージャは、２分の１の固定アプリケーションウィンドウ４１４に対してアプリケーションウィンドウ４４０を配置する。
【００３９】
[0038]  図５は、マルチアプリケーション環境の他のアプリケーションウィンドウに基づいてアプリケーションウィンドウのサイズ調節および適所配置を行う方法５００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【００４０】
[0039]  ５０２においては、入力を受け付けて、マルチアプリケーション環境の領域におけるアプリケーションウィンドウの配置を開始する。アプリケーションウィンドウの配置は、マルチアプリケーション環境におけるアプリケーションウィンドウの追加、切り替え、または移動の入力に応答するようになっていてもよい。場合により、入力は、アプリケーションウィンドウまたはその視覚的表現がマルチアプリケーション環境の縁部に対してドラッグまたは移動されるジェスチャまたはエッジトリガ動作である。このような場合は、マルチアプリケーション環境の縁部に対するアプリケーションウィンドウの接触または移動によって、アプリケーションウィンドウの配置または他の変換を「起動」することができる。
【００４１】
[0040]  ５０４においては、マルチアプリケーション環境の他のアプリケーションウィンドウのサイズおよび位置をそれぞれ決定する。場合により、これら他のアプリケーションウィンドウの各縁部は、領域に対する優先または非優先縁部として識別する。このような場合、これらの縁部はそれぞれ、垂直軸または水平軸等の軸ごとに識別可能である。他のアプリケーションの優先縁部を両軸（たとえば、２つの隣接アプリケーションウィンドウ）に沿って識別する場合は、水平軸の縁部を無視することができる。
【００４２】
[0041]  任意選択により、５０６においては、上記他のアプリケーションウィンドウの状態をそれぞれ決定する。マルチアプリケーション環境内で固定されていないアプリケーションウィンドウまたは他のウィンドウにより遮蔽されたアプリケーションウィンドウは、方法５００の他の演算から無視することができる。この代替または追加として、最小化、最大化、または別のディスプレイを介して表示されたアプリケーションウィンドウについても、方法５００の他の演算から無視することができる。こうすることにより、アプリケーションウィンドウのサイズ調節または適所配置によってアプリケーションウィンドウの最適なレイアウトを提供する場合、マルチアプリケーション環境の固定中のウィンドウまたは最上位のウィンドウを考慮する。場合によっては、他のアプリケーションウィンドウ（たとえば、画面上のアプリケーションウィンドウ）を記述する情報およびそれぞれの状態情報のデータ構造を生成または維持する。このデータ構造は、アプリケーションウィンドウのレイアウトの最適化に際して考慮するアプリケーションウィンドウを決定するのに利用または参考可能である。
【００４３】
[0042]  ５０８においては、上記他のアプリケーションウィンドウそれぞれのサイズおよび位置に基づいて、アプリケーションウィンドウのサイズおよび位置を決定する。また、場合によっては、デフォルトのアスペクト比または最小サイズ等、アプリケーションウィンドウの特性または選好に基づいて、ウィンドウのサイズおよび位置を決定する。他の場合には、上記他のアプリケーションウィンドウの特性または選好を考慮することにより、当該他のアプリケーションウィンドウのうちの１つの最小サイズの維持等を行うようにしてもよい。
【００４４】
[0043]  いくつかの実施形態において、アプリケーションウィンドウは、表示用に当該アプリケーションウィンドウを選択した領域に隣接する他のアプリケーションウィンドウと合致するようにサイズ調節および適所配置が行われる。たとえば、アプリケーションウィンドウは、隣接するアプリケーションウィンドウの優先縁部と合致するようにサイズ調節可能である。上記他のアプリケーションウィンドウのうちの２つが領域に隣接している場合、アプリケーションウィンドウは、垂直方向に隣接するウィンドウの両優先縁部に合うようにサイズ調節可能である。この一例を図６の例示的なワークスペース６００に示しており、隅部領域６０６に隣接するアプリケーションウィンドウ６０２および６０４を具備する。ここでは、アプリケーションウィンドウ６０４と一致するようにアプリケーションウィンドウ６０８のサイズおよび位置が決定される。
【００４５】
[0044]  あるいは、別のアプリケーションウィンドウが垂直方向に隣接していない場合は、水平方向の隣接ウィンドウに合うようにアプリケーションウィンドウをサイズ調節可能である。これは、例示的なワークスペース６１０により示しており、水平方向において二分領域６１４に隣接するアプリケーションウィンドウ６１２を具備する。ここでは、アプリケーションウィンドウ６１２の優先縁部と一致するようにアプリケーションウィンドウ６１６のサイズおよび位置が決定される。
【００４６】
[0045]  さらに、隣接するアプリケーションウィンドウが領域に優先縁部を有していない場合は、隣接ウィンドウの非優先縁部と合致するようにアプリケーションウィンドウのサイズ調節および適所配置を行うことができる。これは、例示的なワークスペース６１８により示しており、隅部６２２に隣接するアプリケーションウィンドウ６２０を具備する。ここでは、アプリケーションウィンドウ６２０の非優先縁部と一致するようにアプリケーションウィンドウ６２４のサイズおよび位置が決定される。
【００４７】
[0046]  また、別のアプリケーションウィンドウが領域に隣接していない場合、アプリケーションウィンドウは、非隣接領域の優先縁部に合うようにサイズ調節可能である。これは、例示的なワークスペース６２６により示しており、隅部６３０に隣接していないアプリケーションウィンドウ６２８を具備する。ここでは、アプリケーションウィンドウ６２８の優先縁部と一致するようにアプリケーションウィンドウ６３２のサイズおよび位置が決定される。
【００４８】
[0047]  あるいは、他の縁部またはアプリケーションウィンドウが存在しない場合は、四分エリアまたは二分エリア等、マルチアプリケーション環境の所定エリアに合わせてアプリケーションウィンドウのサイズ調節および適所配置を行うことができる。これは、図７の例示的なワークスペース７００および７０２に示しているが、隣接アプリケーションウィンドウまたは優先縁部を有するものは具備していない。ワークスペース７００においては、アプリケーションウィンドウ７０４がワークスペースの２分の１に固定され、隅部７０６の反対に位置付けられている。このため、ワークスペース７００の上側領域にアプリケーションウィンドウ７０８が二分固定されるようにサイズおよび位置が決定される。ワークスペース７０２においては、アプリケーションウィンドウ７０１の二分領域への移動に際して、他のアプリケーションウィンドウは存在しない。したがって、ワークスペース７０８の二分固定エリアにウィンドウ７１０が固定可能となるようにサイズおよび位置が決定される。
【００４９】
[0048]  任意選択により、５１０においては、上記他のアプリケーションウィンドウのうちの１つの他のアプリケーションウィンドウのサイズまたは位置をそれぞれ変更する。場合によっては、デフォルトのアスペクト比または最小サイズ等、上記他のアプリケーションウィンドウの特性または選好に基づいて、当該他のアプリケーションウィンドウのサイズまたは位置を決定する。上記他のアプリケーションウィンドウの変更には、四分エリアまたは二分エリア等、マルチアプリケーション環境の所定エリアに適合または適充するような上記他のアプリケーションウィンドウの移動またはサイズ調節を含んでいてもよい。
【００５０】
[0049]  いくつかの実施形態において、上記は、アプリケーションウィンドウおよび別のアプリケーションウィンドウが同様にサイズ調節される場合等、アプリケーションウィンドウのスワッピングを可能にする場合に有効となり得る。この例を図７のワークスペース７１２および７１４に示しており、それぞれ、二分固定および四分固定エッジトリガ動作（トリガ）に応答してアプリケーションウィンドウのスワッピングが開始となる。ワークスペース７１２においては、アプリケーションウィンドウ７１８を介した二分固定エッジトリガ７１６の受け付けにより、アプリケーションウィンドウをワークスペース７１２の右側縁部まで移動させる。
【００５１】
[0050]  ここでは、アプリケーションウィンドウ７２０および７２２のワークスペース７１２の左側縁部への再位置決めによって、アプリケーションウィンドウ７１８との位置スワッピングが可能となる。ワークスペース７１４においては、アプリケーションウィンドウ７２６を介した四分固定エッジトリガ７２４の受け付けにより、アプリケーションウィンドウをワークスペース７１４の上部左側隅部まで移動させる。ここでは、アプリケーションウィンドウ７２８のワークスペース７１４の下部左側隅部への再位置決めによって、アプリケーションウィンドウ７２６との位置スワッピングが可能となる。
【００５２】
[0051]  アプリケーションウィンドウのスワッピングを開始するタイミングを決定する例示的なアルゴリズムは、アプリケーションウィンドウのうちの１つを動かす入力に基づく。移動と垂直なアプリケーションウィンドウの縁部構成要素が同一である場合は、アプリケーションウィンドウのスワッピングが可能である。言い換えると、Ｘ軸に沿ってアプリケーションウィンドウを動かす場合は、Ｙ軸のアプリケーションウィンドウの縁部が一致している必要がある。斜め方向の移動の場合は、このアルゴリズムを各軸方向に１回ずつ、２回適用可能である。各軸に沿ったベクトルベースの移動は、マッピングにより移動をエッジトリガまたは他の方向性入力に戻すことによって、決定されるようになっていてもよい。
【００５３】
[0052]  ５１２においては、決定したサイズおよび位置でアプリケーションウィンドウを表示することにより、ウィンドウの配置を完了する。場合により、アプリケーションウィンドウは、選択領域を占有する別のアプリケーションウィンドウ上に表示する。このような場合、この別のアプリケーションウィンドウは、マルチアプリケーション環境の別の優位性レイヤ（たとえば、zスタックのより深く）へと格下げされるようになっていてもよい。この代替または追加として、アプリケーションウィンドウは、マルチアプリケーション環境の四分エリアまたは二分エリアの占有等のため、所定サイズで領域に固定可能である。
【００５４】
[0053]  さらに、方法３００または５００は、既存の固定ウィンドウまたは最大化ウィンドウをサイズ変更するように実装可能である。これらのウィンドウのサイズ変更は、二分固定または四分固定エッジトリガ等、任意適当な入力を用いて開始されるようになっていてもよい。場合によっては、エッジトリガまたはウィンドウドラッグの入力のほか、マウスボタンまたはキーボードの入力（たとえば、ALTキー）等の付加的な入力の受け付けに応答してこれらの演算が有効となる。
【００５５】
[0054]  図８は、固定アプリケーションウィンドウのサイズ変更の例示であり、ワークスペース８００および８０２を参照して示している。ワークスペース８００は、アプリケーションウィンドウ８０４と、ワークスペースにおいて最初に最大化されたアプリケーションウィンドウ８０６とを具備する。ここで、二分固定エッジトリガ８０８は、適所配置およびサイズ調節によって、アプリケーションウィンドウ８１０をワークスペース８００の二分エリアにする。これに応答して、ウィンドウマネージャ１３２は、サイズ変更によって、アプリケーションウィンドウ８０６をワークスペース８００の別の二分エリアにする。
【００５６】
[0055]  別の例としてワークスペース８０２を考えるが、これは、アプリケーションウィンドウ８１０と、ワークスペース８０２の二分エリアを占有するアプリケーションウィンドウ８１２とを具備する。ここで、四分固定エッジトリガ８１１は、適所配置およびサイズ調節によって、アプリケーションウィンドウ８１０をワークスペース８０２の四分エリアにする。これに応答して、ウィンドウマネージャ１３２は、サイズ変更によって、アプリケーションウィンドウ８１２をワークスペース８０２の隣接する四分エリアにする。これらは、方法３００および５００の実装によって固定アプリケーションウィンドウの適所配置またはサイズ調節が可能な方法の一例に過ぎない。
【００５７】
アプリケーションウィンドウの領域ベースのサイズ調節および適所配置
[0056]  図９は、アプリケーションウィンドウの領域ベースのサイズ調整の方法９００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【００５８】
[0057]  ９０２においては、所定エリアを有するユーザインターフェースにアプリケーションウィンドウを表示する。アプリケーションウィンドウは、所定エリアのうちの１つに表示するようにしてもよいし、所定エリア上に表示するようにしてもよい。所定エリアはそれぞれ、ユーザインターフェースの１つの領域に対応する。場合によっては、ユーザインターフェースの領域（たとえば、縁部）の使用により、所定エリア（たとえば、四分部）のうちの対応する１つへのアプリケーションウィンドウの配置を起動する。ユーザインターフェースのこれらの領域は、画面縁部等のデフォルト領域であってもよいし、画面の任意の部分を含むユーザ規定領域であってもよい。場合により、所定エリアは、四分サイズ、二分サイズ、最大サイズ、最小サイズ等、ユーザインターフェース内の関連するサイズまたは位置を有していてもよい。ユーザインターフェースは、マルチアプリケーション環境として実装可能である。
【００５９】
[0058]  一例として、例示的な所定エリアおよび対応する領域を示した図１０について考える。ほんの一例として、所定エリアは、固定エリアとして図示しており、ワークスペースの複数部分にわたって均一または不均一に分かれていてもよい。たとえば、図１０のワークスペース１０００は、二分固定エリア１００２および二分固定エリア１００４を具備しており、それぞれ、縁部領域１００６および縁部領域１００８に対応する。
【００６０】
[0059]  例示的なワークスペース１０１０は、四分固定エリア１０１２、１０１４、１０１６、および１０１８等の四分エリアを具備しており、それぞれ、隅部領域１０２０、１０２２、１０２４、および１０２６に対応する。隅部領域は、正方形または円形（たとえば、隅部領域１０２６）として規定されていてもよく、約２５画素の幅または半径等、所定のサイズを有していてもよい。ワークスペース１０２８には、他の例示的な二分エリアを示しており、二分固定エリア１０３０および二分固定エリア１０３２を具備する。縁部領域１０３４は、ワークスペースの最大エリアに対応していてもよいし、縦長表示の場合は、二分固定エリア１０３０に対応していてもよい。最後に、二分固定エリア１０３２は、ワークスペース１０２８の底部に沿って位置付けられた縁部領域１０３６に対応する。
【００６１】
[0060]  いくつかの実施形態においては、予想される入力の種類に応じて領域のサイズが変更されるようになっていてもよい。たとえば、マウス入力等のより精密な入力を受け付けた場合は、ユーザが対象領域を容易に利用可能であることから、領域がより小さなサイズを有していてもよい。他の場合、タッチ入力またはジェスチャ入力等の精密度に劣る入力を受け付けた場合は、領域（たとえば、縁部領域または隅部領域）のサイズが増大する可能性がある。この代替または追加としては、ディスプレイの縁部が集まってより正確な領域選択を可能にする場合のより大きな領域の提供等、ディスプレイのトポロジに基づいて領域のサイズが変更されるようになっていてもよい。
【００６２】
[0061]  ９０４においては、所定エリアのうちの１つに基づいて、アプリケーションウィンドウのサイズを変更する。アプリケーションウィンドウのサイズは、所定エリアに対応する領域へとアプリケーションウィンドウを動かす入力に応答して変更する。場合により、アプリケーションウィンドウは、所定エリアの一部または全部を占有するように適所配置する。アプリケーションウィンドウを動かす入力としては、アプリケーションウィンドウを通して受け付けたエッジトリガまたは方向性入力（たとえば、ドラッグ）等、任意適当な入力が挙げられる。たとえば、アプリケーションウィンドウを隅部領域にドラッグすると、サイズ調節によって、アプリケーションウィンドウが隅部領域に対応した四分部となる。このように、ウィンドウの対応する領域への移動によって、ワークスペースの任意の所定エリアに合うように、アプリケーションウィンドウをサイズ調節可能である。
【００６３】
[0062]  図１１は、アプリケーションウィンドウの領域ベースのサイズ調整および適所配置の方法１１００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【００６４】
[0063]  １１０２においては、所定エリアを有するユーザインターフェース内でアプリケーションウィンドウを動かす入力を受け付ける。受け付けた入力には、キー操作、方向性入力、ジェスチャ入力等、任意適当な種類の入力を含んでいてもよい。たとえば、入力には、マウスまたはＷｉｎｄｏｗｓ（商標）キーおよび矢印キー等の１つもしくは複数のキー操作によるアプリケーションの選択およびドラッグを含んでいてもよい。他の例では、所定エリアのうちの１つに対応する領域にアプリケーションをドラッグ可能である。
【００６５】
[0064]  １１０４においては、入力およびアプリケーションウィンドウの状態に基づいて、ユーザインターフェースの所定エリアを選択する。アプリケーションウィンドウの状態としては、現在のサイズ、現在の位置、現在のｚスタック深さ、またはアプリケーションウィンドウが占有する現在の所定エリアが挙げられる。所定エリアとしては、ユーザ規定エリアまたは固定エリア等の本明細書に記載の他の所定エリア等、任意の所定エリアが挙げられる。また、いくつかの実施形態において、所定エリアは、重なっていてもよく、ウィンドウのｚスタック深さをカスタマイズ可能であってもよい。こうすることにより、さまざまな優位性または深さのアプリケーションウィンドウレイアウトを生成可能である。
【００６６】
[0065]  アプリケーションウィンドウの状態を用いることによって、アプリケーションウィンドウの動的なサイズ調節および適所配置を有効にすることができる。一例として、所定エリアまたはアプリケーションウィンドウ状態の選択は、状態機械を用いて決定することができる。場合によっては、アプリケーションウィンドウの現在の状態および受け付けた入力に基づいて状態機械を利用することにより、アプリケーションウィンドウの次の所定エリアまたは次の状態を選択することができる。
【００６７】
[0066]  アプリケーションウィンドウの所定エリアまたは状態を動的に選択する例示的な状態機械１２００を示した図１２について考える。ここで、凡例１２０２は、Ｗｉｎｄｏｗｓ（商標）キーを押しながらの矢印キーの押下等、受け付けた各入力に応答して起こる状態遷移を示している。状態機械１２００の状態で示すように、一連のキー操作の入力による所定エリアの選択によって、対応する状態に到達することができる。この特定例において、状態機械１２００は、左側二分部１２０４、右側二分部１２０６、分割上部１２０８、および分割下部１２１０等、二分エリアの状態を含む。また、状態機械は、上部左側四分部１２１２、下部左側四分部１２１４、上部右側四分部１２１６、および下部右側四分部１２１８等、四分エリアの状態を含む。さらには、状態機械１２００の他の所定エリアまたは状態も選択可能であり、最小化１２２０、復元１２２２、および最大化１２２４を含む。この代替または追加として、ユーザは、状態または他のキー組み合わせのうちの１つまたは複数のマッピングによって、ワークスペースのユーザ規定エリアをカスタマイズすることができる。
【００６８】
[0067]  目下の方法に戻って、１１０６においては、アプリケーションウィンドウが所定エリアを満たすように、アプリケーションウィンドウのサイズおよび位置を変更する。場合によっては、ユーザインターフェースの四分エリアまたは二分エリアを満たすようにアプリケーションウィンドウのサイズ調節を行う。他の場合には、アプリケーションウィンドウの最小化または表示中のアプリケーションウィンドウのｚスタック深くへの格下げが可能である。上述の通り、所定エリアは、ユーザインターフェースまたはマルチアプリケーション環境の中央のドロップ領域等、ユーザ規定であってもよい。
【００６９】
[0068]  一例として、カスタムのドロップエリア１３０２、１３０４、および１３０６を示した図１３のワークスペース１３００について考える。これらカスタムのドロップエリアは、アプリケーションウィンドウのサイズおよび位置の変更によってドロップエリアが満たされるように、ユーザによる規定および領域（たとえば、ワークスペースの真ん中の領域）またはキー組み合わせへのマッピングがなされていてもよい。これらのドロップエリアは、ワークスペースのユーザ規定エリアとしてのアプリケーションウィンドウのサイズ、位置、またはｚスタック深さの格納等、任意適当に構成されていてもよい。
【００７０】
[0069]  任意選択により、１１０８においては、アプリケーションウィンドウのプレビューによって、アプリケーションウィンドウの変更サイズおよび位置を視覚的に表示する。アプリケーションウィンドウのプレビューは、当該アプリケーションウィンドウまたはそのコンテンツの透過性（または、部分的に透明な）表現として示すことができる。場合によっては、所定エリアにおけるアプリケーションウィンドウのプレビュー配置を確認する付加的な入力を受け付ける。このような場合、方法５００は、プレビューの通りにアプリケーションウィンドウを実行する入力に応答して、演算１１１０へと進むようになっていてもよい。
【００７１】
[0070]  あるいは、付加的な入力によって、アプリケーションインターフェースを表示する別の所定エリアを選択するようにしてもよい。これは、方法５００を演算１１０２に戻して別の所定エリアを選択するのに有効となる可能性がある。さらに他の場合には、アプリケーションウィンドウまたはそのプレビューに対する連続ドラッグまたは慣性の形態で付加的な入力が受け付けられるようになっていてもよい。この（たとえば、縁部領域への）連続ドラッグまたは慣性に応答して、アプリケーションウィンドウのプレビューの所定エリアでのサイズ変更または別の所定エリアへのサイズ調節が可能である。
【００７２】
[0071]  １１００においては、変更したサイズおよび位置にて、ユーザインターフェースの所定エリアにアプリケーションウィンドウを表示する。場合により、アプリケーションウィンドウは、ユーザインターフェースの所定領域と関連付けられた深さに従って、特定のｚスタック深さに表示する。変更したサイズおよび位置でのアプリケーションの表示は、所定エリアを満たすのに有効となり得る。この一例をワークスペース１３０８で示しており、ドロップエリア１３０２を満たすように検索アプリケーション１３１０のサイズ調節および適所配置がなされている。図１３に関連して、方法１１００の演算は、ドロップエリア１３０４および１３０６をそれぞれ画像アプリケーション１３１２およびノートパッドアプリケーション１３１４で満たすように反復可能である。
【００７３】
アプリケーションウィンドウの動的ジョイントディバイダ
[0072]  図１４は、アプリケーションウィンドウ間にジョイントディバイダを設定する方法１４００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【００７４】
[0073]  １４０２においては、マルチアプリケーション環境の第１のアプリケーションウィンドウと第２のアプリケーションウィンドウとの間にジョイントディバイダを設定する。ジョイントディバイダは、第２のアプリケーションウィンドウの縁部に対する第１のアプリケーションウィンドウの縁部の接触（たとえば、重畳のない当接）に応答して設定する。場合により、ジョイントディバイダは、接触している各アプリケーションウィンドウの部分それぞれに沿って設定する。他の場合には、アプリケーションウィンドウ間の接触量に関わらず、各アプリケーションウィンドウの全長に沿ってジョイントディバイダを設定する。アプリケーションウィンドウの縁部間の接触は、マルチアプリケーション環境におけるアプリケーションウィンドウのうちの１つの移動、固定、追加、またはサイズ調節等、任意適当な操作を原因としていてもよい。また、ジョイントディバイダは、アプリケーションウィンドウの任意の可視縁部に沿って設定可能である。場合により、ジョイントディバイダの設定は、固定アプリケーションウィンドウに限定され、非固定または浮遊アプリケーションウィンドウを除外するようにしてもよい。
【００７５】
[0074]  いくつかの実施形態において、ジョイントディバイダは、１つまたは複数の縁部に沿って互いに接触する複数のアプリケーションウィンドウ間に設定される。たとえば、２つのアプリケーションウィンドウの各縁部が第３のアプリケーションウィンドウの縁部に接触している場合は、単一のジョイントディバイダを設定することができる。あるいは、アプリケーションウィンドウがそれぞれの隅部で互いに接触している場合は、複雑なジョイントディバイダを形成することができる。この代替または追加として、ジョイントディバイダの設定により、アプリケーションウィンドウが一体的にグループ化（または、関連付け）され、グループ化されたアプリケーションウィンドウ上での動作が可能となる。たとえば、グループ化されたアプリケーションウィンドウは、一体的な開展、閉止、最小化、サイズ変更、切り替え、または移動が可能である。さらに、グループ化されたアプリケーションウィンドウの非グループ化によって、グループ化されていたアプリケーションウィンドウがそれぞれ元の状態に戻り得る。場合により、グループ化されたアプリケーションウィンドウは、スタートメニュー、アプリケーション管理ＵＩ、またはホットキースイッチャ（たとえば、ALT+TabまたはWindows（商標）+Tab）等、切り替えアフォーダンスにおいて一体的に表示される。
【００７６】
[0075]  ジョイントディバイダは、２つ以上のアプリケーションウィンドウの各縁部が互いに接触した如何なる時点の如何なる場所においても設定可能である。一例として、ワークスペース１５００、１５０２、および１５０４におけるさまざまなジョイントディバイダを示した図１５について考える。ワークスペース１５００は、四分固定アプリケーションウィンドウ間に設定されたジョイントディバイダ１５０６と、四分固定アプリケーションウィンドウと二分固定アプリケーションウィンドウとの間に設定されたジョイントディバイダ１５０８とを具備する。また、ジョイントディバイダは、ワークスペース１５０２に示すように、遮蔽されたアプリケーションウィンドウ間に設定されていてもよく、この場合のアプリケーションディバイダ１５１０は、部分的に遮蔽された固定アプリケーションウィンドウ間に設定されている。さらに、アプリケーションディバイダ１５１２は、アプリケーションウィンドウのｚスタックの最上位ではない遮蔽された浮遊アプリケーションウィンドウ間に設定されている。
【００７７】
[0076]  １４０４においては、第１のアプリケーションウィンドウおよび第２のアプリケーションウィンドウにより共有されたジョイントディバイダを表示する。ジョイントディバイダの表示には、ジョイントディバイダの視覚的または触覚的指定の提供を含んでいてもよい。たとえば、ジョイントディバイダを共有するアプリケーションウィンドウの縁部上には、視覚的指定を表示する。他の場合には、ジョイントディバイダを共有する２つのアプリケーションウィンドウ間にジョイントディバイダを表示する。このような場合は、一方または両方のアプリケーションウィンドウのサイズの縮小によって、ジョイントディバイダを表示する空間を与えるようにしてもよい。この代替または追加として、触覚的フィードバック（たとえば、凹凸または起伏）の使用により、ジョイントディバイダの存在を示すことができる。場合によっては、ジョイントディバイダに近い入力またはカーソル移動に応答して、ジョイントディバイダを表示する。
【００７８】
[0077]  いくつかの実施形態においては、ジョイントディバイダを無効化できるように、ジョイント分離コントロールまたはアフォーダンスも表示される。ジョイント分離コントロールは、ジョイントディバイダの一部、ジョイントコントロールの一方の縁部、またはジョイントコントロールの両縁部上に表示可能である。場合によっては、ジョイント分離コントロールによりユーザがジョイントディバイダを「解除」可能となり、すでにジョイントディバイダを共有しているアプリケーションウィンドウの個別のサイズ調節または移動が可能となる。また、ジョイントディバイダは、当該ジョイントディバイダのダブルクリック、キー（たとえば、CTRL）を押しながらのジョイントディバイダのクリック等の他の操作またはジョイントディバイダの一部ではない縁部を介したアプリケーションウィンドウのサイズ調節もしくは移動によっても無効化可能である。
【００７９】
[0078]  ジョイントディバイダは、アプリケーションウィンドウ間のジョイントディバイダの設定に応答して表示可能である。あるいは、ジョイントディバイダは、当該ジョイントディバイダに近い入力またはカーソル移動が受け付けられるまで、表示せずに存在していてもよい。図１６は、カーソル移動に応じたジョイントディバイダの表示の一例を示している。カーソルの移動は、アプリケーションウィンドウ１６０２、アプリケーションウィンドウ１６０４、およびカーソル１６０６を具備するワークスペース１６００で開始となる図示のワークスペースの進行として示している。
【００８０】
[0079]  ワークスペース１６０８に示すように、カーソル１６０６の移動は、近接しきい１６１０に基づいて検出可能である。近接しきい１６１０は、ジョイントディバイダから１０画素等、任意適当な寸法を有するように構成されていてもよく、また、受け付ける入力の種類に基づいて再構成されるようになっていてもよい。ワークスペース１６１２に示すように、カーソル１６０６が近接しきい１６１０と交差した場合は、アプリケーションウィンドウ１６０２および１６０４の接触縁部上にジョイントディバイダ１６１４およびジョイント分離コントロール１６１６が表示される。
【００８１】
[0080]  １４０６においては、ジョイントディバイダを介して、第１のアプリケーションウィンドウおよび第２のアプリケーションウィンドウそれぞれのサイズを変更する入力を受け付ける。受け付けた入力には、カーソル移動、タッチ入力、または矢印キーを介して受け付けた方向性入力等、任意適当な種類の入力を含んでいてもよい。一例として、アプリケーションウィンドウ１７０４および１７０６が共有するジョイントディバイダ１７０２を具備する図１７の例示的なワークスペース１７００について考える。この特定例において、ジョイントディバイダ１７０２は、ジョイント分離コントロールも含むことにより、アプリケーションウィンドウ１７０４および１７０６の個別のサイズ調節が可能である。ここでは、カーソル１７１０を介して、横方向にアプリケーションウィンドウ１７０４および１７０６のサイズ調節を行う入力を受け付ける。
【００８２】
[0081]  １４０８においては、入力に応答して、第１のアプリケーションウィンドウおよび第２のアプリケーションウィンドウそれぞれのサイズを同時に変更する。アプリケーションウィンドウそれぞれのサイズは、方向性カーソル移動等の入力を受け付けた場合に変更可能である。たとえば、アプリケーションウィンドウの変更サイズは、入力を受け付けた軸に沿ってジョイントディバイダをスライドさせることにより、視覚的に示すことができる。このように、スライドするジョイントディバイダによって、第１および第２のアプリケーションウィンドウの同時サイズ調節を視覚的に示すことができる。
【００８３】
[0082]  上記の代替または追加として、ジョイントディバイダは、ワークスペースの縁部に沿った中点の誘引性または親和性（たとえば、魅力）を示していてもよい。これは、ユーザによる対称的なレイアウトでのウィンドウのサイズ調節の補助に有効となり得る。場合により、ワークスペースの縁部に沿った点への誘引性は、（たとえば、CTRLキーを押しながらの）キー入力に応答して無効化可能である。
【００８４】
[0083]  図１７に関連して、アプリケーションウィンドウ１７０４および１７０６は、ワークスペース１７１２に示す位置へのジョイントディバイダ１７０２の移動に基づいてサイズ調節される。この特定例においては、ジョイント分離コントロールの特徴についても図示している。ここで、アプリケーションウィンドウ１７０４を独立してサイズ調節する付加的な入力は、ジョイント分離コントロール１７０８を介して受け付けられる。図示のように、カーソル１７１０から受け付けた入力によって、反対の横方向にアプリケーションウィンドウ１７０４がサイズ調節される。その結果、ワークスペース１７１４に示すように、アプリケーションウィンドウ１７０４がアプリケーションウィンドウ１７０６から分離され、ジョイントディバイダが無効となり、このサイズ調節によって、遮蔽されていたアプリケーションウィンドウ１７１６が現れる。
【００８５】
[0084]  図１８は、ジョイントディバイダを備えたアプリケーションウィンドウのサイズ調節および適所配置を行う方法１８００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【００８６】
[0085]  １８０２においては、第１のアプリケーションウィンドウと第２のアプリケーションウィンドウとの間で共有されたジョイントディバイダをマルチアプリケーション環境に表示する。ジョイントディバイダの表示には、ジョイントディバイダの視覚的または触覚的指定の提供を含んでいてもよい。たとえば、ジョイントディバイダを共有するアプリケーションウィンドウの縁部間または縁部上には、視覚的指定を表示する。この代替または追加として、触覚的フィードバック（たとえば、凹凸または起伏）の使用により、ジョイントディバイダの存在を示すことができる。一例として、アプリケーションウィンドウ１９０２およびアプリケーションウィンドウ１９０４がジョイントディバイダ１９０６を共有している図１９のワークスペース１９００について考える。ここで、ジョイントディバイダ１９０６は、アプリケーションウィンドウ１９０２およびアプリケーションウィンドウ１９０４の接触縁部上で視覚的に指定されている。
【００８７】
[0086]  １８０４においては、ジョイントディバイダを介して、第１のアプリケーションウィンドウのサイズを大きくする入力を受け付ける。場合により、第１のアプリケーションウィンドウのサイズを大きくする入力は、第２のアプリケーションウィンドウへと向かう方向に第１のアプリケーションウィンドウのサイズを大きくすることを示していてもよい。このような場合は、ワークスペースの縁部に対する第２のウィンドウの位置に応じて、第２のアプリケーションのサイズ調節、移動、またはウィンドウのｚスタックのより深くへの格下げを入力が示していてもよい。たとえば、マルチアプリケーション環境の縁部に当接していないアプリケーションウィンドウは、サイズ調節ではなく移動が可能である。
【００８８】
[0087]  受け付けた入力には、カーソル移動、タッチ入力、または矢印キーを介して受け付けた方向性入力等、任意適当な種類の入力を含んでいてもよい。本例に関連して、図１９のワークスペース１９００に示すように、アプリケーションディバイダを介して方向性入力が受け付けられる。ここで、アプリケーションウィンドウ１９０４は、ワークスペース１９００の縁部に接触していないため、サイズ調節なく移動可能であることを留意されたい。
【００８９】
[0088]  １８０６においては、受け付けた入力に応答して、第１のアプリケーションウィンドウのサイズを大きくする。第１のアプリケーションウィンドウのサイズを大きくする間、第２のアプリケーションウィンドウを同時かつ効果的に動かして、第２のアプリケーションウィンドウのサイズを維持する。第２のアプリケーションウィンドウの移動は、マルチアプリケーション環境の縁部に達するまで継続するようになっていてもよい。本例の継続によって、アプリケーションウィンドウ１９０２のサイズが大きくなる一方、アプリケーションウィンドウ１９０４がワークスペース１９０８の縁部に向かって移動する。
【００９０】
[0089]  演算１８０８、１８１０、および１８１２は、任意選択であり、付加的な入力または第１のアプリケーションウィンドウのさらなるサイズ拡大に応答して実行されるようになっていてもよい。１８０８においては、第２のアプリケーションウィンドウの縁部がマルチアプリケーション環境の縁部に達したことに応答して、第２のアプリケーションウィンドウのサイズを小さくする。第２のアプリケーションウィンドウのサイズが小さくなる一方、第１のアプリケーションウィンドウは、サイズが拡大し続ける。第２のアプリケーションウィンドウのサイズは、最小ウィンドウサイズとなるまで縮小可能である。図１９に関連して、これをレイヤ図１９０８に示しているが、ジョイントディバイダ１９０６が継続的に移動することで、アプリケーションウィンドウ１９０２のサイズが大きくなる一方、アプリケーションウィンドウ１９０４のサイズは小さくなる。
【００９１】
[0090]  １８１０においては、第２のアプリケーションウィンドウのサイズが最小サイズとなったことに応答して、第１のアプリケーションウィンドウが第２のアプリケーションウィンドウに重なることを許可する。第２のアプリケーションウィンドウが最小サイズになると、第１のアプリケーションの先行縁部が第２のアプリケーションウィンドウに重なり始める。アプリケーションウィンドウの最小サイズは、アプリケーションユーザインターフェースと関連付けられたアプリケーション、オペレーティングシステム、またはユーザ入力によって規定可能である。本例の継続によって、レイヤ図１９１０に示すように、ジョイントディバイダ１９０６によってアプリケーションウィンドウ１９０４が最小サイズとなる。これに応答して、レイヤ図１９１２に示すように、アプリケーションウィンドウ１９０２の先行縁部がアプリケーションウィンドウ１９０４に重なり始める。
【００９２】
[0091]  １８１２においては、ジョイントディバイダがマルチアプリケーション環境の縁部に達したことに応答して、第２のアプリケーションウィンドウをマルチアプリケーション環境の別のレイヤに格下げする。場合によっては、アプリケーションウィンドウのｚスタックのより深くへと第２のアプリケーションウィンドウを押し込む。この代替または追加として、第２のアプリケーションウィンドウのサイズは、デフォルトのサイズまたは移動前のサイズに復元可能である。これは、第２のアプリケーションウィンドウの復元または切り替えをサイズ変更なく可能とするのに有効となり得る。本例の結論として、アプリケーションウィンドウ１９０４は、復元サイズにてワークスペースの次レイヤに格下げされる。このように、アプリケーションウィンドウ１９０４は、サイズ変更なく復元または切り替え可能である。
【００９３】
[0092]  また、ジョイントディバイダは、複数のアプリケーションウィンドウ間に設定されていてもよく、複雑なジョイントディバイダと称する場合がある。複数のアプリケーションウィンドウのサイズ調節または移動は、方法１４００または１８００に関して説明した演算により実現されるようになっていてもよい。一例として、複数のアプリケーションウィンドウ間に設定されたジョイントディバイダを示す例示的なワークスペース２０００および２００２を含む図２０について考える。ワークスペース２０００に関連して、互いに隣接するとともにジョイントディバイダ２００４を共有するアプリケーションウィンドウ２００６および２００８のサイズ調節は、ジョイントディバイダ２００４によって可能である。アプリケーションウィンドウ２００６、２００８、および２０１２の縁部間で共有されたジョイントディバイダ２０１０によれば、３つのアプリケーションウィンドウすべてのサイズ調節が可能である。
【００９４】
[0093]  この態様は、アプリケーションウィンドウ２０１４、２０１６、２０１８、および２０２０を具備するワークスペース２００２に示すように、４つのアプリケーションウィンドウに拡張可能である。この例においては、各ジョイントディバイダ２０２２、２０２４、２０２６、および２０２８によって、縁部を共有する隣接ウィンドウそれぞれのサイズ調節が可能である。たとえば、ジョイントディバイダ２０２２は、アプリケーションウィンドウ２０１４および２０１６のサイズ調節を行うが、アプリケーションウィンドウ２０１８および２０２０は対象外である。この代替または追加として、複数のウィンドウのサイズ調節を行う場合は、複数のウィンドウのうちの１つの最小サイズへのサイズ調節に応答して、ジョイントディバイダが分離または「解除」を行うようにしてもよい。
【００９５】
[0094]  また、複雑なジョイントディバイダの実現により、ウィンドウの独立性の維持または変更の特定ウィンドウへの局所化を図るようにしてもよい。たとえば、ジョイントディバイダを共有する３つの浮遊アプリケーションウィンドウを示した図２０のワークスペース２０３０、２０３２、および２０３４について考える。ここでは、アプリケーションウィンドウ２０３６、２０３８、および２０４０がジョイントディバイダ２０４２を共有している。ワークスペース２０３０に示すように、アプリケーションウィンドウ２０３６および２０４０が共有するジョイントディバイダ２０４２の一部を介して受け付けられた入力２０４４によって、これらのアプリケーションウィンドウはサイズ調節されるものの、アプリケーションウィンドウ２０３８は対象外である。この独立したサイズ調節の別の例をワークスペース２０３２に示しており、入力２０４６によるサイズ調節によって、アプリケーションウィンドウ２０４０がアプリケーションウィンドウ２０３６および２０３８上となる。あるいは、ワークスペース２０３４に示すように、アプリケーションウィンドウ２０３８および２０４０が共有するジョイントディバイダの一部を介して受け付けられた入力２０４８によって、これらのアプリケーションウィンドウのサイズ調節が可能である。
【００９６】
[0095]  また、ジョイントディバイダは、組み合わせて実現することにより、ジョイントコーナーを提供するようにしてもよい。ジョイントコーナーによれば、１つまたは２つの軸におけるアプリケーションウィンドウのサイズ調節が可能であるとともに、ジョイントコーナーを共有する少なくとも２つのアプリケーションウィンドウをサイズ調節することができる。図２０は、ワークスペース２１００および２１０２に示すように、コーナージョイントのさまざまな例を示している。ワークスペース２１００において、コーナージョイント２１０４は、アプリケーションウィンドウ２１０６、２１０８、２１１０、および２１１２を両軸にサイズ調節可能である。
【００９７】
[0096]  場合により、２つのアプリケーションウィンドウが隅部を共有し、共通の縁部を共有していない場合は、ジョイントコーナーを設定することができる。この一例をワークスペース２１０２で示しており、アプリケーションウィンドウ２１１４および２１１６が隅部で会合してジョイントコーナー２１１８を共有している。ここで、ジョイントコーナー２１１８は、アプリケーションウィンドウ２１１４および２１１６を両軸にサイズ調節可能である。ジョイントディバイダと同様に、ジョイントコーナーは、アプリケーションウィンドウサイズの最小化またはキー入力もしくはジョイントコーナーの一部ではない縁部からのアプリケーションウィンドウのドラッグ等のその他適当な入力に応答して無効化されるようになっていてもよい。
【００９８】
[0097]  ジョイントコーナーは、アプリケーションウィンドウの隅部が互いに接触または当接した如何なる時点においても設定可能である。ウィンドウマネージャ１３２は、個別ウィンドウの隅部または２つの隣接縁部を追跡することにより、ジョイントコーナーを設定または維持することができる。図２１に戻って、アプリケーションウィンドウ２１２２、２１２４、および２１２６を具備する例示的なワークスペース２１２０について考える。これらの各ウィンドウは、それぞれの縁部のうちの２つが会合する隅部を含む。ここで、ウィンドウマネージャ１３２は、縁部２１２８、２１３０、および２１３２を追跡して、これらアプリケーションウィンドウのジョイントコーナーを設定または維持する。
【００９９】
[0098]  また、ウィンドウマネージャ１３２は、個々のアプリケーションウィンドウの縁部を追跡して、ジョイントディバイダを設定または維持するようにしてもよい。一例として、ワークスペース２２００がアプリケーションウィンドウ２２０２および２２０４を具備する図２２について考える。アプリケーションウィンドウ２２０２および２２０４は、ジョイントディバイダ２２０６を共有しているため、ジョイントディバイダを介して受け付けた入力によってサイズ調節可能である。サイズ調節またはジョイントディバイダの他の操作を可能にするため、ウィンドウマネージャ１３２は、依存性チェーンを構築することにより、アプリケーションウィンドウの個々の縁部を追跡することができる。
【０１００】
[0099]  図２２に関連して、詳細図２２０８に示すように、ジョイントディバイダ２２０６は、アプリケーションウィンドウ２２０２の縁部２２１０およびアプリケーションウィンドウ２２０４の縁部２２１２を含む。ここで、カーソル２２１４は、アプリケーションウィンドウ２２０４の縁部２２１２上でホバリングしており、ウィンドウマネージャ１３２は、縁部２２１２およびカーソル２２１４の位置に関する依存性チェーンを構築可能である。縁部２２１２を起点として、ウィンドウマネージャは、縁部２２１２と接触しているアプリケーションウィンドウの他の縁部を決定する。ここで、縁部２２１０は、詳細図２２１６に示すように、縁部２２１２に接触しているものと決定されるため、ジョイントディバイダ２２０６の影響を受ける。
【０１０１】
[0100]  上記の代替または追加として、ジョイントディバイダの操作を行う場合は、非隣接縁部が無視されるようになっていてもよい。たとえば、詳細図２２１８において、ウィンドウマネージャ１３２は、アプリケーションウィンドウ２２２０および２２２２の縁部が縁部２２１２に接触しているものと判定する。ただし、アプリケーションウィンドウ２２２４の縁部は、アプリケーションウィンドウ２２２６が介在することにより、縁部２２１２に接触しないものと判定され、無視されるようになっていてもよい。また、詳細図２２２８に示すように、アプリケーションウィンドウ２２２６は、縁部２２１２に接触しないものと判定され、ジョイントディバイダの操作において無視されるようになっていてもよい。
【０１０２】
[0101]  図２３は、詳細図２３００において縁部依存性の一例をさらに示しており、アプリケーションウィンドウ２３０４の縁部２３０２は、アプリケーションウィンドウ２３０８の縁部２３０６に接触するものと判定される。アプリケーションウィンドウ２３０４により、ウィンドウマネージャ１３２は、縁部依存性チェーンにおける次のアプリケーションウィンドウの観点から、接触を判定することができる。ここで、アプリケーションウィンドウ２３１２の縁部２３１０は、アプリケーションウィンドウ２３０８の縁部２３０６に接触するものと判定される。詳細図２３１４において、入力２３１６により開始されるサイズ操作は、依存性チェーンを通って伝搬し、これに応じて、接触するアプリケーションウィンドウそれぞれのサイズ調節または移動が行われる。
【０１０３】
アプリケーションウィンドウの補助的表示
[0102]  図２４は、選択可能なアプリケーションウィンドウをマルチアプリケーション環境の有効領域に表示する方法２４００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【０１０４】
[0103]  ２４０２においては、アプリケーションウィンドウの視覚的表現をマルチアプリケーション環境の有効領域に表示する。視覚的表現は、サイズ調節によって有効領域を完全に占有可能なアプリケーションウィンドウ等、有効エリアでの表示に選択可能または適当なアプリケーションウィンドウに対応する。アプリケーションウィンドウの視覚的表現としては、テキスト、アイコン、またはサムネイル画像等のアプリケーションウィンドウの縮小画像が挙げられる。これらの縮小画像は、アプリケーションウィンドウのコンテンツまたは過去に表示されたコンテンツのプレビューを視覚的に示していてもよい。
【０１０５】
[0104]  いくつかの実施形態において、アプリケーションウィンドウの視覚的表現は、有効領域におけるプロンプトまたは他のアプリケーション選択インターフェースを介して表示される。場合により、視覚的表現は、固定操作による他のアプリケーションウィンドウの四分エリアまたは二分エリアでの表示等、マルチアプリケーション環境の別の領域での別のアプリケーションの表示に応答して表示される。他の場合には、プロンプトまたはアプリケーション選択インターフェースを呼び出すコントロール等のアプリケーション選択コントロールを介して受け付けられた入力に応答して視覚的表現が表示される。アプリケーション選択コントロールは、有効エリアの縁部に沿って近くのホバリング領域またはグラフィカルタブとして実現されていてもよい。
【０１０６】
[0105]  また、アプリケーション選択コントロールは、マルチアプリケーション環境の縁部領域に「進入」するカーソル移動または他の入力に応答して表示されるようになっていてもよい。進入移動としては、二重進入移動またはワークスペースもしくは画面エリアの距離にわたる移動が挙げられる。場合によっては、特定の基準を用いた進入移動の検出により、縁部との不慮の接触（たとえば、スクロールバーのスクロール）を進入移動として認識しないようにする。たとえば、カーソルの移動が縁部領域またはそのすぐ内側で停止になると、縁部領域へのさらなる次の「進入」（たとえば、二重進入）によって、アプリケーション選択コントロールを呼び出すことができる。あるいは、カーソルが縁部領域を離れる場合、停止の長さが所定の閾値を満たさない場合、またはカーソルが停止せずに縁部領域を通って移動し続ける場合には、アプリケーション選択コントロールが呼び出されないようになっていてもよい。
【０１０７】
[0106]  いくつかの実施形態においては、縁部領域に達する前のカーソルの移動についても考えられる。カーソル移動の垂直および水平成分の追跡によって、カーソルがワークスペースを横切って十分に走行したか、十分な角度で縁部領域に進入したかを判定するようにしてもよい。一例として、水平方向の縁部に達した場合、アプリケーション選択コントロールは、カーソルが少なくとも垂直方向に１５０画素を走行し、縁部領域において水平方向よりも垂直方向に多く移動したとの判定に応答して呼び出し可能である。カーソルが縁部領域において垂直方向よりも水平方向に多く移動したとの判定等により、同様の基準が垂直方向の縁部領域に適用されるようになっていてもよい。この代替または追加として、これらの基準が満たされることに応答してアプリケーション選択コントロールの表示の呼び出しまたは起動を行うように構成された状態機械により、カーソル移動または他の入力が追跡可能である。
【０１０８】
[0107]  一例として、マルチアプリケーション環境の例示的なワークスペース２５００を示した図２５について考える。ワークスペース２５００は、アプリケーションウィンドウ２５０２、有効領域２５０４、およびタスクバー２５０６を具備する。この特定例においては、アプリケーション選択プロンプト２５０８が有効領域２５０４に表示され、これは、アプリケーション選択コントロール２５１０も含む。また、アプリケーション選択コントロール２５１０のより詳細な図を２５１２に示すが、これは、退避コントロール２５１４を含む。
【０１０９】
[0108]  アプリケーション選択コントロール２５１０は、有効領域２５０４の縁部に沿ったホバリング領域として実現されており、カーソル２５１６との近接（または、タッチ入力）に応答して現れる。ホバリング領域は、ワークスペースの縁部に沿った１０〜２５画素等、所定の幅または面積を有していてもよい。アプリケーション選択コントロール２５１０によれば、ユーザは、アプリケーション選択プロンプト２５０８の起動または呼び出しを行うことができ、これにより、ユーザに対して、すべてのアクティブなアプリケーションウィンドウが状況的に表示され得る。この代替または追加として、退避コントロール２４１５によれば、アプリケーション選択プロンプト２５０８を一時的にまたはカーソルまたは他の入力との次の近接まで退避（または、非表示化）可能である。ここで、ユーザがアプリケーション選択コントロール２５１０をタップしてアプリケーション選択プロンプト２５０８を呼び出したものと仮定する。この入力に応答して、アプリケーション選択プロンプト２５０８が表示されるが、これには、ユーザがアクセスした最も新しいアプリケーションウィンドウの視覚的表現（たとえば、サムネイル画像）が含まれる。
【０１１０】
[0109]  上記の代替または追加として、アプリケーションウィンドウの視覚的表現は、マルチアプリケーション環境の別の領域における別のアプリケーションウィンドウの表示に応答して表示されるようになっていてもよい。これは、有効領域に対してアプリケーションウィンドウのうちの１つをユーザが容易に選択できるようにして、マルチアプリケーション環境のアプリケーションウィンドウのレイアウトを完了するのに有効となり得る。
【０１１１】
[0110]  この一例を図２５のワークスペース２５１８に示しており、エッジトリガ２５２０は、アプリケーションウィンドウ２５２２を介して受け付けられる。エッジトリガ２５２０がアプリケーションウィンドウ２５２２をワークスペース２５１８の縁部に二分固定するため、アプリケーションウィンドウ２５２２は、二分固定領域に表示される。この例は、ほんの一例に過ぎず、縁部に対応する所定エリアへのアプリケーションウィンドウの表示または「固定」に対して、エッジトリガまたは縁部との他の接触が有効となり得る。ここでは、アプリケーションウィンドウ２５２２の二分固定操作の前に、非固定（たとえば、浮遊）アプリケーションウィンドウ２５２４の一部が遮蔽されることを留意されたい。二分固定領域におけるアプリケーションウィンドウ２５２２の表示に応答して、非固定アプリケーションウィンドウ２５２４に対応する視覚的表現２５２８がアプリケーション選択プロンプト２５２８に表示される。
【０１１２】
[0111]  ２４０４においては、アプリケーションウィンドウのうちの１つを有効領域に表示する。アプリケーションウィンドウは、視覚的表現のうちの対応する１つを選択する入力の受け付けに応答して表示する。場合により、視覚的表現を選択する入力は、アプリケーション管理ＵＩ、スタートメニュー、またはキーベースのアプリケーションスイッチャ（たとえば、ALT+Tabキー）等、他のアプリケーション選択ユーザインターフェースを介して受け付ける。
【０１１３】
[0112]  アプリケーションウィンドウは、有効領域を適充または完全占有するようにサイズ調節および適所配置がなされる。アプリケーションウィンドウの表示に先立って、アプリケーションウィンドウのプレビューの表示により、有効領域内のアプリケーションウィンドウのサイズおよび位置を視覚的に表示するようにしてもよい。図２５およびワークスペース２５００に関連して、電子メールアプリケーションタイル２５３０をタップしているユーザは、対応する電子メールアプリケーションによって、有効領域２５０４を満たすことになる。このように、ユーザは、１回のタップ入力のみでワークスペースのレイアウトを最適化できて便利である。
【０１１４】
[0113]  図２６は、アプリケーションウィンドウを表示するマルチアプリケーション環境の有効領域を識別する方法２６００を示しており、ウィンドウマネージャ１３２またはマルチアプリケーション環境モジュール１１８により実行される演算を含む。以下の説明の一部においては、図１のシステム１００、図２の動作環境２００、ならびに本明細書の他の部分に記載の他の方法および例示的な実施形態を参照する場合があるものの、この参照は一例に過ぎない。
【０１１５】
[0114]  ２６０２においては、マルチアプリケーション環境の有効領域を識別する。有効領域としては、ワークスペースまたは画面の矩形領域等、アプリケーションインターフェースを表示できる任意適当な領域が挙げられる。有効領域の識別は、マルチアプリケーション環境の別の領域における別のアプリケーションウィンドウの表示に応答して行うことができる。この別のアプリケーションウィンドウは、固定操作、動的ジョイントディバイダを介したサイズ調節、または領域ベースのサイズ調節等、任意適当な操作によって別の領域に表示することができる。場合によっては、非遮蔽ウィンドウまたはアプリケーションウィンドウによって完全に占有可能な領域を含まない領域として、有効領域を識別する。この代替または追加としては、マルチアプリケーション環境の最上位または最高位（たとえば、zスタックの一番上）のレイヤに関して、有効領域を識別する。
【０１１６】
[0115]  ワークスペース２７００が２７０２で大略表示され、アプリケーションウィンドウ２７０２、２７０４、２７０６、および２７０８を具備しており、後者３つの一部がアプリケーションウィンドウ２７０２により遮蔽された図２７について考える。ここでは、アプリケーションウィンドウ２７０２を介して二分固定エッジトリガ２７１０が受け付けられた後、２７１２で示すように、ワークスペース２７００の右側二分部に固定されるものと仮定する。この固定操作に応答して、ウィンドウマネージャ１３２は、ワークスペース２７００の左側二分部を有効領域２７１４として識別する。
【０１１７】
[0116]  任意選択により、２６０４においては、有効領域での表示用に選択可能なアプリケーションウィンドウを決定する。これらのアプリケーションウィンドウとしては、遮蔽されたアプリケーションウィンドウ、部分的に遮蔽されたアプリケーションウィンドウ、最小化されたアプリケーションウィンドウ、または別のアクティブもしくは開展アプリケーションウィンドウとグループ化されたアプリケーションウィンドウ等、任意適当なアプリケーションウィンドウが挙げられる。また、選択候補のアプリケーションウィンドウは、有効領域を満たすようにサイズ調節可能であってもよいため、固定サイズのアプリケーションウィンドウおよび他の領域に固定されたアプリケーションウィンドウは除外可能である。
【０１１８】
[0117]  ２６０６においては、アプリケーションウィンドウの視覚的表現を有効領域に表示する。これらのアプリケーションウィンドウには、有効領域での表示用に選択可能なアプリケーションウィンドウを含む。アプリケーションウィンドウの視覚的表現としては、テキスト、アイコン、またはサムネイル画像等のアプリケーションウィンドウの縮小画像が挙げられる。これらの縮小画像は、アプリケーションウィンドウのコンテンツまたは過去に表示されたコンテンツのプレビューを視覚的に示していてもよい。本例に関連して、２７１２で示すように、ウィンドウマネージャ１３２は、縮小画像等、アプリケーションウィンドウ２７０４、２７０６、および２７０８の視覚的表現をワークスペース２７００の有効領域２７１４に表示する。
【０１１９】
[0118]  上記の代替または追加として、アプリケーションウィンドウの視覚的表現の順序またはレイアウトが決定される。この順序またはレイアウトは、最頻使用、最新使用、名称、タイトル、サイズ、ｚスタック位置、または別のアクティブもしくは開展アプリケーションウィンドウとのグループ化等、アプリケーションウィンドウの任意の特質または特性に基づいて決定されるようになっていてもよい。
【０１２０】
[0119]  ２６０８においては、視覚的表現のうちの対応する１つを介して、アプリケーションウィンドウのうちの１つを選択する入力を受け付ける。入力には、カーソル入力、ジェスチャ入力、またはタッチ入力等、任意適当な入力を含んでいてもよい。場合により、タッチ入力には、タップまたは有効領域への四分固定もしくは二分固定を含む。本例の継続により、アプリケーションウィンドウ２７０６の視覚的表現を介して、四分固定トリガ２７１６を受け付ける。
【０１２１】
[0120]  ２６１０においては、選択したアプリケーションウィンドウを有効領域の少なくとも一部に表示する。アプリケーションウィンドウは、有効領域を適充または完全占有するようにサイズ調節および適所配置がなされる。アプリケーションウィンドウの表示に先立って、アプリケーションウィンドウのプレビューの表示により、有効領域内のアプリケーションウィンドウのサイズおよび位置を視覚的に表示するようにしてもよい。任意選択により、方法２６００の演算は、反復的な実行によって、マルチアプリケーション環境の他の有効領域を満たすようにしてもよい。こうすることにより、アプリケーションウィンドウの最適なレイアウトを最小限のユーザ相互作用で提供することができる。
【０１２２】
[0121]  いくつかの実施形態においては、ユーザ入力を伴わずに、ユーザに対してアプリケーションウィンドウが選択され、有効領域に表示されるようになっていてもよい。たとえば、アプリケーションウィンドウが別の領域の別のアプリケーションウィンドウと対になっている場合は、この別の領域の別のアプリケーションウィンドウの表示に応答して、その対のアプリケーションウィンドウを表示可能である。また、アプリケーションウィンドウは、最新使用または最頻使用のアプリケーションウィンドウ等、表示用に選択可能なアプリケーションの決定に用いられる基準に基づいて、自動的に選択されるようになっていてもよい。
【０１２３】
[0122]  本例の継続によって、ウィンドウマネージャ１３２は、アプリケーションウィンドウ２７０６のサイズ調節および適所配置により、２７１８で示すように、ワークスペース２７００の四分部を満たす。さらに、その後ウィンドウマネージャ１３２は、アプリケーションウィンドウ２７０４および２７０８の視覚的表現を表示するワークスペース２７００の有効領域２７２０を識別するようにしてもよい。ここでは、アプリケーションウィンドウ２７０８の視覚的表現を介して、タップ入力２７２２が受け付けられるものと仮定する。これに応答して、ウィンドウマネージャ１３２は、アプリケーションウィンドウ２７０８のサイズ調節および適所配置により、２７２４で示すように、ワークスペース２７００の四分領域を満たす。このように、３つの入力例のみで、アプリケーションウィンドウのレイアウトがワークスペース２７００にもたらされている。
【０１２４】
[0123]  これらの方法の態様は、ハードウェア（たとえば、固定論理回路）、ファームウェア、システムオンチップ（SoC）、ソフトウェア、手動処理、またはこれらの任意の組み合わせにおいて実装されていてもよい。ソフトウェア実装は、ソフトウェア、アプリケーション、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造、手順、モジュール、機能等、コンピュータプロセッサにより実行された場合に特定のタスクを実行するプログラムコードを表す。プログラムコードは、コンピュータプロセッサのローカルおよび／またはリモート両者の１つまたは複数のコンピュータ可読メモリデバイスに格納可能である。また、これらの方法は、複数のコンピュータ機器による分散コンピュータ環境においても実現し得る。
【０１２５】
例示的な機器
[0124]  図２８は、上記図１〜図２８を参照して説明した任意の種類のクライアント、サーバ、および／またはコンピュータ機器として実装することにより、アプリケーションウィンドウの補助的表示を可能にする技術を実現できる例示的な機器２８００のさまざまな構成要素を示している。実施形態において、機器２８００は、テレビクライアント機器（たとえば、テレビセットトップボックス、デジタルビデオレコーダ（DVR）等）、家庭用機器、コンピュータ機器、サーバ機器、携帯用コンピュータ機器、ユーザ機器、通信機器、ビデオ処理および／もしくはレンダリング機器、家電機器、ゲーム機、電子機器、ならびに／または別の種類の機器の形態で、有線および／または無線機器の一方または組み合わせとして実装可能である。また、機器２８００は、ユーザ、ソフトウェア、ファームウェア、および／または機器の組み合わせを含む論理デバイスを記述するように当該機器を動作させるユーザ（たとえば、人間）および／または実体と関連付けられていてもよい。
【０１２６】
[0125]  機器２８００は、機器データ２８０４（たとえば、受信データ、受信中データ、ブロードキャスト予定のデータ、データのデータパケット等）の有線および／または無線通信を可能にする通信機器２８０２を具備する。機器データ２８０４または他の機器コンテンツとしては、機器の構成設定、機器に格納されたメディアコンテンツ、および／または機器のユーザと関連付けられた情報が挙げられる。機器２８００に格納されたメディアコンテンツとしては、任意の種類の音声、映像、および／または画像データが挙げられる。機器２８００は、ユーザが選択可能な入力、メッセージ、楽曲、テレビメディアコンテンツ、記録した映像コンテンツ、ならびに任意のコンテンツおよび／もしくはデータ源から受信したその他任意の種類の音声、映像、および／もしくは画像データ等、任意の種類のデータ、メディアコンテンツ、および／または入力を受信可能なものを介して１つまたは複数のデータ入力２８０６を具備する。
【０１２７】
[0126]  また、機器２８００は、シリアルおよび／もしくはパラレルインターフェース、無線インターフェース、任意の種類のネットワークインターフェース、モデムのうちの任意の１つもしくは複数、ならびにその他任意の種類の通信インターフェースとして実装可能な通信インターフェース２８０８を具備する。通信インターフェース２８０８は、他の電子機器、コンピュータ機器、および通信機器が機器２８００とデータをやり取りする機器２８００と通信ネットワークとの間の接続および／または通信リンクを提供する。
【０１２８】
[0127]  機器２８００は、さまざまなコンピュータ実行可能命令を処理して当該機器２８００の動作を制御するとともに、マルチアプリケーション環境を可能にする技術を有効化する１つまたは複数のプロセッサ２８１０（たとえば、マイクロプロセッサ、コントローラ等のいずれか）を具備する。この代替または追加として、機器２８００は、２８１２で大略特定される処理および制御回路との関連で実装されるハードウェア、ファームウェア、または固定論理回路のいずれか１つまたは組み合わせにて実装可能である。図示はしていないが、機器２８００は、機器内のさまざまな構成要素を結合するシステムバスまたはデータ転送システムを具備し得る。システムバスとしては、メモリバスもしくはメモリコントローラ、周辺機器用バス、ユニバーサルシリアルバス、ならびに／または多様なバスアーキテクチャのいずれかを利用するプロセッサもしくはローカルバス等、さまざまなバス構造のいずれか１つまたは組み合わせが挙げられる。
【０１２９】
[0128]  また、機器２８００は、ランダムアクセスメモリ（RAM）、不揮発性メモリ（たとえば、リードオンリーメモリ（ROM）、フラッシュメモリ、ＥＰＲＯＭ、ＥＥＰＲＯＭ等のうちの任意の１つまたは複数）、およびディスク記憶装置等を一例として、永続的および／または持続的なデータ記憶（すなわち、単なる信号伝送の対照）を可能にする１つまたは複数のメモリデバイス等のコンピュータ可読記憶媒体２８１４を具備する。ディスク記憶装置は、ハードディスクドライブ、記録および／または書き換え可能なコンパクトディスク（CD）、任意の種類のデジタル多用途ディスク（DVD）等、任意の種類の磁気または光学記憶装置として実装されていてもよい。また、機器２８００は、大容量記憶媒体装置２８１６を具備し得る。
【０１３０】
[0129]  コンピュータ可読記憶媒体２８１４は、機器データ２８０４のほか、さまざまな機器アプリケーション２８１８ならびに機器２８００の動作態様と関連するその他任意の種類の情報および／もしくはデータを格納するデータ記憶機構を提供する。たとえば、コンピュータ可読記憶媒体２８１４によって、オペレーティングシステム２８２０をコンピュータアプリケーションとして維持するとともに、プロセッサ２８１０上で実行することができる。機器アプリケーション２８１８としては、任意の形態の制御アプリケーション、ソフトウェアアプリケーション、信号処理および制御モジュール、特定の機器に由来するコード、特定の機器のハードウェア抽象化レイヤ等の機器マネージャが挙げられる。
【０１３１】
[0130]  また、機器アプリケーション２８１８は、マルチアプリケーション環境モジュール１１８、システムインターフェースモジュール１２０、入力モジュール１２２、アプリケーション１２４、アプリケーションマネージャ１２８、およびウィンドウマネージャ１３２を具備する機器アプリケーション２８１８等、本技術を実現する任意のシステムコンポーネントまたはモジュールを具備する。
【０１３２】
結論
[0131]  特徴および／または方法に特有の表現にて、アプリケーションウィンドウの補助的表示を可能にする技術および装置の実施形態を説明したが、添付の特許請求の範囲の主題は、必ずしも上記特定の特徴または方法に限定されないことが了解されるものとする。むしろ、上記特定の特徴および方法は、アプリケーションウィンドウの補助的表示を可能にする例示的な実施態様として開示している。
【図１】
2017527882.tif 000003
【図２】
2017527882.tif 000004
【図３】
2017527882.tif 000005
【図４】
2017527882.tif 000006
【図５】
2017527882.tif 000007
【図６】
2017527882.tif 000008
【図７】
2017527882.tif 000009
【図８】
2017527882.tif 000010
【図９】
2017527882.tif 000011
【図１０】
2017527882.tif 000012
【図１１】
2017527882.tif 000013
【図１２】
2017527882.tif 000014
【図１３】
2017527882.tif 000015
【図１４】
2017527882.tif 000016
【図１５】
2017527882.tif 000017
【図１６】
2017527882.tif 000018
【図１７】
2017527882.tif 000019
【図１８】
2017527882.tif 000020
【図１９】
2017527882.tif 000021
【図２０】
2017527882.tif 000022
【図２１】
2017527882.tif 000023
【図２２】
2017527882.tif 000024
【図２３】
2017527882.tif 000025
【図２４】
2017527882.tif 000026
【図２５】
2017527882.tif 000027
【図２６】
2017527882.tif 000028
【図２７】
2017527882.tif 000029
【図２８】
2017527882.tif 000030
【手続補正書】
【提出日】平成28年3月15日(2016.3.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
非遮蔽ウィンドウを含まず、アプリケーションウィンドウによって完全に占有可能なマルチアプリケーション環境であって、アプリケーションウィンドウを表示する複数の領域を有するマルチアプリケーション環境の有効領域に表示する前記アプリケーションウィンドウを選択可能なコンピュータ実装方法であって、
別のアプリケーションウィンドウを前記マルチアプリケーション環境の別の領域に表示するステップと、
前記マルチアプリケーション環境の前記別の領域における前記別のアプリケーションウィンドウの表示に応答して、前記マルチアプリケーション環境の前記有効領域を識別するステップ（２６０２）と、
前記有効領域での表示用に選択可能なアプリケーションウィンドウの視覚的表現を前記有効領域に表示するステップ（２６０６）と、
前記視覚的表現のうちの１つを介して、前記有効領域での表示用の対応するアプリケーションウィンドウの選択を受け付けるステップ（２６０８）と、
前記選択の受け付けに応答して、前記選択されたアプリケーションウィンドウを前記マルチアプリケーション環境の前記有効領域の少なくとも一部に表示するステップ（２６１０）と、
を含む、コンピュータ実装方法。
【請求項２】
前記アプリケーションウィンドウの前記視覚的表現を介して受け付けた前記選択が、前記有効領域を選択する入力または前記有効領域の縁部を選択する入力を含む、請求項１に記載のコンピュータ実装方法。
【請求項３】
前記有効領域の前記縁部を選択する前記入力が、前記有効領域の少なくとも一部と重なる前記マルチアプリケーション環境の所定エリアの選択を示す、請求項２に記載のコンピュータ実装方法。
【請求項４】
前記選択されたアプリケーションウィンドウのサイズまたは位置を変更して、前記マルチアプリケーション環境の前記所定エリアを完全に占有するステップをさらに含む、請求項３に記載のコンピュータ実装方法。
【請求項５】
固定サイズのアプリケーションウィンドウ、
前記有効領域よりも大きな最小サイズ選好をそれぞれ有するアプリケーションウィンドウ、または
前記マルチアプリケーション環境の他の領域を占有するアプリケーションウィンドウ、
を除外することによって、前記アプリケーションウィンドウのいずれを選択可能であるかを決定するステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項６】
前記アプリケーションウィンドウの前記視覚的表現を表示する順序またはレイアウトを決定するステップであり、前記順序またはレイアウトが、最頻使用、最新使用、または前記アプリケーションウィンドウの名称に基づいて決定される、ステップをさらに含む、請求項１に記載のコンピュータ実装方法。
【請求項７】
選択可能な前記アプリケーションウィンドウが、
可視アプリケーションウィンドウ、
最小化されたアプリケーションウィンドウ、
部分的に遮蔽されたアプリケーションウィンドウ、
遮蔽されたアプリケーションウィンドウ、または
前記マルチアプリケーション環境の別の領域を完全には占有していないアプリケーションウィンドウ、
のうちの１つを含む、請求項１に記載のコンピュータ実装方法。
【請求項８】
前記マルチアプリケーション環境が、前記アプリケーションウィンドウを１つまたは複数のレイヤに表示するウィンドウイング環境である、請求項１に記載のコンピュータ実装方法。
【請求項９】
マルチアプリケーション環境を表示するように構成されたディスプレイ（１３４）と、
１つまたは複数のプロセッサ（１１２）と、
前記１つまたは複数のプロセッサ（１１２）による実行に応答して、
非遮蔽ウィンドウを含まず、アプリケーションウィンドウによって完全に占有可能な前記マルチアプリケーション環境であり、複数の領域を有する前記マルチアプリケーション環境の有効領域での表示用に選択可能なアプリケーションウィンドウの視覚的表現を前記有効領域に表示することと、
前記視覚的表現のうちの対応する１つを選択する受け付け入力に応答して、前記マルチアプリケーション環境の前記有効領域に前記アプリケーションウィンドウのうちの１つを表示することと、
を含み、
前記アプリケーションウィンドウの前記視覚的表現が、前記マルチアプリケーション環境の別の領域における別のアプリケーションウィンドウの表示に応答して表示される、演算を前記１つまたは複数のプロセッサ（１１２）に行わせるプロセッサ実行可能命令を格納した１つまたは複数のコンピュータ可読媒体（１１４）と、
を備えた、システム（１００）。
【請求項１０】
前記アプリケーションウィンドウの前記視覚的表現が、前記有効領域での表示、前記有効領域の隅部での表示、または前記有効領域の縁部に沿った表示がなされたアプリケーション選択コントロールを介した入力の受け付けに応答して表示される、請求項９に記載のシステム。
【請求項１１】
前記演算が、
前記有効領域の空間が前記非遮蔽アプリケーションウィンドウによって占有されていないと判定するか、
前記有効領域または前記有効領域に対応する所定エリアが別のアプリケーションウィンドウによって完全には占有されていないと判定するか、または
前記有効領域の前記空間が前記アプリケーションウィンドウのうちの１つによって満たし得ると判定する、
ことによって、前記マルチアプリケーション環境の前記有効領域を識別することをさらに含む、請求項９に記載のシステム。
【請求項１２】
前記アプリケーションウィンドウの前記視覚的表現が、前記マルチアプリケーション環境の前記有効領域を識別することに応答して表示される、請求項１１に記載のシステム。
【請求項１３】
前記演算が、前記アプリケーションウィンドウの前記視覚的表現が表示される順序またはレイアウトを決定することであり、前記順序またはレイアウトが、最頻使用、最新使用、または前記アプリケーションウィンドウの名称に基づいて決定される、ことをさらに含む、請求項９に記載のシステム。
【請求項１４】
前記アプリケーションウィンドウの前記視覚的表現のうちの少なくとも１つが、前記アプリケーションウィンドウのテキスト、アイコン、または画像を含む、請求項９に記載のシステム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００２
【補正方法】変更
【補正の内容】
【０００２】
[0002]  従来のオペレーティングシステムにおいて、ユーザは、ウィンドウによって複数のコンピュータアプリケーションを見ることができる。一般的に、これらのウィンドウはそれぞれ、いずれを最上位とするかの選択またはワークスペースおよび他のウィンドウに対する当該ウィンドウの配置の移動、サイズ調節、あるいは管理を行うフレームまたはコントロールを具備する。ただし、これらのフレームまたはコントロールでは、選択中のウィンドウの移動またはサイズ調節のみが可能であることが多いため、ウィンドウ間の意図せぬ遮蔽および重畳を生じる可能性がある。また、複数のウィンドウの移動またはサイズ調節において、ユーザは、各ウィンドウを望み通りに反復して移動またはサイズ調節するため、一連の冗長なタスクを行うことが必要となる場合が多い。このため、複数のウィンドウのレイアウトをこのように管理するのは、過度に複雑で時間が掛かり、ユーザにとって厄介なこととなり得る。
ＥＰ２６６２７６１は、スクリーン上に複数の表示ウィンドウを表示する方法が開示されている。この表示する方法は、前記スクリーン上に第１の表示ウィンドウを表示するステップと、前記第１の表示ウィンドウに含まれるオブジェクトを選択するユーザ入力を受け取るステップと、ユーザ入力に応答して前記第１の表示ウィンドウの表示モードにマッチングするアプリケーションのリストを表示するステップと、前記表示モードにおいてリストから選択されたアプリケーションの実行結果を含む第２の表示ウィンドウを表示するステップと、を含む。
【国際調査報告】
2017527882.tif 000031
2017527882.tif 000032