コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ ︵ 英 : c o m p o s i t i n g w i n d o w m a n a g e r ︶ は 、 ウ ィ ン ド ウ マ ネ ー ジ ャ の 一 種 で あ る 。 ウ ィ ン ド ウ マ ネ ー ジ ャ は コ ン ピ ュ ー タ デ ィ ス プ レ イ 上 の グ ラ フ ィ カ ル ユ ー ザ イ ン タ フ ェ ー ス ( G U I ) を 描 画 ・ 管 理 す る ソ フ ト ウ ェ ア で あ り 、 ウ ィ ン ド ウ の 配 置 を 行 い 、 ボ ー ダ ー や タ イ ト ル バ ー な ど の ウ ィ ン ド ウ の 追 加 的 部 品 を 描 画 し 、 ウ ィ ン ド ウ 間 の 相 互 作 用 や 他 の デ ス ク ト ッ プ 環 境 要 素 と の 相 互 作 用 を 制 御 す る 。 初 期 の ウ ィ ン ド ウ マ ネ ー ジ ャ で は 、 個 々 の プ ロ グ ラ ム の ウ ィ ン ド ウ を 表 示 用 メ モ リ に レ ン ダ リ ン グ す る こ と を そ の プ ロ グ ラ ム 自 身 に 任 せ て い た 。 コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ は 、 ア プ リ ケ ー シ ョ ン に ス ク リ ー ン と は 対 応 し な い バ ッ フ ァ を ウ ィ ン ド ウ メ モ リ と し て 用 意 し 、 個 々 の ウ ィ ン ド ウ の イ メ ー ジ を 合 成 ( c o m p o s i t i n g ) す る こ と で ス ク リ ー ン の イ メ ー ジ を 生 成 し て 表 示 用 メ モ リ に そ の 結 果 を 書 き 込 む [ 1 ] [ 2 ] 。
コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ は バ ッ フ ァ 化 さ れ た ウ ィ ン ド ウ 群 に さ ら な る 処 理 を 施 す こ と も あ り 、 2 D お よ び 3 D の ア ニ メ ー シ ョ ン 化 し た エ フ ェ ク ト と し て 、 ブ レ ン デ ィ ン グ 、 フ ェ ー デ ィ ン グ 、 拡 大 縮 小 、 回 転 、 複 製 、 折 り 曲 げ と ね じ 曲 げ 、 混 ぜ 合 わ せ 、 ぼ や け 、 ア プ リ ケ ー シ ョ ン の リ ダ イ レ ク ト 、 複 数 の デ ィ ス プ レ イ お よ び 仮 想 デ ス ク ト ッ プ 間 で の ウ ィ ン ド ウ の 移 動 な ど が あ る 。 コ ン ピ ュ ー タ グ ラ フ ィ ッ ク ス 技 術 に よ り 、 陰 影 を つ け る 、 ラ イ ブ ・ プ レ ビ ュ ー 、 複 雑 な ア ニ メ ー シ ョ ン な ど の 視 覚 効 果 が リ ア ル タ イ ム で 描 画 可 能 と な っ た [ 3 ] [ 4 ] 。 技 術 的 に は ダ ブ ル バ ッ フ ァ リ ン グ が 行 わ れ て い る た め 、 更 新 の 際 に フ リ ッ カ ー ︵ ち ら つ き ︶ が 発 生 す る こ と は な い 。
主 な コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ と し て は 、 以 下 の も の が あ る 。
ウ ィ ン ド ウ マ ネ ー ジ ャ は 、 サ イ ズ を 変 更 し た と き や 他 の ウ ィ ン ド ウ に 隠 さ れ て い た も の を 前 に 出 し た と き な ど 、 必 要 に 応 じ て 再 描 画 さ せ る た め ウ ィ ン ド ウ に メ ッ セ ー ジ を 送 る 。 ス タ ッ ク 型 ウ ィ ン ド ウ マ ネ ー ジ ャ で は 、 プ ロ グ ラ ム が 遅 い と か 、 応 答 し な い と か 、 バ グ だ ら け と い っ た 場 合 に 適 当 な 時 間 内 に そ の メ ッ セ ー ジ に 応 答 で き ず 、 再 描 画 処 理 が 失 敗 す る こ と が あ る [ 5 ] [ 6 ] 。 悪 意 あ る プ ロ グ ラ ム で 意 図 的 に ウ ィ ン ド ウ の 再 描 画 を さ ぼ る と 、 ︵ そ の シ ス テ ム が 、 善 意 を 前 提 と し た シ ス テ ム の 場 合 に は ︶ シ ス テ ム を 不 安 定 に す る こ と も 可 能 で あ る 。 シ ス テ ム を 不 安 定 に す る ま で で な く と も 、 た と え ば 、 以 下 の よ う な 状 態 が 生 じ る こ と が あ る 。
● ク リ ッ ピ ン グ さ れ た ウ ィ ン ド ウ の 隠 さ れ て い た 領 域 を 再 描 画 せ ず 、 結 果 と し て そ の 部 分 は 空 白 の ま ま か 、 他 の ウ ィ ン ド ウ の イ メ ー ジ を そ の ま ま 表 示 さ せ て お く 。
● ウ ィ ン ド ウ の 一 部 ︵ 装 飾 的 な 影 な ど ︶ が 何 か の 後 ろ に 隠 さ れ 、 再 び 上 に 出 て き た と き に 正 し く 再 描 画 さ れ な い 。
● 画 面 の 更 新 が 我 慢 で き な い ほ ど 遅 く な る [ 7 ] 。
● 画 面 全 体 が 問 題 の プ ロ グ ラ ム が 応 答 す る か 終 了 す る ま で フ リ ー ズ す る [ 8 ] 。
コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ で は 、 ウ ィ ン ド ウ マ ネ ー ジ ャ が 再 描 画 を 要 求 し て も ウ ィ ン ド ウ が 再 描 画 し な い 場 合 、 最 後 の 再 描 画 結 果 が 表 示 さ れ 続 け 、 場 合 に よ っ て は そ の ウ ィ ン ド ウ を 減 光 し て 表 示 す る 。 そ の と き 、 そ の ウ ィ ン ド ウ が 応 答 し な い と い う 状 態 を 反 映 し て タ イ ト ル を 変 更 す る こ と が 多 い 。 プ ロ グ ラ ム に よ っ て は そ の ウ ィ ン ド ウ を 動 か し た り ア ン マ ッ プ し た り で き な い こ と も あ る が 、 一 般 に 再 描 画 問 題 は 生 じ な い 。
各OSにおける合成(コンポジット)・3Dエフェクト
編集
合成3Dエフェクトにより、ウィンドウには3次元デスクトップの視覚効果が与えられる。最近のコンポジット型ウィンドウマネージャは3Dハードウェア・アクセラレーションを利用している。コンポジット型ウィンドウマネージャは、OpenGL やDirect3D のようなプログラミングインタフェース を通してグラフィックス・ハードウェアとやりとりする。
そのような技法を最初に採用したのは Mac OS X v10.2 で、Linux ではLuminocity のプロトタイプが最初だった。OpenGLを使っているウィンドウマネージャとしては Compiz、KWin、Quartz Compositor があり、Desktop Window Manager は DirectX 9 を使っている。OpenGLは完全にハードウェアでサポートされているわけではなく、OpenGLベースの合成の性能は今後もハードウェアの進化と共に向上することが見込まれる。
W i n d o w s 2 0 0 0 の ウ ィ ン ド ウ マ ネ ー ジ ャ は 合 成 を 行 っ て い た が 、 ピ ク セ ル 単 位 の ア ル フ ァ ブ レ ン デ ィ ン グ な ど の 変 換 は 行 っ て い な か っ た 。 ア ル フ ァ ブ レ ン デ ィ ン グ を 利 用 し た 商 用 ア プ リ ケ ー シ ョ ン は 少 な か っ た 。 オ プ シ ョ ン 設 定 を 通 し て だ が 、 い く つ か の フ リ ー ウ ェ ア が い ち 早 く ア ル フ ァ ブ レ ン デ ィ ン グ の 実 験 を 行 っ た [ 16 ] [ 17 ] 。 コ ン ポ ジ ッ ト 型 と な っ た の は W i n d o w s V i s t a の D e s k t o p W i n d o w M a n a g e r か ら で あ る [ 1 ] 。
W i n d o w s V i s t a と W i n d o w s 7 で は テ ー マ を ﹁ W i n d o w s ク ラ シ ッ ク ﹂ に す る こ と で D e s k t o p W i n d o w M a n a g e r を 使 用 停 止 で き る 。 さ ら に オ ー バ ー レ イ ミ キ サ フ ィ ル タ に よ る ハ ー ド ウ ェ ア ・ オ ー バ ー レ イ を 行 う と き は W i n d o w s 自 身 が 自 動 的 に D W M を 使 用 停 止 す る 。
Unix系 のシステムで広く使われている X Window System (のXサーバ)において、スタック型ウィンドウマネージャは X video extension のブルーバック 機能を必要とした。合成は "Composite" extension として導入された。コンポジット型ウィンドウマネージャは、可能ならばこの拡張を通してハードウェア・アクセラレーションを利用する。
Ubuntu 8.04 Hardy Heron でCompizのシフトスイッチャをフリップモードで動作させているところ
L i n u x お よ び U N I X で 完 全 3 D ア ク セ ラ レ ー シ ョ ン の 合 成 を 行 う に は 、 X 1 1 自 体 が ハ ー ド ウ ェ ア ・ ア ク セ ラ レ ー シ ョ ン に 対 応 す る よ う 根 本 的 な 変 更 を 行 う 必 要 が あ っ た 。 ま ず 、 X g l な ど の O p e n G L を 利 用 し て X 1 1 を 一 部 修 正 し た 実 装 が 登 場 。 A I G L X の 登 場 に よ っ て X g l な ど を 使 わ な く て 済 む よ う に な り 、 標 準 の X サ ー バ 上 で 3 D ア ク セ ラ レ ー シ ョ ン の 合 成 を 行 う ウ ィ ン ド ウ マ ネ ー ジ ャ が 可 能 と な っ た が 、 ダ イ レ ク ト ・ レ ン ダ リ ン グ も 可 能 で あ る 。 N V I D I A 、 イ ン テ ル 、 A T I な ど が A I G L X を サ ポ ー ト し た グ ラ フ ィ ッ ク ス ・ カ ー ド を 発 売 し て い る 。
C o m p i z で は c u b e と い う エ フ ェ ク ト が 導 入 さ れ て お り 、 ユ ー ザ ー は 6 つ の 仮 想 デ ス ク ト ッ プ を 一 度 に 見 る こ と が で き る 。 各 デ ス ク ト ッ プ は 立 方 体 の 1 つ の 面 の テ ク ス チ ャ に 変 換 さ れ 、 立 方 体 を 自 由 に 回 転 さ せ る こ と が で き る 。 C o m p i z は 様 々 な 2 D と 3 D の 視 覚 効 果 を 表 示 で き 、 ハ ー ド ウ ェ ア に 要 求 さ れ る 性 能 は 比 較 的 低 く て す む [ 18 ] 。 C o m p i z は U b u n t u に 含 ま れ て お り 、 サ ポ ー ト さ れ て い る ハ ー ド ウ ェ ア や ド ラ イ バ が 利 用 可 能 な ら ば 自 動 的 に 使 用 で き る 。
M u t t e r ( M e t a c i t y + C l u t t e r ) は M e t a c i t y の 後 継 と し て 、 G N O M E の デ フ ォ ル ト の ウ ィ ン ド ウ マ ネ ー ジ ャ と な っ た 。 G N O M E 3 . 0 の G N O M E S h e l l の コ ン ポ ー ネ ン ト と な っ て い る 。 M u t t e r が 使 っ て い る デ ィ ス プ レ イ ・ エ ン ジ ン C l u t t e r は 主 な OS に 移 植 さ れ て お り 、 ネ ッ ト ブ ッ ク や ス マ ー ト フ ォ ン で も 動 作 す る 。
K D E の ウ ィ ン ド ウ マ ネ ー ジ ャ は バ ー ジ ョ ン 4 以 降 K W i n と な っ て お り 、 コ ン ポ ジ ッ ト 型 で あ る 。 K W i n は C o m p i z と 同 等 の 機 能 を 有 し て い る 。
P r o j e c t L o o k i n g G l a s s は 3 D レ ン ダ リ ン グ が 可 能 な ウ ィ ン ド ウ マ ネ ー ジ ャ で 、 ク ロ ス プ ラ ッ ト フ ォ ー ム の J a v a 言 語 を ベ ー ス と し て い る 。 開 発 は 停 止 し て い る が 、 G N U G e n e r a l P u b l i c L i c e n s e で リ リ ー ス さ れ た 。 G r a n u l a r L i n u x の l i v e C D デ ィ ス ト リ ビ ュ ー シ ョ ン に は オ プ シ ョ ン の ウ ィ ン ド ウ マ ネ ー ジ ャ と し て L o o k i n g G l a s s が 含 ま れ て い る 。
開 発 中 止 の 後 、 そ の 機 能 の 一 部 ︵ カ バ ー 式 切 換 え 、 サ ム ネ イ ル に よ る ラ イ ブ ・ プ レ ビ ュ ー ︶ は 他 の ウ ィ ン ド ウ マ ネ ー ジ ャ で 採 用 さ れ た 。 他 に も ウ ィ ン ド ウ の タ イ リ ン グ 、 両 面 型 の ウ ィ ン ド ウ フ レ ー ム 、 背 景 の パ ラ ラ ッ ク ス ︵ 視 差 ︶ ス ク ロ ー ル な ど の ユ ニ ー ク な 機 能 が あ る 。
AmigaOS とMorphOS は3D対応ハードウェアでも動作可能だが、Amiga 1200 以降の古い Amigaコンピュータでも動作するよう設計されている。そのため、ウィンドウマネージャはほとんど平面的なレンダリングを行うが、レイヤーの合成、アルファブレンディング、マルチデスクトップ(スクリーン)などの機能がある。
コンポジット型の手法では、使いやすさと視覚効果を高めたユーザインタフェースのための様々な機能を容易に実装できる。
タスクバー 上でマウスポインタを操作することでサムネイル をポップアップさせてウィンドウのプレビューを表示する。これによって、その時点で動作中のプログラム群を識別して管理できる。
X g l に お け る 基 本 的 な ウ ィ ン ド ウ 切 換 え 機 能
C o m p i z で の フ リ ッ プ 式 切 換 え
K W i n で の カ バ ー 式 切 換 え
C o m p i z F u s i o n に お け る リ ン グ 式 切 換 え
似 た よ う な 名 前 や ア イ コ ン の ウ ィ ン ド ウ が 複 数 あ る と 混 乱 が 生 じ や す く 、 特 に そ れ ら の タ イ ト ル バ ー が 重 な っ て い る と 混 乱 し や す い 。 そ の た め 、 タ ス ク バ ー 上 の そ の よ う な ウ ィ ン ド ウ の 位 置 を 覚 え て お く 必 要 が あ る 。 そ の よ う な ウ ィ ン ド ウ が 多 数 存 在 す る と き 、 ユ ー ザ ー は タ ス ク バ ー の ボ タ ン を 次 々 に 押 下 し て 目 的 の ウ ィ ン ド ウ を 捜 す こ と に な る 。 ウ ィ ン ド ウ 切 換 え 機 能 は 、 複 数 の ウ ィ ン ド ウ が 装 飾 的 な 背 景 に 対 し て 目 立 つ よ う に 一 時 的 に 配 置 変 え し 、 素 早 く プ レ ビ ュ ー で き る よ う に す る 。 選 択 後 は ウ ィ ン ド ウ 群 の 配 置 が 元 通 り に な る 。
選 択 は 、 ユ ー ザ ー が ホ ッ ト キ ー を 入 力 す る か 、 マ ウ ス ポ イ ン タ を 画 面 上 の 所 定 の ホ ッ ト ス ポ ッ ト に 置 く か 、 場 合 に よ っ て は マ ウ ス の ホ イ ー ル を 回 す こ と で 起 動 す る 。 ア イ テ ム の ナ ビ ゲ ー ト は キ ー ボ ー ド か マ ウ ス で 行 う 。 ア イ テ ム の 選 択 は 、 ホ ッ ト キ ー の リ リ ー ス 、 エ ン タ ー キ ー 押 下 、 マ ウ ス ク リ ッ ク な ど で な さ れ る 。
フ リ ッ プ 式 切 換 え
フ リ ッ プ 式 は 、 A l t - T a b に よ る 切 換 え 機 能 を 拡 張 し た も の で あ る 。 動 作 中 の ウ ィ ン ド ウ 群 が 重 な っ た 形 に 再 配 置 さ れ る 。 こ れ が 1 9 5 0 年 代 の ジ ュ ー ク ボ ッ ク ス の フ リ ッ プ 式 の 選 曲 装 置 や ロ ー ロ デ ッ ク ス ︵ 回 転 式 名 刺 整 理 器 ︶ に 似 て い る こ と か ら フ リ ッ プ 式 と 呼 ぶ 。 シ ス テ ム に よ っ て は 、 A l t - S h i f t - T a b の 押 下 で 逆 順 で ナ ビ ゲ ー ト で き る 。 ナ ビ ゲ ー ト 中 は 各 ア イ テ ム の 移 動 中 も 視 覚 効 果 が 適 用 さ れ る 。
フ リ ッ プ 式 の 主 な 実 装 と し て は 、 W i n d o w s の F l i p 3 D と C o m p i z の S h i f t S w i t c h e r が あ る 。
カ バ ー 式 切 換 え
カ バ ー 式 切 換 え は フ リ ッ プ 式 と ほ と ん ど 同 じ だ が 、 見 た 目 だ け が や や 異 な る 。 選 択 す べ き ア イ テ ム を 1 つ に 重 ね る よ う に 配 置 す る の で は な く 、 現 在 選 択 さ れ て い る ア イ テ ム を 中 央 に 置 き 、 左 右 対 称 に 2 つ の ア イ テ ム の ス タ ッ ク が 表 示 さ れ る 。 こ れ は L o o k i n g G l a s s に お け る w i n d o w t i l t i n g 機 能 に 似 て い る 。
m a c O S に は カ バ ー フ ロ ー と い う カ バ ー 式 切 換 え が 実 装 さ れ て い る 。 最 近 の バ ー ジ ョ ン で は 選 択 さ れ て い な い ア イ テ ム を ぼ や け さ せ て 、 選 択 さ れ て い る も の を 目 立 た せ る よ う に な っ て い る 。 カ バ ー フ ロ ー は ア ッ プ ル の 他 の ソ フ ト ウ ェ ア 、 例 え ば i T u n e s に も 採 用 さ れ て い る 。
こ れ を ﹁ フ リ ッ ク ブ ッ ク ・ ビ ュ ー ﹂ ( f l i c k - b o o k v i e w ) と 呼 ぶ こ と も あ る 。
リ ン グ 式 切 換 え
リ ン グ 式 は フ リ ッ プ 式 に 似 て い る が 、 ウ ィ ン ド ウ 群 を 環 状 に 並 べ て 回 転 さ せ 、 通 常 そ の 輪 の 一 番 下 に 表 示 さ れ て い る も の が 選 択 さ れ る ウ ィ ン ド ウ に な る 。 ほ と ん ど の コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ は 最 初 か ら こ の 機 能 を 備 え て い る し 、 3 d - d e s k t o p の よ う な サ ー ド パ ー テ ィ の ア プ リ ケ ー シ ョ ン も 利 用 可 能 で あ る 。
グ ル ー プ 化
ユ ー ザ ー は ウ ィ ン ド ウ 群 を グ ル ー プ 化 で き 、 各 グ ル ー プ の 中 の 1 つ の ウ ィ ン ド ウ だ け が 同 時 に 表 示 さ れ る よ う に で き る 。 グ ル ー プ 内 で 表 示 す べ き ウ ィ ン ド ウ を 切 り 替 え る と ウ ィ ン ド ウ が 裏 返 っ て そ の ウ ィ ン ド ウ が 表 示 さ れ る 。
E x p o s é
M a c O S X v 1 0 . 3 か ら 搭 載 さ れ た 機 能 で 、 全 ウ ィ ン ド ウ を 整 列 し て プ レ ビ ュ ー 表 示 で き る 。 他 の シ ス テ ム ︵ M i c r o s o f t W i n d o w s , C o m p i z , K W i n , サ ー ド パ ー テ ィ の ア プ リ ケ ー シ ョ ン ︶ の 同 様 の 機 能 は ﹁ E x p o s é ク ロ ー ン ﹂ と 呼 ば れ る こ と が あ っ た 。 M a c O S X v 1 0 . 7 以 降 か ら M i s s i o n C o n t r o l に 統 合 さ れ た 。 な お E x p o s é を 起 動 す る ホ ッ ト キ ー は A l t - T a b で は な く F 3 で あ る 。
M i s s i o n C o n t r o l
M a c O S X v 1 0 . 7 以 降 か ら 、 E x p o s é 、 D a s h b o a r d 、 S p a c e s と い っ た コ ン ポ ジ ッ ト 系 の 機 能 が 統 合 さ れ て M i s s i o n C o n t r o l と い う 1 つ の 環 境 と な っ た 。
コ ン ポ ジ ッ ト 型 ウ ィ ン ド ウ マ ネ ー ジ ャ が 開 発 さ れ る 以 前 は 、 ウ ィ ン ド ウ は 突 然 現 れ 、 突 然 消 え る も の で 、 デ ス ク ト ッ プ メ タ フ ァ ー と し て は 不 適 切 で あ る 。 G U I 要 素 が 突 然 出 現 ・ 消 滅 す る こ と は 、 経 験 の 浅 い ユ ー ザ ー に と っ て は 混 乱 の 元 と な る [ 要 出 典 ] 。 変 化 の 過 程 を 視 覚 的 に 見 せ る こ と で 文 脈 を 提 供 し 、 G U I 要 素 の 因 果 関 係 を 理 解 す る 助 け と な る 。 ウ ィ ン ド ウ が 突 然 消 え る 代 わ り に 、 徐 々 に フ ェ ー ド ア ウ ト し た り 、 小 さ く な っ て い っ て タ ス ク バ ー に 収 ま る と い っ た 視 覚 効 果 が あ る 。 ク リ ッ ク さ れ た プ ル ダ ウ ン メ ニ ュ ー は メ ニ ュ ー バ ー か ら 滑 ら か に 延 び て き て 、 そ の 起 点 と 目 的 を 認 識 し や す く す る 。
Metisse はユーザインタフェース・ファサードを実装しており、既存のグラフィカルなインタフェースをダイレクトマニピュレーション 技法を使って簡単に設定変更・修正・再結合することができる[20] 。
スタンドアロンなコンポジットマネージャの一覧
編集
● x c o m p m g r — C o m p i z の ミ ニ マ ム な 代 替 ソ フ ト ウ ェ ア 。
● C o m p t o n – x c o m p m g r の フ ォ ー ク で あ る d c o m p m g r か ら 、 さ ら に こ の バ グ フ ィ ッ ク ス を 行 っ て フ ォ ー ク さ れ た も の 。
● C a i r o C o m p m g r ( C a i r o コ ン ポ ジ ッ ト マ ネ ー ジ ャ ) — 既 存 の ウ ィ ン ド ウ マ ネ ー ジ ャ 用 の コ ン ポ ジ ッ ト ・ ア ド オ ン 。 こ れ は 、 G T K + も 使 用 す る ベ ク タ ー グ ラ フ ィ ッ ク ス ラ イ ブ ラ リ C a i r o を 利 用 す る 。
● U n a g i コ ン ポ ジ ッ ト マ ネ ー ジ ャ — こ れ は 既 存 の ウ ィ ン ド ウ マ ネ ー ジ ャ と 一 緒 に 使 え る 合 成 マ ネ ー ジ ャ で あ る 。 X C B ラ イ ブ ラ リ を 使 用 し て い る 。
● M C o m p o s i t o r — こ れ は 、 M e e G o ハ ン ド セ ッ ト で 使 用 さ れ て い る 。
コンポジット型ウィンドウマネージャを採用しているOS
編集