「タイル型ウィンドウマネージャの比較」の版間の差分
ナビゲーションに移動
検索に移動
(→比較表: 表だけを同期) |
(→管理方式: 修正) |
||
77行目: | 77行目: | ||
=== 管理方式 === |
=== 管理方式 === |
||
+ | |||
− | ダイナミック管理方式はウィンドウレイアウトを自動で管理して、スピードとシンプルに焦点を置いています。マニュアル管理方式はレイアウトやサイズを手動で調整して細かいコントロールができますが、ウィンドウの移動やサイズ変更に時間がかかります。 |
||
+ | 動的管理方式はウィンドウレイアウトを自動で管理して、スピードとシンプルさに焦点を置いています。手動管理方式はレイアウトやサイズを手動で調整して細かいコントロールができますが、ウィンドウの移動やサイズ変更に時間がかかります。 |
||
=== レイアウト === |
=== レイアウト === |
2023年6月2日 (金) 11:22時点における版
この記事では人気のある (フロート型ウィンドウマネージャと対立する) タイル型ウィンドウマネージャを公平に比較しています。
比較表
以下の表ではほとんどの人気のタイル型ウィンドウマネージャとその特出すべき特徴を並べて、素早く比較できるようにしています。
ウィンドウマネージャ | 開発言語 | 設定方法 | 管理方式 | システムトレイのサポート | 実行中のリロード | 情報バー | コンポジット | デフォルトレイアウト | ピクセルの使用量 | 外部コントロール | ライブラリ | マルチモニタ (n 台) の挙動 | ICCCM/EWMH 対応 | 開発 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Awesome | C | Lua | 動的 | 内蔵 | はい | 内蔵、画像とテキスト | 外部 | max、nh-stack (と invert)、nv-stack (と invert)、free | 可変のボーダー、任意で h-tab タイトル | dbus (有効の場合) | XCB | n 個のタグ (ワークスペース)。デフォルトでは 9 個が有効。例 | はい | 継続中 |
bspwm | C | 何でも | ハイブリッド | なし | はい | 内部状態を FIFO に書き出し可能 | 外部 | v-split、h-split | 可変のボーダー | bspc による |
XCB | モニタがデスクトップを保持 | はい | 継続中 |
dwm | C | C (再コンパイル) | 動的 | 任意のパッチ | 任意 | 内蔵、ルートウィンドウの名前から読み込み | 外部 | v-stack、max | dwmfifo による | Xlib | n 個のリージョン、1つのリージョンにつき9つのワークスペース | いいえ | 継続中 | |
FrankenWM | C | C (再コンパイル) | 動的 | なし | いいえ | いいえ、標準出力に出力された情報は外部のモニターやパネルで簡単にパースしたり表示できます (dzen2、conky など) | 外部 | v-stack (と invert)、h-stack (と invert)、dual-v/h-stack、grid、fibonacci (vh-stack)、rows、columns、max、free | 可変のボーダー | XCB | いいえ | 継続中 | ||
herbstluftwm | C | 何でも | 手動 | なし | はい | 外部 | vertical、horizontal、grid、max、tabbed | 1ピクセルのボーダー | herbstclient によるコマンド |
Xlib | n 個のリージョン、1つのリージョンにつき9つのワークスペース | はい | 継続中 | |
i3 | C | テキスト | 手動 | i3bar | はい (レイアウトは保存されます) | i3bar にパイプで渡されたテキスト (i3status /conky なども使用可能) |
外部 | tree、v-split、h-split、stacked、tabbed、max、無限にネスト可能 | なし、1ピクセルまたは2ピクセル、任意のタイトルバー、境界ボーダーは隠せます | ipc によるコマンド (または ipc を使用する i3-msg) | XCB | n 個のリージョン | はい | 継続中 |
LeftWM | Rust | RON (ユーザー設定) / 何でも (テーマ) | 動的 | なし | はい | はい、テーマシステムによる多くのオプション | 外部 | v-stack、columns、rows | テーマごとに可変 | _NET_ACTIVE_WINDOW と名前付きパイプへ送信コマンドをサポート |
Xlib | ワークスペースとモニターは関連付けられていません。モニター毎に多くのワークスペース。あるいは、ワークスペース毎に多くのモニタ。 | はい | 継続中 |
Notion | C、Lua | Lua、Ion3 設定と互換性あり | 手動 | trayion、talonetray | はい | 設定可能 | ? | h-tab、max | 設定可能なボーダーとタイトルバー/タブ | EWMH、リッチな内部 API にアクセスできる任意の Lua スクリプト | Xlib | 各モニタに n 個のワークスペース。実行中のトポロジ変更可。 | 継続中 | |
qtile | Python | Python | 動的 | はい | はい | はい | 外部 | tree、v-split、h-split、stacked、tabbed、max | ボーダーなし、カスタマイズ可能 | フック、サーバーモード | XCB | 継続中 | ||
Ratpoison | C | テキスト | 手動 | なし | はい | はい | 外部 | max | いいえ | 継続中 | ||||
Snapwm | C | 再読み込み可能なテキスト | 動的 | なし | はい | 内蔵、ルートウィンドウの名前から読み込み | 外部 | nVertical、Fullscreen、nHorizontal、Grid、Center Stacking | 可変のボーダー、タイトルなし | Xlib | デスクトップの数はモニタ間で均等に配分 | 継続中 | ||
Spectrwm | C | テキスト | 動的 | なし | はい | 内蔵、ルートウィンドウの名前から読み込み | いいえ | nv-stack、nh-stack、max | 1ピクセルのボーダー、タイトルなし | XCB | n 個のリージョン、任意のリージョンに 10 個のワークスペースを表示可 | いいえ | 継続中 | |
Stumpwm | Common Lisp | Common Lisp | 手動 | StumpTray | はい | はい | 外部 | max | SLIME サーバ ("Swank") | Xlib | いいえ | 継続中 | ||
xmonad | Haskell | Haskell | 動的 | なし | はい | いいえ | はい、xmonad-contrib と外部のマネージャによる | nv-stack、nh-stack、max | 可変のボーダー、タイトルなし | XMonad-Hooks-ServerMode による | Xlib | n 個のリージョン、任意のリージョンに 9 個のワークスペース表示可。 | はい / ? | 継続中 |
ウィンドウマネージャ | 開発言語 | 設定方法 | 管理方式 | システムトレイのサポート | 実行中のリロード | 情報バー | コンポジット | デフォルトレイアウト | ピクセルの使用量 | 外部コントロール | ライブラリ | マルチモニタ (n 台) の挙動 | ICCCM/EWMH 対応 | 開発 |
管理方式
動的管理方式はウィンドウレイアウトを自動で管理して、スピードとシンプルさに焦点を置いています。手動管理方式はレイアウトやサイズを手動で調整して細かいコントロールができますが、ウィンドウの移動やサイズ変更に時間がかかります。
レイアウト
タイル型 WM には共通のレイアウトタイプというのが存在します。ただし用語が変わることもままあります。
- max: フルスクリーンで表示される単一のウィンドウ (ステータスバーやタイトル、ボーダーはあったりなかったり)。別名: monocle (dwm, monsterwm)。
- h-stack: 上半分がマスターエリアで、他のウィンドウは下半分に水平に並べられます。マスターエリアのサイズは変更できます。上下を逆にすることも可能 (wmfs)。別名: bottom stack (dwm), bstack (monsterwm)。
- v-stack: 左半分がマスターエリアで、他のウィンドウは右半分に縦に並べられます。マスターエリアのサイズは変更できます。左右を逆にすることも可能 (wmfs)。別名: tile (dwm, monsterwm)。
- nh-stack: マスターエリアに複数のウィンドウを配置できる h-stack。別名: nbstack (dwm)
- nv-stack: マスターエリアに複数のウィンドウを配置できる v-stack。別名: ntile (dwm)
- mirror-h: マスターエリアの上下にスタックできる nh-stack
- mirror-v: マスターエリアの左右にスタックできる nv-stack
- h-tab: 単一のウィンドウをフルスクリーンで表示して全てのウィンドウのタイトルを (ブラウザのタブのように) 水平に表示
- v-tab: 単一のウィンドウをフルスクリーンで表示して全てのウィンドウのタイトルを垂直に表示。別名: stack (wmii)。
- h-split: キーバインドでカレントウィンドウを水平に分割して別のウィンドウのためのスペースを作成
- v-split: キーバインドでカレントウィンドウを垂直に分割して別のウィンドウのためのスペースを作成
- columns: ウィンドウを縦の列に属しているように扱う手動のレイアウトスタイル
- rows: ウィンドウを横の行に属しているように扱う手動のレイアウトスタイル
- grid: 規則正しい NxM グリッドでウィンドウの位置とサイズを調整。自動 (wmfs, monsterwm など) または手動 (Subtle など)。
キーバインド
タイル型ウィンドウマネージャは基本的に全てをキーボードで操作するか、キーボードとマウスを組み合わせて使うように作られています。スピード (マウスに手を伸ばすのは面倒くさい) と使いやすさのためです。効率的かつ素早く作業を行うためにキーバインドはわかりやすくなくてはなりません。デフォルトのキーバインドが一番良いということもありますが、ユーザーが使いやすいようにキーを入れ替えるのが普通です。
参照
- タイル型 Wayland コンポジターのリスト
- Comparison of extensible window managers compares WMs "extensible" by scripting, like Xmonad and Sawfish.