タイル型ウィンドウマネージャ

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
ウィンドウマネージャ > タイル型ウィンドウマネージャ
Ionウィンドウマネージャ。画面が3つのタイルに分割されている。

タイル型ウィンドウマネージャ: tiling window manager)はウィンドウマネージャの一種で、画面を互いにオーバーラップしない領域に分割してウィンドウを表示する。デスクトップメタファーを完全に実現するためにウィンドウなどのオブジェクトのオーバーラップを許す、より一般的な座標ベースの技法とは正反対である。

歴史[編集]

ゼロックス パロアルト研究所[編集]

最初のビットマップディスプレイを使ったグラフィカルユーザインタフェースはタイル型ではなかったが(パロアルト研究所Alto)、その直後にタイル型ウィンドウマネージャが登場した。最初の Xerox Star システム(1981年発売)では、アプリケーションのウィンドウはタイル型だが、ダイアログボックスやプロパティウィンドウだけオーバーラップを許していた[1]。その後ゼロックスパロアルト研究所が開発した CEDAR[2](1982年)が、初めて完全なタイル型ウィンドウマネージャをウィンドウシステムに採用している。

様々なベンダー[編集]

1983年に登場した Andrew Project のウィンドウマネージャは完全なタイル型ウィンドウマネージャを採用している。

マイクロソフトWindows 1.0(1985年)もタイル型だった(後述)。

1986年には、デジタルリサーチGEM 2.0 が登場。CP/M上のウィンドウシステムであり、デフォルトではタイル型だった[3]

初期のタイル型ウィンドウマネージャの1つであるシーメンスの RTL(1988年)はタイル型ウィンドウマネージャの教科書的な例であり、ウィンドウのサイズ変更・配置・並び順・アイコン化などを自動化するアルゴリズムを搭載していた。RTLは X11R2 および R3 で動作し、主にシーメンスのシステム(SINIXなど)で使われた。その機能を紹介した宣伝用ビデオがある[4]

主なタイル型ウィンドウマネージャ[編集]

X Window System[編集]

wmii で複数の端末ウィンドウを表示したところ
dwmタイル型ウィンドウマネージャ
scrotwm。左側がマスターエリア
BluetileGNOMEデスクトップと組合わせることを目的として設計されている。
WMFSVimurxvt、tty-clock、ncmpcppを開いたところ

X Window System では、ウィンドウマネージャはウィンドウシステム本体とは別のプログラムである。X自身はウィンドウ管理手法を定めておらず、現在の X11 は明示的にタイル型ウィンドウマネージャも選択肢として言及している。初めて自動配置/サイズ変更を採用したタイル型ウィンドウマネージャは、シーメンスのRTL(1988年)だった。ほぼ同時期のタイル型ウィンドウマネージャとして、IBMの学術情報システム部門が開発した Cambridge Window Manager がある。

2000年には、larswmIonの最初のバージョンがリリースされた。

X上のタイル型ウィンドウマネージャ一覧[編集]

  • awesome - dwm から派生したもので、Cで書かれLuaで構成・拡張可能である。XlibからXCBに移植された最初のウィンドウマネージャで、D-BuspangoXRandRXinerama をサポートしている。
  • Bluetile - xmonadベース[5]
  • dwm - ステータスバーのアスキーアートが表示されたアイコンをクリックすることでタイル型のレイアウトを変更可能。[]= という表示のアイコンがデフォルトで、左にメインエリア、右に上下にウィンドウを並べる形式となる。><> という表示のアイコンでは敷き詰める形でないフロート型の表示が可能で、個々のウィンドウの移動やサイズ変更が可能。サードパーティ製のパッチをあてることで、黄金比フィボナッチ配置[6]、グリッド配置[7]、隙間のないグリッド配置[8]、上にメインエリアで下にウィンドウを並べる配置[9]なども可能。キーボードで操作するメニューユーティリティ dmenu も dwm 向けに開発されており[10]xmonadなど他のタイル型ウィンドウマネージャでも利用できるし[11]Openbox[10]uzbl[12]などの軽量ソフトウェアでも利用することがある。
  • Ion - タイル型にタブ型インタフェースを組合わせたもの。画面は人手でオーバーラップしない領域(フレーム)に分割される。各フレームには1つ以上のウィンドウを含めることができ、そのうちの1つのウィンドウだけがフレーム全体に表示される。
  • KWin - KDEのウィンドウマネージャで、KDE SC 4.4 から初歩的なタイル型機能をサポートし、KDE SC 4.5 から完全なタイル型機能をサポートしている。ただし、実装はコンポジット型である。
  • Larswm - 動的タイル型の一種。画面を左右2つのトラックと呼ばれる領域に分割する。左のトラックは1つのウィンドウで占められ、右のトラックは他のウィンドウを上下に並べて配置する。
  • Matchbox - システムトレイと1つのウィンドウをタイル型表示するもので、組み込みシステムや携帯機器向けである。基本的に表示されるウィンドウは1つである。
  • Ratpoison - キーボード駆動式の GNU Screen を発展させたもの。
  • Scrotwm - 最小限の機能をサポートしたタイル型ウィンドウマネージャで、XRandRXineramaをサポートしている。
  • WMFS
  • wmii - dwm の作者が並行して開発したもの。
  • xmonad - Haskellで書かれた拡張可能なウィンドウマネージャ。

Microsoft Windows[編集]

ウィンドウを左右に並べて表示
ウィンドウを上下に並べて表示

Microsoft Windows は、そもそも、前述の X Window System のようにウィンドウマネージャが独立したウィンドウシステムを採用しておらず、ユーザ自身が自由にウィンドウマネージャを選択して用いる文化が乏しい。ベンダー提供としては、Windows 95 からウィンドウマネージャを含んでおり、デフォルトではスタック型ウィンドウマネージャでありながら、オプションで簡単なタイル型ウィンドウマネージャのように動作させることもできる。なお Windows 8 では Metro UI にタイル型のインターフェイスが採用されており、基本的なタイル型ウィンドウマネージャが搭載されている。 最初のバージョン (Windows 1.0) はタイル型ウィンドウマネージャを採用していた。これはアップルがオーバーラップ式のデスクトップメタファーの知的所有権を主張して訴えていたことも一因である。しかしユーザーの不満が多かったため、次のバージョン (Windows 2.0) では通常のデスクトップメタファーを採用。その後のバージョンではデフォルトがスタック型となっている。

サードパーティによるアドオン[編集]

Windowsに、より洗練されたタイル型機能を追加するサードパーティ製プログラムがあり、他のOS上のタイル型ウィンドウマネージャとほぼ同等の機能を提供しているが、厳密にはウィンドウマネージャそのものでなく、Windows の OS 的な制約に対する拡張がほとんどである。

  • WindowSizer - ウィンドウをタイル型表示する(シェアウェア)
  • WinSplit - キーボード・ショートカットによるタイル型表示(フリーウェア)
  • HashTWM - 自動タイル型表示のタイル型ウィンドウマネージャ(MIT/X11ライセンス)
  • GridMove - ホットキーによる洗練されたタイル型配置とマルチモニターのサポート(フリーウェア/ドネーションウェア)
  • bug.n - dwm の機能を再現したもの (GPL)
  • Windawesome - C# で書かれた高度なカスタマイズが可能なウィンドウマネージャ (GPL v2)
  • MaxTo - ユーザーが定義した格子に沿ってウィンドウを並べる。マルチモニターもサポート(シェアウェア)
  • Twinsplay - キーボード・ショートカットによるタイル型表示(商用/試用版あり)
  • Plumb - ユーザーの作業に従って自動的にウィンドウを並べ替える(フリーウェア)
  • Divvy - 商用
  • Python-windows-tiler - 非常に基本的なタイル型 (LGPL)

その他[編集]

  • Oberon - チューリッヒ工科大学で開発されたOSおよび言語処理系で、タイル型ウィンドウマネージャを含んでいる。
  • Acme - Plan 9 におけるエディタ/ウィンドウシステム/シェルであり、タイル型ウィンドウマネージャだった。

タイル型アプリケーション[編集]

ウィンドウマネージャがタイル型でなくても、アプリケーションがタイル型のような表示をすることはよくある。たとえば、電子メールクライアント統合開発環境 (IDE)、ウェブブラウザの「サイドバー」、Microsoft Office のコンテキストヘルプなどである。さらにHTMLのフレームは、マークアップ言語によるタイル型表示の実装と見ることもできる。タイル型ウィンドウマネージャは、そういった有用性をデスクトップ上の複数のアプリケーションにまで拡張したものという見方もできる。タブを使ったインタフェースはタイル型表示との相性がよく、同じ機能のウィンドウを画面上に複数同時に表示するのを防ぐことができる。

脚注・出典[編集]

  1. ^ Xerox Star
  2. ^ Ten Years of Window Systems - A Retrospective View
  3. ^ Window tiling history
  4. ^ ACM CHI+GI 1987 Issue 33 - Siemens RTL tiled window system
  5. ^ Bluetile FAQ”. 2010年4月8日閲覧。
  6. ^ Fibonacci layout
  7. ^ gridmode
  8. ^ gapless grid layout
  9. ^ Bottom Stack
  10. ^ a b Software Review: 2009 LnF Awards”. Arch Linux Magazine (2010年1月). 2010年3月8日閲覧。
  11. ^ 100 open source gems - part 2”. TuxRadar. Future Publishing (2009年5月21日). 2010年3月3日閲覧。
  12. ^ Vervloesem, Koen (2009年7月15日). “Uzbl: a browser following the UNIX philosophy”. LWN.net. Eklektix, Inc.. 2010年3月3日閲覧。

外部リンク[編集]