<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ja">
	<id>https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Usatosi</id>
	<title>ArchWiki - 利用者の投稿記録 [ja]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.archlinux.jp/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Usatosi"/>
	<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php/%E7%89%B9%E5%88%A5:%E6%8A%95%E7%A8%BF%E8%A8%98%E9%8C%B2/Usatosi"/>
	<updated>2026-04-18T05:40:06Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=I3&amp;diff=14865</id>
		<title>I3</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=I3&amp;diff=14865"/>
		<updated>2019-07-15T00:13:46Z</updated>

		<summary type="html">&lt;p&gt;Usatosi: /* フォーク先のプロジェクトのURLに変更。 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{DISPLAYTITLE:i3}}&lt;br /&gt;
[[Category:タイル型ウィンドウマネージャ]]&lt;br /&gt;
[[Category:動的ウィンドウマネージャ]]&lt;br /&gt;
[[en:i3]]&lt;br /&gt;
[[ko:I3]]&lt;br /&gt;
[[ru:I3]]&lt;br /&gt;
[[zh-hans:I3]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|デスクトップ環境}}&lt;br /&gt;
{{Related|ディスプレイマネージャ}}&lt;br /&gt;
{{Related|ファイルマネージャの機能}}&lt;br /&gt;
{{Related|ウィンドウマネージャ}}&lt;br /&gt;
{{Related|タイル型ウィンドウマネージャの比較}}&lt;br /&gt;
{{Related|クリップボード}}&lt;br /&gt;
{{Related|自動起動#グラフィカル}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
[https://i3wm.org/ i3] は [[wmii]] にインスパイアされて開発された動的[[Wikipedia:ja:タイル型ウィンドウマネージャ|タイル型ウィンドウマネージャ]]で、主に開発者や上級ユーザーをターゲットにしています。&lt;br /&gt;
&lt;br /&gt;
i3 が公表している目標は、わかりやすいドキュメント、適切なマルチモニタサポート、ウィンドウのツリー構造、[[vim]] のような様々なモードなどです。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
[[公式リポジトリ]]から {{Grp|i3}} [[Pacman#パッケージグループのインストール|パッケージグループ]]を[[インストール]]してください。このグループにはウィンドウマネージャの {{Pkg|i3-wm}} と、[[Wikipedia:ja:標準ストリーム#標準出力 (stdout)|標準出力]]によってステータスラインに書き込みを行う {{Pkg|i3status}}、そして画面ロッカーの {{Pkg|i3lock}} が含まれています。&lt;br /&gt;
&lt;br /&gt;
追加のパッケージは [[Arch User Repository]] から利用可能です。例は[[#パッチ|パッチ]]セクションを見てください。&lt;br /&gt;
&lt;br /&gt;
===ディスプレイマネージャ===&lt;br /&gt;
&lt;br /&gt;
{{Pkg|i3-wm}} はウィンドウマネージャを起動する [[Xsession]] として {{ic|i3.desktop}} を含んでいます。{{ic|i3-with-shmlog.desktop}} はログを有効にします (デバッグに役立ちます)。{{AUR|i3-gnome}} は {{ic|i3}} を [[GNOME]] に統合します。 &lt;br /&gt;
&lt;br /&gt;
===xinitrc===&lt;br /&gt;
&lt;br /&gt;
[[xinitrc]] を編集して、次の行を追加してください:&lt;br /&gt;
&lt;br /&gt;
 exec i3&lt;br /&gt;
&lt;br /&gt;
i3 からの出力を記録したいときは、代わりに次の行を追加してください:&lt;br /&gt;
&lt;br /&gt;
 exec i3 -V &amp;gt;&amp;gt; ~/.config/i3/i3log-$(date +&#039;%F-%k-%M-%S&#039;) 2&amp;gt;&amp;amp;1&lt;br /&gt;
&lt;br /&gt;
キーのマッピングに問題が起こるときは (例: セミコロンの {{ic|;}})、{{Pkg|xorg-xev}} を使うか、または[[特別なキーボードキー]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
 $ xev | grep -A2 --line-buffered &#039;^KeyRelease&#039; | sed -n &#039;/keycode /s/^.*keycode \([0-9]*\).* (.*, \(.*\)).*$/\1 \2/p&#039;&lt;br /&gt;
&lt;br /&gt;
==使用方法==&lt;br /&gt;
&lt;br /&gt;
詳しい情報は [https://i3wm.org/docs 公式のドキュメント]、すなわち [https://i3wm.org/docs/userguide.html i3 User’s Guide] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===キーバインド===&lt;br /&gt;
&lt;br /&gt;
i3 では修飾キー ({{ic|$mod}} と表記されます) を使ってコマンドを呼び出します。デフォルトでは {{ic|Alt}} (Mod1) ですが、{{ic|Super}} (Mod4) も良く使われます。大抵のキーボードでは Super は Windows アイコンが印されたキーになります。Apple キーボードなら Command キーです。&lt;br /&gt;
&lt;br /&gt;
デフォルトのキーバインドについては [https://i3wm.org/docs/refcard.html i3 リファレンスカード] や [https://i3wm.org/docs/userguide.html#_using_i3 Using i3] を見て下さい。新しくショートカットを追加する方法は [https://i3wm.org/docs/userguide.html#keybindings Keyboard bindings] に載っています。&lt;br /&gt;
&lt;br /&gt;
Qwerty 以外のキーボード配列を使っている場合は[[#設定ウィザードとキーボードレイアウト|設定ウィザードとキーボードレイアウト]]に書かれているように設定ウィザードを迂回すると良いでしょう。&lt;br /&gt;
&lt;br /&gt;
===コンテナ===&lt;br /&gt;
&lt;br /&gt;
i3 はコンテナを基本単位としたツリー構造でウィンドウを管理します。この構造は縦や横に分岐していきます。デフォルトではコンテナはタイル状に並べられますが、タブでまとめたり積み重ねるレイアウトに設定したり、フロートさせることもできます (ダイアログウィンドウのように)。フローティングウィンドウは常に一番上に表示されます。&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://i3wm.org/docs/userguide.html#_tree i3 Tree] や [https://www.youtube.com/watch?v=AWA8Pl57UBY Containers and the tree data structure] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===アプリケーションランチャー===&lt;br /&gt;
&lt;br /&gt;
i3 はアプリケーションランチャーとして [[dmenu]] を使っており、デフォルトでは {{ic|$mod+d}} で呼び出せます。dmenu の代わりに、透過機能や xft フォントのサポートなどが搭載されている AUR の {{AUR|dmenu2}} を使うこともできます。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|i3-wm}} には &#039;&#039;dmenu&#039;&#039; の [[Wikipedia:ja:Perl|Perl]] ラッパーである &#039;&#039;i3-dmenu-desktop&#039;&#039; が含まれており、[[デスクトップエントリ]]を利用してインストールされている全てのアプリケーションのリストを作成します。また、{{AUR|j4-dmenu-desktop-git}} パッケージを使うこともできます。こちらは &#039;&#039;i3-dmenu-desktop&#039;&#039; とほぼ同様に使える上に、高速に動作します [https://github.com/enkore/j4-dmenu-desktop/blob/master/README.md]。&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://i3wm.org/docs/userguide.html#configuring Configuring i3] を参照。この記事では &#039;&#039;i3&#039;&#039; の設定ファイルは {{ic|~/.config}} に置くことにします (&#039;&#039;i3-config-wizard&#039;&#039; では {{ic|~/.i3/config}} に作成されます)。&lt;br /&gt;
&lt;br /&gt;
===設定ウィザードとキーボードレイアウト===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i3&#039;&#039; を最初に起動したとき、設定ウィザードの &#039;&#039;i3-config-wizard&#039;&#039; が実行されます。このツールは {{ic|/etc/i3/config.keycodes}} にあるテンプレート設定ファイルを書き換えることで {{ic|~/.i3/config}} を作成します。デフォルトテンプレートには以下の2つの変更が加えられます:&lt;br /&gt;
&lt;br /&gt;
#ウィザードはデフォルトの修飾キーを何にするかユーザーに尋ねます。{{ic|set $mod Mod1}} のような行がテンプレートに追加されます。&lt;br /&gt;
#ユーザーの現在のキーボードレイアウトにあわせて &#039;&#039;bindcode&#039;&#039; 行をすべて &#039;&#039;bindsym&#039;&#039; 行で置き換えます。&lt;br /&gt;
&lt;br /&gt;
後者が実行されることで、4つのナビゲーションショートカット {{ic|j}}, {{ic|k}}, {{ic|l}} と Qwerty キーボードの&amp;quot;セミコロン&amp;quot;が正しいキーシムにマッピングされます。例えば [[Dvorak]] キーボードなら {{ic|h}}, {{ic|t}}, {{ic|n}}, {{ic|s}} になります。ただし副作用として他のキーシムのマッピングが変更されるため Dvorak ユーザーはむしろ混乱してしまうかもしれません。&amp;quot;再起動&amp;quot;は {{ic|$mod1+r}} ではなく {{ic|$mod1+p}} に、&amp;quot;横に分割&amp;quot;は {{ic|$mod1+h}} ではなく {{ic|$mod1+d}} にバインドされます。チュートリアルに記載されているバインドと同じ、覚えやすいキーバインドを使いたい場合は {{ic|/etc/i3/config}} を {{ic|~/.config/i3/config}} (または {{ic|~/.i3/config}}) にコピーしてください。&lt;br /&gt;
&lt;br /&gt;
キーボードレイアウトを頻繁に変更するユーザーなどに対応するために、キーコードによる設定も可能です。&lt;br /&gt;
&lt;br /&gt;
===カラースキーム===&lt;br /&gt;
&lt;br /&gt;
設定ファイルを使ってウィンドウ装飾の色をカスタマイズすることができますが、構文のためにテーマを作成したり共有するのは現実的ではありません。ユーザーが様々なテーマを作るのを楽にさせるプロジェクトが複数存在します。&lt;br /&gt;
&lt;br /&gt;
* {{App|i3-style|JSON オブジェクトで保存されたテーマによって所定の設定を変更します。テーマは何度もカラースキームを調整・修正できるように作られています。|https://github.com/acrisci/i3-style|{{Aur|nodejs-i3-style}}{{Broken package link|{{aur-mirror|nodejs-i3-style}}}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|j4-make-config|あなたの設定をテーマのコレクションや個人用の設定パーツ (たとえばホスト用の設定) と組み合わせます。テーマの簡単な変更や、柔軟でダイナミックな設定のカスタマイズを可能にします。|https://github.com/okraits/j4-make-config|{{Aur|j4-make-config-git}}}}&lt;br /&gt;
&lt;br /&gt;
===i3bar===&lt;br /&gt;
&lt;br /&gt;
i3bar はワークスペースの情報を表示するほかに、次のセクションで説明している、i3status などに入力を行うこともできます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
bar {&lt;br /&gt;
    output            LVDS1&lt;br /&gt;
    status_command    i3status&lt;br /&gt;
    position          top&lt;br /&gt;
    mode              hide&lt;br /&gt;
    workspace_buttons yes&lt;br /&gt;
    tray_output       none&lt;br /&gt;
    &lt;br /&gt;
    font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1&lt;br /&gt;
&lt;br /&gt;
    colors {&lt;br /&gt;
        background #000000&lt;br /&gt;
        statusline #ffffff&lt;br /&gt;
&lt;br /&gt;
        focused_workspace  #ffffff #285577&lt;br /&gt;
        active_workspace   #ffffff #333333&lt;br /&gt;
        inactive_workspace #888888 #222222&lt;br /&gt;
        urgent_workspace   #ffffff #900000&lt;br /&gt;
    }&lt;br /&gt;
&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://i3wm.org/docs/userguide.html#_configuring_i3bar Configuring i3bar] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
====i3bar の代替====&lt;br /&gt;
&lt;br /&gt;
旧来の[[デスクトップ環境]]に入っているようなパネルを使いたいというユーザーもいるかもしれません。起動時に i3 の中でパネルアプリケーションを起動することで他のパネルを使うことができます。&lt;br /&gt;
&lt;br /&gt;
[[Xfce#パネル|XFCE パネル]]の場合、次の行を {{ic|~/.config/i3/config}} のどこかに追加してください:&lt;br /&gt;
&lt;br /&gt;
 exec --no-startup-id xfce4-panel --disable-wm-check&lt;br /&gt;
&lt;br /&gt;
{{Note|[[デスクトップ環境]]固有のパネル機能は基本的に動作しません (例: ワークスペースやセッションを管理するウィジェット)、ただし i3 の機能がそれによって影響を受けることはないはずです。}}&lt;br /&gt;
&lt;br /&gt;
{{ic|~/.config/i3/config}} の {{ic|&amp;lt;nowiki&amp;gt;bar{ }&amp;lt;/nowiki&amp;gt;}} セクションをコメントアウトすることで i3bar は無効にできます。もしくは以下を使ってください:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|&lt;br /&gt;
# bar toggle, hide or show&lt;br /&gt;
bindsym $mod+m bar mode toggle&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
この方法では好きなようにバーを表示したり隠したりできます。&lt;br /&gt;
&lt;br /&gt;
===i3status===&lt;br /&gt;
&lt;br /&gt;
デフォルトの設定ファイルをホームディレクトリにコピーしてください:&lt;br /&gt;
&lt;br /&gt;
 $ cp /etc/i3status.conf ~/.config/i3status/config&lt;br /&gt;
&lt;br /&gt;
デフォルトの設定では定義されていないプラグインがあり、いくつかの設定はあなたのシステムでは無効かもしれません。そのためシステムに応じて設定を更新する必要があります。詳しくは {{ic|man 1 i3status}} を見て下さい。&lt;br /&gt;
&lt;br /&gt;
====i3status の代替====&lt;br /&gt;
&lt;br /&gt;
* {{App|[[conky]]|拡張性の高いシステムモニター。i3bar で使用する場合は [https://i3wm.org/docs/user-contributed/conky-i3bar.html このチュートリアル] を見て下さい。|https://github.com/brndnmtthws/conky|{{Pkg|conky}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3blocks|シェルスクリプトで拡張することができます。クリックイベントや割り込み、ブロックごとによるリフレッシュ間隔の定義などを管理可能。|https://github.com/vivien/i3blocks|{{Pkg|i3blocks}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3phtatus|PHP で書かれた i3status の代替。簡単に拡張できます。|https://github.com/mwgg/i3phtatus}}&lt;br /&gt;
&lt;br /&gt;
* {{App|goi3bar|Go で書かれた i3status の代替。コンポーネントを自由にアップデートすることができます。|https://github.com/denbeigh2000/goi3bar}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3pystatus|デフォルトで多数のプラグインと設定オプションがある拡張可能な Python 3 ステータスバー。|https://github.com/enkore/i3pystatus i3pystatus|{{AUR|i3pystatus-git}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3situation|もうひとつの Python 3 ステータスバージェネレータ。|https://github.com/HarveyHunt/i3situation|{{Aur|i3situation-git}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|j4status|C で書かれており、プラグインで設定ができる、ステータスラインを提供します。追加プラグインは {{Aur|j4status-plugins-git}} に入っています。|http://j4status.j4tools.org/|{{Aur|j4status-git}}}}&lt;br /&gt;
&lt;br /&gt;
====i3status のラッパー====&lt;br /&gt;
&lt;br /&gt;
* {{App|[[en2:h2status|h2status]]|i3status の Bash ラッパー、カスタム json エントリを入力として、非同期のステータスバーの更新だけでなくクリックイベントの処理が可能。|https://wiki.archlinux.org/index.php/H2status|{{Aur|h2status}}{{Broken package link|{{aur-mirror|h2status}}}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3cat|[[go]] ベースのラッパーで外部の複数のソースからの入力を繋げることができます。クリックイベントの処理、ユーザーが定義した信号を子プロセスに転送することが可能。|http://vincent-petithory.github.io/i3cat/|{{AUR|i3cat-git}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|py3status|Python による拡張可能な i3status ラッパー。|https://github.com/ultrabug/py3status|{{Pkg|py3status}}}}&lt;br /&gt;
&lt;br /&gt;
====ステータスバーにアイコンフォント====&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;i3bar&#039;&#039; には XBM アイコンサポートの[[#パッチ|パッチ]]をあてることができますが、代わりにアイコンフォントを使うこともできます。&lt;br /&gt;
&lt;br /&gt;
* {{App|ttf-font-awesome|CSS でカスタマイズできるスケーラブルなベクターアイコン。それぞれの記号の Unicode を記した [http://fortawesome.github.io/Font-Awesome/cheatsheet/ チートシート] があります。|http://fortawesome.github.io/Font-Awesome/|{{Pkg|ttf-font-awesome}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|ttf-font-icons|Awesome と Ionicons の重複をなくしてサイズを合わせたミックス。DejaVu Sans と Awesome が重複しないようにします。|http://kageurufu.net/icons.pdf|{{AUR|ttf-font-icons}}}}&lt;br /&gt;
&lt;br /&gt;
フォントを混ぜ合わせるには、設定ファイルにフォントのフォールバックを定義してください、以下のように {{ic|,}} でフォントを区切ります:&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
bar {&lt;br /&gt;
  ...&lt;br /&gt;
  font pango:DejaVu Sans Mono, Icons 8&lt;br /&gt;
  ...&lt;br /&gt;
&amp;lt;nowiki&amp;gt;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
[https://developer.gnome.org/pango/stable/pango-Fonts.html#pango-font-description-from-string pango syntax] に従って、カンマで区切ったフォントファミリーのリストを記述してそれから一番後ろにサイズをひとつだけ指定してください。各フォントにサイズを設定するのは最後のフォントを除いて無視される原因となります。&lt;br /&gt;
&lt;br /&gt;
最後に、アイコングラフをフォーマット文字列にして {{ic|~/.config/i3status/config}} に入力します。入力するために、上でリンクしているチートシートを見てユニコード番号を使います。入力方法はテキストエディタによって異なります。例えば &amp;quot;ハート&amp;quot; アイコン (ユニコード番号 f004) を入力するには:&lt;br /&gt;
&lt;br /&gt;
*様々な GUI のテキストエディタ (例: [[gedit]] や Leafpad) とターミナル (例: GNOME Terminal, xfce4-terminal): {{ic|ctrl+shift+u}}, {{ic|f004}}, {{ic|Enter}}&lt;br /&gt;
*[[Emacs]]: {{ic|ctrl+x}}, {{ic|8}}, {{ic|Enter}}, {{ic|f004}}, {{ic|Enter}}&lt;br /&gt;
*[[Vim]] (挿入モード): {{ic|Ctrl+v}}, {{ic|uf004}}&lt;br /&gt;
*[[urxvt]]: {{ic|Ctrl+Shift}} を押して、{{ic|f004}} を入力&lt;br /&gt;
&lt;br /&gt;
===ターミナルエミュレータ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは {{ic|$mod+Return}} を押すとターミナルを呼び出すスクリプトの {{ic|i3-sensible-terminal}} が起動します。ターミナルを呼び出す順番については {{ic|man i3-sensible-terminal}} を見て下さい。&lt;br /&gt;
&lt;br /&gt;
他のターミナルを起動するには、{{ic|~/.config/i3/config}} の次の行を変更してください:&lt;br /&gt;
&lt;br /&gt;
 bindsym $mod+Return exec i3-sensible-terminal&lt;br /&gt;
&lt;br /&gt;
または、{{ic|$TERMINAL}} 変数を[[環境変数#ユーザーごと|ローカルで定義]]してください:&lt;br /&gt;
&lt;br /&gt;
 $ export TERMINAL=&#039;&#039;yourterminal&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
===高度なウィンドウナビゲーション===&lt;br /&gt;
&lt;br /&gt;
[http://www.slackword.net/?p=657 i3 window Navigation Tips] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===Jump to open window===&lt;br /&gt;
&lt;br /&gt;
*{{App|quickswitch-i3|i3 でウィンドウを素早く切り替え・確認するための Python ユーティリティ。|https://github.com/OliverUv/quickswitch-for-i3/|{{Aur|quickswitch-i3}}}}&lt;br /&gt;
&lt;br /&gt;
*{{App|i3-wm-scripts|正規表現にマッチする名前を持ったウィンドウを検索してジャンプ。|https://github.com/yiuin/i3-wm-scripts||}}&lt;br /&gt;
&lt;br /&gt;
*{{App|winmenupy|クライアントのリストと一緒に dmenu を起動、ワークスペースの後にソートされます。クライアントを選択するとそのウィンドウにジャンプ。|https://github.com/ziberna/i3-py/blob/master/examples/winmenu.py||}}&lt;br /&gt;
&lt;br /&gt;
*{{App|rofi|スクラッチパッドウィンドウを検索してジャンプして開く。|https://davedavenport.github.io/rofi/|{{Pkg|rofi}}}}&lt;br /&gt;
&lt;br /&gt;
===Jump to urgent window===&lt;br /&gt;
&lt;br /&gt;
{{ic|.i3/config}} に次を追加: [https://faq.i3wm.org/question/853/how-to-jump-to-urgent-workspace/]&lt;br /&gt;
&lt;br /&gt;
 bindsym $mod+x [urgent=latest] focus&lt;br /&gt;
&lt;br /&gt;
===ウィンドウレイアウトの保存と復元===&lt;br /&gt;
&lt;br /&gt;
バージョン 4.8 から、&#039;&#039;i3&#039;&#039; のワークスペースレイアウトの保存・復元が可能になっています。これを行うには、次のパッケージが必要です: [[公式リポジトリ]]の {{Pkg|perl-anyevent-i3}} と {{Pkg|perl-json-xs}}。&lt;br /&gt;
&lt;br /&gt;
{{note|このセクションではワークスペースの現在のウィンドウレイアウトを保存して後から復元する方法だけを説明します。詳細は [https://i3wm.org/docs/layout-saving.html 公式ドキュメント] を参照してください。}}&lt;br /&gt;
&lt;br /&gt;
====ワークスペースの現在のウィンドウレイアウトを保存====&lt;br /&gt;
&lt;br /&gt;
現在のウィンドウレイアウトを保存するには、以下の手順を実行:&lt;br /&gt;
&lt;br /&gt;
#まず、様々なコマンドを使ってワークスペースにウィンドウを開いて適当にリサイズしてください。それぞれのウィンドウを開くのに実行したコマンドを書き出します。&lt;br /&gt;
#次に、新しいワークスペースで、ターミナルを開いて次を実行: {{bc|i3-save-tree --workspace N &amp;gt; ~/.i3/workspace_N.json}}N は保存したいワークスペースの番号に置き換えてください。これで N 番目のワークスペースのレイアウトが {{ic|~/.i3/workspace_N.json}} ファイルに保存されます。&lt;br /&gt;
#作成したファイルを編集してください。次のコマンドで行うことができます: {{bc|&amp;lt;nowiki&amp;gt;tail -n +2 ~/.i3/workspace_N.json | fgrep -v &#039;// splitv&#039; | sed &#039;s|//||g&#039; &amp;gt; ~/.i3/workspace_N.json&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
====ワークスペースのウィンドウレイアウトを復元====&lt;br /&gt;
&lt;br /&gt;
ワークスペースのレイアウトを復元する方法は2つ存在します: スクリプトを書くか、あるいは {{ic|~/.i3/config}} を編集して自動的にレイアウトをロードするかです。このセクションでは前者だけを説明します。後者については [https://i3wm.org/docs/layout-saving.html#_restoring_the_layout 公式ドキュメント] を参照。&lt;br /&gt;
&lt;br /&gt;
前のセクションで保存したレイアウトを復元するには、以下の内容で {{ic|load_layout.sh}} というファイルを作成します:&lt;br /&gt;
&lt;br /&gt;
*最初の行:&lt;br /&gt;
&lt;br /&gt;
{{hc|head=~/load_layout.sh|output=&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
i3-msg &amp;quot;workspace M; append_layout ~/.i3/workspace_N.json&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
M は保存したレイアウトをロードしたいワークスペースの番号に、N は前のセクションで保存したワークスペースの番号に置き換えてください。&lt;br /&gt;
&lt;br /&gt;
*前のセクションでウィンドウを開くのに使用したコマンド (コマンドは括弧で括り、閉じ括弧の前にアンパサンドを追加します)。&lt;br /&gt;
&lt;br /&gt;
例えば、3つの {{ic|uxterm}} ウィンドウを開く場合:&lt;br /&gt;
&lt;br /&gt;
{{hc|head=~/load_layout.sh|output=&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# First we append the saved layout of worspace N to workspace M&lt;br /&gt;
i3-msg &amp;quot;workspace M; append_layout ~/.i3/workspace_N.json&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# And finally we fill the containers with the programs they had&lt;br /&gt;
(uxterm &amp;amp;)&lt;br /&gt;
(uxterm &amp;amp;)&lt;br /&gt;
(uxterm &amp;amp;)&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
それからファイルに実行可能属性を付与:&lt;br /&gt;
&lt;br /&gt;
 $ chmod u+x ~/load_layout.sh&lt;br /&gt;
&lt;br /&gt;
最後に、スクリプトを実行して N 番目のワークスペースのレイアウトを M 番目のワークスペースにロードします:&lt;br /&gt;
&lt;br /&gt;
 $ ~/load_layout.sh&lt;br /&gt;
&lt;br /&gt;
{{tip|{{ic|~/.i3/config}} に {{ic|bindsym $mod+g exec ~/load_layout.sh}} を追加して i3 を再起動することで Mod+g で上記のスクリプトを実行できるようになります。}}&lt;br /&gt;
&lt;br /&gt;
{{note|上のスクリプトが上手く動作しない場合、[https://i3wm.org/docs/layout-saving.html#_editing_layout_files 公式ドキュメント] を参照してください。{{ic|~/.i3/workspace_N.json}} の &#039;&#039;swallows&#039;&#039; セクションを手動で編集する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
===スクラッチパッドコンテナ===&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、[https://i3wm.org/docs/userguide.html#_scratchpad スクラッチパッド] は一つのウィンドウしか含んでいません。しかしながら、コンテナをスクラッチパッドにすることが可能です。&lt;br /&gt;
&lt;br /&gt;
新しいコンテナを作成して (例えば、{{ic|Mod+Enter}})、コンテナを分割し ({{ic|Mod+v}}) 別のコンテナを作成します。親にフォーカスして ({{ic|Mod+a}})、反対方向に分割し ({{ic|Mod+h}})、もう一度作成します。&lt;br /&gt;
&lt;br /&gt;
最初のコンテナにフォーカスして (必要なら親にもフォーカス)、ウィンドウをフロートさせ ({{ic|Mod+Shift+Space}})、スクラッチパッドに移動します ({{ic|Mod+Shift+-}})。これで自由にコンテナを分割できます。&lt;br /&gt;
&lt;br /&gt;
{{Note|フロートしているウィンドウでコンテナのサイズを個別に変更することはできません。ウィンドウをフロートさせる前にコンテナのサイズを変えて下さい。}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|ターミナルアプリケーションしか使わない場合は、代わりに [[tmux]] などのマルチプレクサを使っても良いでしょう。}}&lt;br /&gt;
&lt;br /&gt;
マルチスクラッチパッドについては [https://faq.i3wm.org/question/138/multiple-scratchpad/i3] も参照してください。&lt;br /&gt;
&lt;br /&gt;
===スクリーンセーバーと電源管理===&lt;br /&gt;
&lt;br /&gt;
[[電源管理#xss-lock|xss-lock]] を使うことで i3 セッションの画面ロッカーを登録することが可能です。&lt;br /&gt;
&lt;br /&gt;
もしくは、&#039;&#039;xautolock&#039;&#039; の {{ic|-lockaftersleep}} オプションを使って、スリープやハイバネーションから復帰した後に画面をロックすることができます。{{ic|-time}} オプションは指定時間後に画面をロックします。&lt;br /&gt;
&lt;br /&gt;
 xautolock -time 10 -locker &amp;quot;i3lock -i &#039;background_image.png&#039;&amp;quot; -lockaftersleep &amp;amp;&lt;br /&gt;
&lt;br /&gt;
[[DPMS]] も参照。&lt;br /&gt;
&lt;br /&gt;
===シャットダウン, 再起動, 画面ロック===&lt;br /&gt;
&lt;br /&gt;
シャットダウン、再起動、画面ロックのキーコンビネーションを {{ic|~/.config/i3/config}} に追加することができます。以下の例では[[systemd#電源管理|電源管理]]コマンドを実行する権限がないユーザーに権限を与えるために {{Pkg|polkit}} をインストールする必要があります。&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
set $Locker i3lock &amp;amp;&amp;amp; sleep 1&lt;br /&gt;
&lt;br /&gt;
set $mode_system System (l) lock, (e) logout, (s) suspend, (h) hibernate, (r) reboot, (Shift+s) shutdown&lt;br /&gt;
mode &amp;quot;$mode_system&amp;quot; {&lt;br /&gt;
    bindsym l exec --no-startup-id $Locker, mode &amp;quot;default&amp;quot;&lt;br /&gt;
    bindsym e exec --no-startup-id i3-msg exit, mode &amp;quot;default&amp;quot;&lt;br /&gt;
    bindsym s exec --no-startup-id $Locker &amp;amp;&amp;amp; systemctl suspend, mode &amp;quot;default&amp;quot;&lt;br /&gt;
    bindsym h exec --no-startup-id $Locker &amp;amp;&amp;amp; systemctl hibernate, mode &amp;quot;default&amp;quot;&lt;br /&gt;
    bindsym r exec --no-startup-id systemctl reboot, mode &amp;quot;default&amp;quot;&lt;br /&gt;
    bindsym Shift+s exec --no-startup-id systemctl poweroff -i, mode &amp;quot;default&amp;quot;  &lt;br /&gt;
&lt;br /&gt;
    # back to normal: Enter or Escape&lt;br /&gt;
    bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
    bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
bindsym $mod+Pause mode &amp;quot;$mode_system&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
追加したら {{ic|$mod+pause}} を押すことでプロンプトが表示されます。より複雑な動作をさせたい場合は、スクリプトに分離し、mode の中で参照してください [https://gist.github.com/anonymous/c8cd0a59bf4acb273068]。&lt;br /&gt;
&lt;br /&gt;
{{Note|1=&amp;lt;br&amp;gt;&lt;br /&gt;
* {{ic|sleep 1}} で小さなディレイを追加することで、サスペンドにより起こりうる競合状態を防いでいます [https://bugs.launchpad.net/ubuntu/+source/unity-2d/+bug/830348]。&lt;br /&gt;
* {{ic|systemctl poweroff}} の {{ic|-i}} 引数は、たとえ他のユーザーがログインしていたり ({{Pkg|polkit}} を必要とします)、&#039;&#039;logind&#039;&#039; が (誤って) そのように認識していてもシャットダウンを行います [https://bugs.freedesktop.org/show_bug.cgi?id=62676]。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
他の画面ロッカーについては、[[アプリケーション一覧/セキュリティ#スクリーンロック]]を参照。&lt;br /&gt;
&lt;br /&gt;
===外部ディスプレイの手動管理===&lt;br /&gt;
&lt;br /&gt;
[[xrandr]] を使うことで簡単にディスプレイを管理することができます。以下は i3 の設定ファイルを使って統合する例で、上記の電源管理セクションと同じように振る舞います。&lt;br /&gt;
&lt;br /&gt;
VGA と HDMI 出力が存在するノートパソコンでメニューを使ってオンオフを切り替えます:&lt;br /&gt;
&lt;br /&gt;
 ## Manual management of external displays&lt;br /&gt;
 # Set the shortcuts and what they do&lt;br /&gt;
 set $mode_display Ext Screen (v) VGA ON, (h) HDMI ON, (x) VGA OFF, (y) HDMI OFF&lt;br /&gt;
 mode &amp;quot;$mode_display&amp;quot; {&lt;br /&gt;
     bindsym v exec --no-startup-id xrandr --output VGA1 --auto --right-of LVDS1, mode &amp;quot;default&amp;quot;&lt;br /&gt;
     bindsym h exec --no-startup-id xrandr --output HDMI1 --auto --right-of LVDS1, mode &amp;quot;default&amp;quot;&lt;br /&gt;
     bindsym x exec --no-startup-id xrandr --output VGA1 --auto --off, mode &amp;quot;default&amp;quot;&lt;br /&gt;
     bindsym y exec --no-startup-id xrandr --output HDMI1 --auto --off, mode &amp;quot;default&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
     # back to normal: Enter or Escape&lt;br /&gt;
     bindsym Return mode &amp;quot;default&amp;quot;&lt;br /&gt;
     bindsym Escape mode &amp;quot;default&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 # Declare here the shortcut to bring the display selection menu&lt;br /&gt;
 bindsym $mod+x mode &amp;quot;$mode_display&amp;quot;&lt;br /&gt;
&lt;br /&gt;
オフになったディスプレイで表示していたウィンドウは自動的に他のアクティブなディスプレイに移動されます。&lt;br /&gt;
&lt;br /&gt;
デバイスの名前を確認したいときは、使用したいデバイスを接続して次を実行してください:&lt;br /&gt;
&lt;br /&gt;
 $ xrandr --query&lt;br /&gt;
&lt;br /&gt;
利用可能なオプションについては [[xrandr]] のページや man ページ、[https://i3wm.org/docs/userguide.html i3 ユーザーガイド] や [https://www.reddit.com/r/i3wm i3 reddit の FAQ] を見てください。&lt;br /&gt;
&lt;br /&gt;
===タブまたはスタックによるウェブブラウジング===&lt;br /&gt;
&lt;br /&gt;
タブの管理はブラウザの仕事ではなく、ウィンドウマネージャの仕事だとして、故意にタブを実装していないウェブブラウザというのが存在します。&lt;br /&gt;
&lt;br /&gt;
[[uzbl]] など、タブのないウェブブラウザを i3 で管理するには、次の行を {{ic|~/.config/i3/config}} に追加して下さい:&lt;br /&gt;
&lt;br /&gt;
 for_window [class=&amp;quot;Uzbl-core&amp;quot;] focus child, layout stacking, focus&lt;br /&gt;
&lt;br /&gt;
これはスタックのウェブブラウジング用で、ウィンドウは縦に表示されます。タブブラウジングと違って、たとえブラウザのウィンドウを大量に開いていても、ウィンドウのタイトルを全て見ることができます。&lt;br /&gt;
&lt;br /&gt;
水平方向のタブブラウジングの方が良い場合は (&#039;タブ&#039;)、次を使って下さい:&lt;br /&gt;
&lt;br /&gt;
 for_window [class=&amp;quot;Uzbl-core&amp;quot;] focus child, layout tabbed, focus&lt;br /&gt;
&lt;br /&gt;
===ワークスペース変数===&lt;br /&gt;
&lt;br /&gt;
i3 ではワークスペースを複数定義するので、ワークスペース変数を指定すると便利です。例えば [https://github.com/dkeg/bloat2.0/blob/master/i3config#L55]:&lt;br /&gt;
&lt;br /&gt;
 set $WS1 term&lt;br /&gt;
 set $WS2 web&lt;br /&gt;
 set $WS3 misc&lt;br /&gt;
 set $WS4 media&lt;br /&gt;
 set $WS5 code&lt;br /&gt;
&lt;br /&gt;
次にワークスペースの名前を対応する変数で置き換えます:&lt;br /&gt;
&lt;br /&gt;
 bindsym $mod+1          workspace $WS1&lt;br /&gt;
 ...&lt;br /&gt;
 bindsym $mod+Shift+1    move container to workspace $WS1&lt;br /&gt;
&lt;br /&gt;
詳しくは [https://i3wm.org/docs/userguide.html#_changing_named_workspaces_moving_to_workspaces Changing named workspaces] を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===フロートするダイアログを正しく扱う===&lt;br /&gt;
&lt;br /&gt;
デフォルトではダイアログはフロートモードで開かれることになっていますが [https://i3wm.org/docs/userguide.html#_floating]、ダイアログはタイルモードで開いてしまうこともあります。この挙動を変更するには {{pkg|xorg-xprop}} でダイアログの {{ic|WM_WINDOW_ROLE}} をチェックして適切なルールを {{ic|~/.i3/config}} に追加してください:&lt;br /&gt;
&lt;br /&gt;
 for_window [window_role=&amp;quot;pop-up&amp;quot;] floating enable&lt;br /&gt;
 for_window [window_role=&amp;quot;task_dialog&amp;quot;] floating enable&lt;br /&gt;
&lt;br /&gt;
また、タイトルルールと正規表現を使うこともできます:&lt;br /&gt;
&lt;br /&gt;
 for_window [title=&amp;quot;Preferences$&amp;quot;] floating enable&lt;br /&gt;
&lt;br /&gt;
または {{ic|WM_CLASS}}:&lt;br /&gt;
&lt;br /&gt;
 for_window [class=&amp;quot;(?i)mplayer&amp;quot;] floating enable&lt;br /&gt;
&lt;br /&gt;
===ネットワークのダウンロード・アップロード速度をステータスバーに表示===&lt;br /&gt;
&lt;br /&gt;
上流の [http://code.stapelberg.de/git/i3status/tree/contrib/measure-net-speed.bash スクリプト] を編集して使うことができます。&lt;br /&gt;
&lt;br /&gt;
*システムに応じて両方のネットワークカードをリネームしてください ({{ic|ip addr}} を使ってください)。&lt;br /&gt;
*{{ic|/sys/devices}} でネットワークカードを検索して適切に置き換えます:&lt;br /&gt;
&lt;br /&gt;
 $ find /sys/devices -name &#039;&#039;network_interface&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{{Tip|{{ic|/sys/class/net/&#039;&#039;interface&#039;&#039;/statistics/}} を使うことで PCI の位置に依存しなくなります。}}&lt;br /&gt;
&lt;br /&gt;
スクリプトを適切な場所 (例: {{ic|~/.config/i3}}) に保存して、ステータスプログラムから実行するように設定してください。&lt;br /&gt;
&lt;br /&gt;
==パッチ==&lt;br /&gt;
&lt;br /&gt;
上流にマージされてないパッチがあてられたパッケージが [[AUR]] には存在します:&lt;br /&gt;
&lt;br /&gt;
* {{App|i3bar-icons-git|i3bar で XBM アイコンを表示|https://github.com/ashinkarov/i3-extras|{{AUR|i3bar-icons-git}}{{Broken package link|{{aur-mirror|i3bar-icons-git}}}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3-smart-border|スマートボーダー|https://github.com/ashinkarov/i3-extras|{{AUR|i3-smart-border}}{{Broken package link|{{aur-mirror|i3-smart-border}}}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|i3-wm-iconpatch|タイトルバーアイコンのサポート|https://github.com/ashinkarov/i3-extras|{{AUR|i3-wm-iconpatch}}}}&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
&lt;br /&gt;
===一般===&lt;br /&gt;
&lt;br /&gt;
多くの場合、開発版である {{AUR|i3-git}} と {{AUR|i3status-git}} でバグは修正されているため、上流では開発版を使ってエラーが再現できるかどうか訊いてきます  [https://i3wm.org/docs/debugging.html]。[[デバッグ - トレースを取得#一般]]も見てください。&lt;br /&gt;
&lt;br /&gt;
===i3 メッセージバーのボタンが動作しない===&lt;br /&gt;
&lt;br /&gt;
{{ic|i3-nagbar}} の &amp;quot;Edit config&amp;quot; などのボタンは {{ic|i3-sensible-terminal}} を呼び出します。[[#ターミナルエミュレータ|ターミナルエミュレータ]]が i3 によって認識されていることを確認してください。&lt;br /&gt;
&lt;br /&gt;
===タイル化されたターミナルで行の折り返しがおかしい===&lt;br /&gt;
&lt;br /&gt;
i3 v4.3 以上ではタイル配置したウィンドウのサイズ増加ヒントは無視されます [https://www.mail-archive.com/i3-discuss@i3.zekjur.net/msg00709.html]。これによってターミナルで行が早いところで折り返されてしまうなどの問題が生じます。解決方法としては、問題のウィンドウをフロートさせてから、もう一度タイル化してください。&lt;br /&gt;
&lt;br /&gt;
===マウスカーソルが待機状態のままになる===&lt;br /&gt;
&lt;br /&gt;
起動通知をサポートしていないスクリプやアプリケーションを起動すると、マウスカーソルは60秒間の間、ビジー/砂時計状態になります。&lt;br /&gt;
&lt;br /&gt;
特定のアプリケーションでこの問題を解決するには、{{ic|--no-startup-id}} パラメータを使って下さい、例えば:&lt;br /&gt;
 exec --no-startup-id ~/script&lt;br /&gt;
 bindsym $mod+d exec --no-startup-id dmenu_run&lt;br /&gt;
&lt;br /&gt;
このアニメーションを全てのアプリケーションで無効にするには、[[カーソルテーマ]]を見て下さい。&lt;br /&gt;
&lt;br /&gt;
===キーバインドが反応しない===&lt;br /&gt;
&lt;br /&gt;
標準のキーバインド (キーを押して実行) を使っている場合、[[スクリーンショットの取得#scrot|scrot]] などのツールが動作しないことがあります。そのようなときは、{{ic|--release}} でキーをリリースしてからコマンドを実行してください:&lt;br /&gt;
&lt;br /&gt;
 bindsym --release Print exec --no-startup-id scrot &#039;%Y-%m-%d$&lt;br /&gt;
 bindsym --release Shift+Print exec --no-startup-id scrot &#039;%Y$&lt;br /&gt;
&lt;br /&gt;
[https://i3wm.org/docs/userguide.html#keybindings] を参照。&lt;br /&gt;
&lt;br /&gt;
===ティアリング===&lt;br /&gt;
&lt;br /&gt;
i3 は [http://bugs.i3wm.org/report/ticket/661 ダブルバッファをちゃんと実装していない] ためにティアリングやちらつきが発生することがあります。問題を修正したいときは、[[Xorg#コンポジット|コンポジットマネージャ]]を使ってみて下さい。&lt;br /&gt;
&lt;br /&gt;
===トレイアイコンが表示されない===&lt;br /&gt;
&lt;br /&gt;
デフォルトの {{ic|tray_output primary}} ディレクティブでは &#039;&#039;xrandr&#039;&#039; でプライマリ出力を設定する必要があります。明示的に出力を指定するか、ディレクティブを削除してください [https://github.com/i3/i3/issues/1144]。詳しくは [[Xrandr]] を参照。i3 のバージョン 4.12 から、i3-config-wizard によって作成されるデフォルト設定ではディレクティブが追加されないようになりました。&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
&lt;br /&gt;
*[http://i3wm.org 公式ウェブサイト]&lt;br /&gt;
*[http://www.funtoo.org/I3_Tiling_Window_Manager funtoo Wiki]&lt;br /&gt;
*[http://code.stapelberg.de/git/i3 i3 ソースコード]&lt;br /&gt;
*[https://github.com/ashinkarov/i3-extras i3-extras] - スクリプトとパッチのコレクション&lt;br /&gt;
*[https://github.com/acrisci/i3ipc-glib i3ipc-glib] - i3 拡張のためのライブラリ&lt;br /&gt;
*[https://github.com/veelenga/i3ipc-ruby i3ipc-ruby] - An improved library for i3 extensions in Ruby&lt;br /&gt;
*[http://www.j4tools.org/ j4tools] - non-official tools designed to work with i3&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Arch Linux フォーラム&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[https://bbs.archlinux.org/viewtopic.php?id=99064 The i3 thread] - A general discussion about i3&lt;br /&gt;
*[https://bbs.archlinux.org/viewtopic.php?id=103369 i3 desktop screenshots and config sharing]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;スクリーンキャスト&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*[https://www.youtube.com/watch?v=Wx0eNaGzAZU i3 ウィンドウマネージャの v4.1 スクリーンキャスト]&lt;br /&gt;
*[https://www.youtube.com/watch?v=j1I63wGcvU4&amp;amp;index=1&amp;amp;list=PL5ze0DjYv5DbCv9vNEzFmP6sU7ZmkGzcf i3 window manager v4.1X screencasts]&lt;/div&gt;</summary>
		<author><name>Usatosi</name></author>
	</entry>
</feed>