ログイン
編集不可のページディスカッション情報添付ファイル
"clear/wm_devel/2013-01-14"の差分

MMA
3と4のリビジョン間の差分
2013-01-26 14:16:19時点のリビジョン3
サイズ: 3986
編集者: clear
コメント:
2013-03-13 23:22:54時点のリビジョン4
サイズ: 3880
編集者: clear
コメント: 全面的に書きなおし
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
仮想デスクトップ 仮想デスクトップまとめ
行 3: 行 3:
== 方式 ==
仮想デスクトップはその実現方法から3つに大別される。
 1. よくあるやつ
  一番素直なタイプの仮想デスクトップでは、物理的な画面と同じサイズの仮想的なデスクトップを複数枚(2枚以上)用意する。
 1. virtual root型
  物理的な画面サイズより大きな仮想的デスクトップ(巨大なウィンドウを1つ作ってルートウィンドウのように扱うことが多い)を1つだけ用意し、常にその一部が画面に表示されていると考える。大きな仮想デスクトップの中で表示領域をスクロールしながら使う。vtwm系とかはこれ。
 1. タグ型
  仮想的な画面を用意するのではなく、ウィンドウの属性としてタグと呼ばれる集合を用意しておいて、タグごとにウィンドウを表示する。1つのウィンドウに複数のタグを設定しておくことで、ウィンドウが複数の仮想デスクトップに表示される(いわゆるstickyなウィンドウ)ようにするのが容易(他の方法でも可能)。dwmなどのタイル型WMに多い。
= 仮想デスクトップとは =
'''実画面の大きさ以上の'''領域を仮想的に使用できるようにする機能のこと。
 * マルチディスプレイの場合、「実画面の大きさ」は全てのディスプレイの大きさの和<<FootNote(正確には、各画面を並べたときに外接す
る四角形の大きさ。ディスプレイの大きさが不揃いな場合、「実画面の大きさ」に含まれるが実際には画面が存在しないデッドスペースが発生する)>>
行 12: 行 8:
== 仮想デスクトップの状態を把握する方法 ==
現在どの仮想デスクトップを表示しているのか、あるいはどの仮想デスクトップにウィンドウがあるのかを表示しておく場合の方法。
 1. タスクバー
  仮想デスクトップを採用している場合、ウィンドウ一覧に加えて仮想デスクトップの一覧が表示してあり、タスクバー上をクリックすることで仮想デスクトップを切り替えられるようになっていることが多い。
 1. ページャ
  仮想デスクトップの全体図とその中のウィンドウ配置を縮小して表示したもの。ページャ上のウィンドウをドラッグするとウィンドウ自体が動く、というようになっている場合が多い。virtual root型の仮想デスクトップではほぼ必須で、表示領域のスクロールもページャを用いて行う。
 1. 複合型
  タスクバー上にページャが乗る。GNOME2などのDEはこれを備えていることが多い。
= 実現方法 =
大別して2つある(名称は便宜上適当につけた)。
== 仮想ルートウィンドウ(virtual root)型 ==
実画面よりも大きいサイズのウィンドウを作成し、これを仮想的なルートウィンドウ(virtual root)とする。仮想ルートウィンドウ内をスク
ロールすることによって、実画面より大きな領域を利用する。
行 21: 行 14:
== マルチディスプレイとの兼ね合い ==
マルチディスプレイ環境では仮想デスクトップをどのように表示するかという問題が生まれる。
このタイプの仮想デスクトップではほとんどの場合ページャと呼ばれるツールが用いられる。これは仮想デスクトップを縮小図にして表示す
るもので、全体のうちどの部分が現在表示されているのか、あるいはどこにウィンドウがあるのか、という情報を矩形で表すようになってい
る。また、ページャ内の矩形をドラッグすることで、実際に画面がスクロールしたりウィンドウが移動したりする。ページャ自体は画面に対
して常に同じ位置に存在する(こういうウィンドウをstickyなウィンドウという)ようになっている。
行 24: 行 19:
virtual root型の場合は単純で、各物理画面ごとに大きな仮想デスクトップの一部(別々でも良い)を表示すれば良い。 == デスクトップ集合型 ==
仮想デスクトップの集合を用意し、各ウィンドウごとにどの仮想デスクトップに属しているかの情報を持たせる。さらに現在の仮想デスクトップを状態として保持し、現在の仮想デスクトップに存在するウィンドウを表示する。仮想デスクトップの遷移は、遷移元のウィンドウを隠して遷移先のウィンドウを表示することで行う。
行 26: 行 22:
よくあるタイプとタグ型(この2つは実現方法こそ違えど見た目はほとんど同じになる)の場合いくつかやり方がある。ここではデュアルディスプレイ、仮想デスクトップ4つの状況を考える。
 1. 各物理画面ごとに仮想デスクトップの集合を持つ
  それぞれのディスプレイに独立した仮想デスクトップの集合を持たせる。すなわち、仮想デスクトップの総数は4*2=8となる。あまり考えずに実装できるので楽といえば楽。デスクトップ数が多いのでウィンドウが多くなっても画面が混まずに済むが、普段そんなにウィンドウを表示しないのなら確実に持て余して使い辛くなる。
 1. 仮想デスクトップの集合は1つで、随時物理画面にマッピングする
  仮想デスクトップの総数はあくまで4つで、そのうちの2つを物理画面に表示する、という方式(同じものを2つの画面に表示することも考えられる)。この方式では仮想デスクトップの(平面上の)配列が変化しうる問題と、物理画面のサイズが異なる場合にどうするかという問題がある。
1つのウィンドウが複数の仮想デスクトップ上に存在することも可能で、全仮想デスクトップに表示されるウィンドウ、というものも可能(stickyなウィンドウ)。ウィンドウが1つの仮想デスクトップにしか存在できないようなタイプでも、stickyなウィンドウは可能となっている場合がある。この考え方を突き詰めたのがタグ型仮想デスクトップで、各ウィンドウの属性として仮想デスクトップの数だけの大きさをもったビット配列を用意する。ある仮想デスクトップに対応するビットが立っていればその仮想デスクトップ上に存在することになる。さらに、タグ型仮想デスクトップは「現在の仮想デスクトップ」にあたる情報もビット配列になっている。これにより、レイヤーを重ね合わせるようにして複数の仮想デスクトップを同時に表示することができる。
行 32: 行 24:
1/26追記: マルチディスプレイ下でミラーリングするとさらに厄介なことになる。 このタイプの仮想デスクトップではバーとかパネルと呼ばれるものがよく用いられる。バー上には仮想デスクトップの集合や、現在どのデスクトップにいるのか、デスクトップにはどんなウィンドウがあるのかといった情報が示されていたりいなかったりして、切り替えもバーから行えるようになっている場合が多い。バー上にページャが載っていることもよくある。タグ型の場合バーがWMの一部として組み込まれている場合がほとんどで、現在表示されている仮想デスクトップが分かるようになっている。

仮想デスクトップまとめ

仮想デスクトップとは

実画面の大きさ以上の領域を仮想的に使用できるようにする機能のこと。

  • マルチディスプレイの場合、「実画面の大きさ」は全てのディスプレイの大きさの和<<FootNote(正確には、各画面を並べたときに外接す

る四角形の大きさ。ディスプレイの大きさが不揃いな場合、「実画面の大きさ」に含まれるが実際には画面が存在しないデッドスペースが発生する)>>

実現方法

大別して2つある(名称は便宜上適当につけた)。

仮想ルートウィンドウ(virtual root)型

実画面よりも大きいサイズのウィンドウを作成し、これを仮想的なルートウィンドウ(virtual root)とする。仮想ルートウィンドウ内をスク ロールすることによって、実画面より大きな領域を利用する。

このタイプの仮想デスクトップではほとんどの場合ページャと呼ばれるツールが用いられる。これは仮想デスクトップを縮小図にして表示す るもので、全体のうちどの部分が現在表示されているのか、あるいはどこにウィンドウがあるのか、という情報を矩形で表すようになってい る。また、ページャ内の矩形をドラッグすることで、実際に画面がスクロールしたりウィンドウが移動したりする。ページャ自体は画面に対 して常に同じ位置に存在する(こういうウィンドウをstickyなウィンドウという)ようになっている。

デスクトップ集合型

仮想デスクトップの集合を用意し、各ウィンドウごとにどの仮想デスクトップに属しているかの情報を持たせる。さらに現在の仮想デスクトップを状態として保持し、現在の仮想デスクトップに存在するウィンドウを表示する。仮想デスクトップの遷移は、遷移元のウィンドウを隠して遷移先のウィンドウを表示することで行う。

1つのウィンドウが複数の仮想デスクトップ上に存在することも可能で、全仮想デスクトップに表示されるウィンドウ、というものも可能(stickyなウィンドウ)。ウィンドウが1つの仮想デスクトップにしか存在できないようなタイプでも、stickyなウィンドウは可能となっている場合がある。この考え方を突き詰めたのがタグ型仮想デスクトップで、各ウィンドウの属性として仮想デスクトップの数だけの大きさをもったビット配列を用意する。ある仮想デスクトップに対応するビットが立っていればその仮想デスクトップ上に存在することになる。さらに、タグ型仮想デスクトップは「現在の仮想デスクトップ」にあたる情報もビット配列になっている。これにより、レイヤーを重ね合わせるようにして複数の仮想デスクトップを同時に表示することができる。

このタイプの仮想デスクトップではバーとかパネルと呼ばれるものがよく用いられる。バー上には仮想デスクトップの集合や、現在どのデスクトップにいるのか、デスクトップにはどんなウィンドウがあるのかといった情報が示されていたりいなかったりして、切り替えもバーから行えるようになっている場合が多い。バー上にページャが載っていることもよくある。タグ型の場合バーがWMの一部として組み込まれている場合がほとんどで、現在表示されている仮想デスクトップが分かるようになっている。

clear/wm_devel/2013-01-14 (最終更新日時 2013-03-13 23:23:11 更新者 clear)