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

MMA

仮想デスクトップまとめ

仮想デスクトップとは

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

実現方法

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

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

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

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

デスクトップ集合型

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

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

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

  1. 正確には、各画面を並べたときに外接する四角形の大きさ。ディスプレイの大きさが不揃いな場合、「実画面の大きさ」に含まれるが実際には画面が存在しないデッドスペースが発生する (1)

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