Ubuntu
i3

タイル型ウィンドウマネージャのi3を試す + 備忘録

More than 3 years have passed since last update.

awesomeでフォーカスのあるウィンドウを縦または横に分割するってのができなかったのでi3というタイル型ウィンドウマネージャを試してみる。

i3 - improved tiling wm

試した環境は次の通り。

・Ubuntu 14.04(32bit)

・i3 version 4.7.2

この記事は自分が忘れないように、自分が使う範囲で操作方法を簡単に残しておくのが目的。

何か調べたらその都度更新する予定。


インストール

$ sudo apt-get install i3

一度ログアウトしてパスワードを入力するエリアの右上からi3を選んでログインする。

初回起動のときは初期設定ウィンドウが表示されるので、設定ファイルを作るかどうか、Modキーをどのキーにするかを選択する。


操作

i3のデフォルトのキーバインドが公式ドキュメントに図で載ってるのでそれを参考にする。

i3: i3 User’s Guide

自分が使う操作を表に載せる。表記は次のルールで書く。

・ModはAltまたはWindowsキー

・大文字はShiftキーを押す

・矢印記号(→, ←, ↑, ↓)はカーソルキー

・"num"は数字キー


基本操作

アクション
操作
説明

ターミナルを開く
Mod + Enter
現在設定されている分割方向にウィンドウが分割され、新しいターミナルが開く。

ターミナルを閉じる
Mod + Q
現在フォーカスがあるウィンドウを閉じる。

ログアウトする
Mod + E

分割方向を横にする
Mod + h
新しいウィンドウを開くときに横方向に分割される設定にする。

分割方向を縦にする
Mod + v
新しいウィンドウを開くときに縦方向に分割される設定にする。

タブレイアウトにする
Mod + w
1つの画面を全画面で表示するレイアウト。上部に開いているウィンドウを表すタブが表示される。

デフォルトレイアウトにする
Mod + e
デフォルトのタイル型レイアウトにする。

フォーカスを右にウィンドウに移動する
Mod + → or Mod + ;

フォーカスを左にウィンドウに移動する
Mod + ← or Mod + j

フォーカスを上にウィンドウに移動する
Mod + ↑ or Mod + l

フォーカスを下にウィンドウに移動する
Mod + ↓ or Mod + k

フルスクリーンモードにする/ 戻す
Mod + f
入力する度にフルスクリーンモードにしたり、フルスクリーンモードから元のモードに戻したりする。

ワークスペースを切り替える
Mod + num
ワークスペースを切り替える。ワークスペースは左下に番号で表示される。

ウィンドウサイズ変更モードにする
Mod + r
(次項の「ウィンドウサイズの変更」を参照)

dmenuを表示する。
Mod + d
アプリケーション名をタイプして起動するメニューを開く。開けるアプリケーションは\$PATHにあるものになる。

分割方向はデフォルトで横方向に分割される。また、一度ログアウトするとデフォルトの横方向に戻る。


ウィンドウサイズの変更

i3では次のようにウィンドウサイズ変更モードにしてからサイズを変更する。


  1. "Mod + r"でサイズ変更モードにする。(左下に"resize"と表示される。)

  2. 次の表の通りに操作してフォーカスのあるウィンドウのサイズを変更する。

  3. "Enter"または"Escape"でリサイズモードを終了する。

アクション
操作

横方向に縮める
j

横方向に広げる
;

縦方向に縮める
l

縦方向に広げる
k

ウィンドウの位置に関わらず上記のキーで操作するので、例えば右端にあるウィンドウのサイズを広げる時でも(左側にある"j"ではなく)右側にある";"を入力する。ここが直観的じゃないので注意。


設定

ショートカットの変更などは"~/.i3/config"を編集して行うことができる。


dmenuではなくi3-dmenu-desktopを利用する

デフォルトのdmenuだと\$PATHにあるアプリケーションを起動できるが、.profileに\$PATHを変更するスクリプトを追加しても反映されなかった。(原因は分からず。)

一部のアプリケーションが開ければよいので、dmenuの代わりにi3-dmenu-desktopが実行されるようにした。

...

# start dmenu (a program launcher)
bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
# bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
...

これを以下のように変更する。

...

# start dmenu (a program launcher)
# bindsym $mod+d exec dmenu_run
# There also is the (new) i3-dmenu-desktop which only displays applications
# shipping a .desktop file. It is a wrapper around dmenu, so you need that
# installed.
bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
...

コメントにあるように、i3-dmenu-desktopは.desktopファイルで定義されたアプリケーションだけ表示する。

.desktopファイルについてはこの記事が参考になる。

Ubuntu - UnityのLauncherにコマンドラインで*.desktopファイルを登録する方法 - Qiita