<?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=Ocean</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=Ocean"/>
	<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/Ocean"/>
	<updated>2026-04-13T13:57:39Z</updated>
	<subtitle>利用者の投稿記録</subtitle>
	<generator>MediaWiki 1.44.3</generator>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Hyprland&amp;diff=38157</id>
		<title>Hyprland</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Hyprland&amp;diff=38157"/>
		<updated>2024-07-21T04:06:56Z</updated>

		<summary type="html">&lt;p&gt;Ocean: /* キーマップ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Wayland コンポジタ]]&lt;br /&gt;
[[en:Hyprland]]&lt;br /&gt;
{{Related articles start}}&lt;br /&gt;
{{Related|ウィンドウマネージャ}}&lt;br /&gt;
{{Related|Wayland}}&lt;br /&gt;
{{Related articles end}}&lt;br /&gt;
&lt;br /&gt;
[https://hyprland.org/ Hyprland]  は C++ で書かれた {{Pkg|wlroots}} ベースのタイリング [[Wayland#コンポジタ|Wayland コンポジタ]] です。Hyprland の特筆すべき点は、ダイナミックタイリング、タブ付きウィンドウ、クリーンで読みやすい C++ コードベース、ウィンドウアニメーションや角丸、透明ウィンドウでの Dual-Kawase Blur を提供するカスタムレンダラーなどです。一般的な使い方や設定方法は、 [https://wiki.hyprland.org/ Hyprland Wiki] に詳しく書かれています。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
次のいずれかをインストールします:&lt;br /&gt;
&lt;br /&gt;
* {{Pkg|hyprland}} - 最新のアップストリームリリース。&lt;br /&gt;
* {{AUR|hyprland-git}} - master ブランチへの最新のコミット。&lt;br /&gt;
&lt;br /&gt;
Hyprland は、{{AUR|wlroots-git}} に厳密に従う独自のバージョンの wlroots をバンドルしています。これにより、安定性が向上すると同時に、他の wlroots ベースのコンポジターとの依存関係の競合も回避されます。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* [[NVIDIA]] GPU ユーザーは、Hyprland を起動する前に、[https://wiki.hyprland.org/Nvidia 上流 Wiki] のNVIDIA専用ページにも必ず従ってください。これを怠ると、ログインできない、ウィンドウが点滅する、CPU使用率が高いなど、多くのバグが発生する可能性があります。&lt;br /&gt;
* Hyprland での NVIDIA GPU の使用はサポートされていません。問題が起きても全て自己責任でお願いします。&lt;br /&gt;
* また、[[Polkit]] パッケージも必ずインストールしてください。({{ic|logind missing permissions}}).&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
&lt;br /&gt;
{{Note|リストされているオプションのほとんど (およびその他) は、[https://wiki.hyprland.org/Cconfiguring/Variables/upstream Wiki] の変数ページで詳しく説明されています。}}&lt;br /&gt;
&lt;br /&gt;
設定は 1 つの設定ファイル、[https://github.com/vaxerski/Hyprland/blob/main/example/hyprland.conf hyprland.conf] を通して行われます。パッケージマネージャで Hyprland をインストールした場合、おそらく /usr/share/hyprland/hyprland.conf にあります。ソースからインストールした場合は、Hyprland をクローンしたレポジトリにあります。hyprland.conf を {{ic|~/.config/hypr/hyprland.conf}} にコピーしてください。&lt;br /&gt;
&lt;br /&gt;
{{ic|hyprland.conf}} には、デバイス (モニタ、キーボード、マウス、トラックパッド) を設定するディレクティブと、アニメーション、装飾、レイアウトなどの設定が含まれています。キーバインディングやウィンドウのルールを設定したり、コマンドを実行したりできます (一度だけ、あるいはコンフィグが再読み込みされるたびに)&lt;br /&gt;
&lt;br /&gt;
ファイルを更新するたびに設定が自動的にリロードされます。同じ効果を得るために {{ic|hyprctl reload}} を使うこともできます。いくつかの設定(特に入力設定)については、Hyprland セッションを再起動する必要があるかもしれません。&lt;br /&gt;
&lt;br /&gt;
設定は {{ic|hyprctl}} を使用してその場で変更することもできますが、保存されません。&lt;br /&gt;
&lt;br /&gt;
=== キーボード ===&lt;br /&gt;
&lt;br /&gt;
==== キーマップ ====&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、Hyprland は {{ic|US Qwerty}} を使用します。次のように設定できます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# German Colemark layout&lt;br /&gt;
input {&lt;br /&gt;
    ...&lt;br /&gt;
    kb_layout = de&lt;br /&gt;
    kb_variant = colemark&lt;br /&gt;
    ...&lt;br /&gt;
    }&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
利用可能なすべてのオプションについては、[https://wiki.hyprland.org/Configuring/Variables/#input 上流 Wiki] を参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|Hyprland は [[ロケール]] 定義をオーバーライドするため、{{ic|US}} レイアウトキーボードを使用しない場合はキーマップを変更する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
==== 典型的な遅延と速度 ====&lt;br /&gt;
&lt;br /&gt;
Xorg ユーザーはこの設定を [[Xorg/キーボード設定#オートリピートの遅延と速度の調整|サーバーレベルで定義]] で使用することに慣れていますが、Wayland では各コンポジターがそれを独自に処理します。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Repeat rate and delay&lt;br /&gt;
input {&lt;br /&gt;
    ...&lt;br /&gt;
    repeat_rate = 25&lt;br /&gt;
    repeat_delay = 600&lt;br /&gt;
    ...&lt;br /&gt;
    }&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== キーボードのバックライト ====&lt;br /&gt;
&lt;br /&gt;
他の照明コントロールとは異なり、キーボードバックライトには {{ic|XF86}} キーシムがないため、従来のバインドを行う必要があります。&lt;br /&gt;
&lt;br /&gt;
{{Pkg|brightnessctl}} を [[インストール]] します、次のバインドを追加します。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Keyboard backlight&lt;br /&gt;
bind = SUPER, F3, exec, brightnessctl -d *::kbd_backlight set +33%&lt;br /&gt;
bind = SUPER, F2, exec, brightnessctl -d *::kbd_backlight set 33%-&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
変更が行われたときに [[Hyprland#画面上の通知|画面上の通知]] を実行することもできます。&lt;br /&gt;
&lt;br /&gt;
{{Note|ラップトップにハードウェアキーボードバックライトコントロール (キーボードの {{ic|Fn}} キーを使用) がある場合、追加の手順なしで機能するはずです。}}&lt;br /&gt;
&lt;br /&gt;
==== メディアキー ====&lt;br /&gt;
&lt;br /&gt;
Hyprland でキーボードメディアコントロールを使用するには、{{ic|XF86Audio}} キーシムと、{{Pkg|pavucontrol}} または {{Pkg|pamixer}} や [[MPRIS#Playerctl|playerctl]] などの外部アプリケーションを利用することで可能です。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Volume and Media Control&lt;br /&gt;
bind = , XF86AudioRaiseVolume, exec, pamixer -i 5 &lt;br /&gt;
bind = , XF86AudioLowerVolume, exec, pamixer -d 5 &lt;br /&gt;
bind = , XF86AudioMicMute, exec, pamixer --default-source -m&lt;br /&gt;
bind = , XF86AudioMute, exec, pamixer -t&lt;br /&gt;
bind = , XF86AudioPlay, exec, playerctl play-pause&lt;br /&gt;
bind = , XF86AudioPause, exec, playerctl play-pause&lt;br /&gt;
bind = , XF86AudioNext, exec, playerctl next&lt;br /&gt;
bind = , XF86AudioPrev, exec, playerctl previous&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
変更が行われたときに [[Hyprland#画面上の通知|通知]] を実行することもできます。&lt;br /&gt;
&lt;br /&gt;
=== タッチパッドのジェスチャ ===&lt;br /&gt;
&lt;br /&gt;
[[Wayland]] コンポジタである Hyprland はタッチパッドジェスチャを完全にサポートしていますが、デフォルトでは無効になっています。それらを有効にするには、次を編集します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Enable touchpad gestures&lt;br /&gt;
gestures {&lt;br /&gt;
    workspace_swipe = true&lt;br /&gt;
    workspace_swipe_fingers = 3&lt;br /&gt;
}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
利用可能なすべてのオプションについては、[https://wiki.hyprland.org/Cconfiguring/Variables/#gestures 上流 Wiki] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== ディスプレイの設定 ===&lt;br /&gt;
&lt;br /&gt;
==== 画面共有 ====&lt;br /&gt;
&lt;br /&gt;
[https://wiki.hyprland.org/Useful-Utilities/Screen-Sharing/ Screen-sharing] を参照してください。&lt;br /&gt;
&lt;br /&gt;
wlroots ベースのコンポジタとして、Hyprland は {{Pkg|xdg-desktop-portal-wlr}} を利用して、[[xdg-desktop-portal]] 経由でさまざまなアプリケーションで画面キャプチャを有効にすることができます。&lt;br /&gt;
&lt;br /&gt;
Hyprland は、領域共有、ウィンドウ共有、グラフィカルピッカーユーティリティなどの機能を追加した wlr ポータルのフォークである {{Pkg|xdg-desktop-portal-hyprland}} も保守しています。ポータルの使用法については、[https://wiki.hyprland.org/Useful-Utilities/Hyprland-desktop-portal/ Hyprland wiki] で詳しく説明されています。&lt;br /&gt;
&lt;br /&gt;
==== 画面解像度の設定 ====&lt;br /&gt;
&lt;br /&gt;
Hyprland は画面解像度を自動的に検出しようとしますが、複数の画面が存在する場合やハイブリッドラップトップを使用している場合は、場合によっては失敗し、デフォルトでフェールセーフが設定されます。画面上のすべてが大きい場合は、デフォルトのモニターと解像度を設定する必要があります。&lt;br /&gt;
&lt;br /&gt;
まず、&#039;&#039;hyprctl&#039;&#039; を使用してデフォルトのモニターを見つけます:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ hyprctl monitors|2=&lt;br /&gt;
Monitor &#039;&#039;&#039;eDP-1&#039;&#039;&#039; (ID 0):&lt;br /&gt;
        &#039;&#039;&#039;1920x1080@144&#039;&#039;&#039;.003006 at &#039;&#039;&#039;0x0&#039;&#039;&#039;&lt;br /&gt;
        description: Chimei Innolux Corporation 0x153C (eDP-1)&lt;br /&gt;
        ...&lt;br /&gt;
 }}&lt;br /&gt;
&lt;br /&gt;
次に、モニターを設定に追加します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
# Monitor details&lt;br /&gt;
monitor=eDP-1,1920x1080@144,0x0,1&lt;br /&gt;
...}}&lt;br /&gt;
&lt;br /&gt;
{{ic|0x0}} はマルチスクリーン設定に使用される位置オフセットで、最後の {{ic|1}} は画面のスケーリング係数です。&lt;br /&gt;
&lt;br /&gt;
==== 画面のバックライト ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|brightnessctl}} を [[インストール]] して、次のバインドを追加します。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Screen brightness&lt;br /&gt;
bind = , XF86MonBrightnessUp, exec, brightnessctl -s +5%&lt;br /&gt;
bind = , XF86MonBrightnessDown, exec, brightnessctl -s 5%-&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
変更が行われたときに [[Hyprland#画面上の通知|通知]] を実行することもできます。&lt;br /&gt;
&lt;br /&gt;
== 使用方法 ==&lt;br /&gt;
&lt;br /&gt;
=== 起動 ===&lt;br /&gt;
&lt;br /&gt;
現在、Hyprland は TTY から起動することを推奨しています。&lt;br /&gt;
&lt;br /&gt;
 $ Hyprland&lt;br /&gt;
&lt;br /&gt;
[[ディスプレイマネージャ]] からの起動は公式にはサポートされていませんが、[[GDM]]、[[SDDM]]、その他からの起動に成功したとの報告があります。全ての Hyprland AUR パッケージは自動的にディスプレイマネージャーエントリーを生成します。ソースから手動でインストールする場合、ソースコードの example ディレクトリに {{ic|Hyprland.desktop}} ファイルのサンプルがあります、これを {{ic|/usr/share/wayland-sessions/}} にコピーしてディスプレイマネージャーのエントリーを提供することができます。&lt;br /&gt;
&lt;br /&gt;
どちらの方法でも、いくつかの環境変数やサービスを追加したり削除したりすることで、同じ結果を得ることができます&lt;br /&gt;
&lt;br /&gt;
=== 自動ログイン ===&lt;br /&gt;
&lt;br /&gt;
[[ディスプレイマネージャ]] または [[xinit#ログイン時に X を自動起動|シェルから]] ユーザーは自動的にログインできます。&lt;br /&gt;
&lt;br /&gt;
=== hyprctl と IPC ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;hyprctl&#039;&#039; は Hyprland にインストールされている、ディスプレイサーバーと通信するためのコマンドライン・ユーティリティです。サーバーにコマンドを送ったり (設定ファイルのコマンドと同じですが、構文が少し違います)、キーワードを設定したり、クエリ を送ったり、情報を要求したりすることができます。[https://github.com/vaxerski/Hyprland/wiki/Using-hyprctl full documentation] を参照してください。&lt;br /&gt;
&lt;br /&gt;
Hyprland は [https://wiki.hyprland.org/IPC/ 2 つの UNIX ソケット] も公開しており、コードやコマンドライン・ユーティリティを使って Hyprland の情報を制御・取得することができます。これらのソケットはフォーカスの変更 (ウィンドウ、ワークスペース、モニター) やウィンドウ/ワークスペースの作成などのイベントをブロードキャストします。&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;hyprctl&#039;&#039; と IPC ソケットは、複雑なタスクのために Hyprland を制御するスクリプトの中で効果的に使うことができます。&lt;br /&gt;
&lt;br /&gt;
=== exec と exec-once の比較 ===&lt;br /&gt;
&lt;br /&gt;
アプリケーションを起動するときは、正しいタイプのディスパッチャを使用することが重要です。{{ic|exec}} を誤って使用すると、アプリケーションが複数回起動されてシステムリソースが占有され、最悪の場合、競合状態が発生してシステムがクラッシュする可能性があります。&lt;br /&gt;
&lt;br /&gt;
{{Note|[[Hyprland#設定|設定]] で説明したように、Hyprland は &#039;&#039;ファイルへの変更が保存されるたびに&#039;&#039; 自動的に {{ic|hyprland.conf}} を解析します。すべてに {{ic|exec}} を使用しないでください。&lt;br /&gt;
&lt;br /&gt;
ほとんどの場合、起動時にアプリケーションとデーモンを起動するには、{{ic|exec-once}} を使用する必要があります。このコマンドはリロードで再度実行されないため、{{ic|exec}} は、絶対に実行する場合にのみ使用してください。リロードのたびにコマンドを再度実行することが &#039;&#039;&#039;確実な場合にのみ&#039;&#039;&#039; exec を使用してください。}}&lt;br /&gt;
&lt;br /&gt;
=== 環境変数の設定 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;env&#039;&#039; キーワードを使用して、[[環境変数]] を {{ic|hyprland.conf}} に直接設定できます。このキーワードの構文は、シェルで使用される &#039;&#039;env&#039;&#039; UNIX コマンドとは異なります。&lt;br /&gt;
&lt;br /&gt;
違いについては、[https://wiki.hyprland.org/Configuring/Environment-variables/ 上流の Wiki] で説明されています。&lt;br /&gt;
&lt;br /&gt;
== ヒントとテクニック ==&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* 以下のすべてのセクションでは、通常、同様の結果を達成する方法が複数あります。ここで提供するものはすべて基本的な例です。&lt;br /&gt;
* 代替手段の包括的なリストについては、[[アプリケーション一覧]] を参照してください。Hyprland 固有のリストは、[https://wiki.hyprland.org/Useful-Utilities/ 上流 Wiki] にあります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== ファイルマネージャー ===&lt;br /&gt;
&lt;br /&gt;
グラフィカルなファイル管理が必要な場合、Hyprland には Wayland 互換の外部アプリケーションが必要です。例として {{Pkg|thunar}} を使用すると、次のようにキーバインドを割り当てるだけで済みます。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
bind = SUPER, E, exec, thunar&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== アプリケーションランチャー ===&lt;br /&gt;
&lt;br /&gt;
Hyprland では、アプリケーションを起動するために Wayland と互換性のある外部アプリケーションが必要です。例として {{Pkg|wofi}} を使用すると、次のようにキーバインドを割り当てるだけで済みます。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
bind = SUPER, F, exec, wofi&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== アイドル状態 ===&lt;br /&gt;
&lt;br /&gt;
Hyprland には、Wayland 互換の外部アイドル管理デーモンが必要です。最も一般的なセットアップは、{{Pkg|swayidle}} と {{Pkg|swaylock}} です。次のようにバインドを使用して画面を手動でロックできます。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
bind = SUPER, L, exec, swaylock -f -c 000000&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== 自動画面ロックとサスペンド ====&lt;br /&gt;
&lt;br /&gt;
次のスクリプトを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/sleep.sh|2=&lt;br /&gt;
swayidle -w timeout 300 &#039;swaylock -f -c 000000&#039; \&lt;br /&gt;
            timeout 600 &#039;systemctl suspend&#039; \&lt;br /&gt;
            before-sleep &#039;swaylock -f -c 000000&#039; &amp;amp;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|&lt;br /&gt;
* 数値を編集することでタイムアウト期間を秒単位で調整できます。300 は 5 分、600 は 10 分などです。&lt;br /&gt;
* スクリプトは [[ヘルプ:読み方#実行可能属性の付与|実行可能ファイル]] である必要があります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、それを呼び出します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
exec-once = ~/.config/hypr/scripts/sleep.sh&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== タイムアウト期間後に DPMS を使用して画面をオフにする ====&lt;br /&gt;
&lt;br /&gt;
Hyprland には DPMS リクエストを処理する組み込みディスパッチャがありますが、これを直接キーバインドとして使用することはお勧めできません。使用すると、画面を再びオンにできなくなり、再起動が必要になります。&lt;br /&gt;
&lt;br /&gt;
上記のスクリプトを編集して次のように変更します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/sleep.sh|2=&lt;br /&gt;
swayidle -w timeout 300 &#039;swaylock -f -c 000000&#039; \&lt;br /&gt;
            timeout 600 &#039;hyprctl dispatch dpms off&#039; \&lt;br /&gt;
            resume &#039;hyprctl dispatch dpms on&#039; \&lt;br /&gt;
            timeout 900 &#039;systemctl suspend&#039; \&lt;br /&gt;
            before-sleep &#039;swaylock -f -c 000000&#039; &amp;amp;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{Tip|&#039;&#039;resume&#039;&#039; コマンドは前のコマンドにリンクされているため、正しく機能するには、{{ic|hyprctldispatch dpms on}} コマンドをスクリプト内の {{ic|hyprctldispatch dpms off}} コマンドの直後に指定する必要があります。}}&lt;br /&gt;
&lt;br /&gt;
===== アプリケーションの使用中に DPMS を停止する =====&lt;br /&gt;
&lt;br /&gt;
上記の設定を行うと、ゲームをプレイしたり、ビデオを見たり、音楽を聴いたりするなど、タイムアウト期間を超えてシステムに触らない可能性のある作業を行っているときにモニターの電源がオフになります。&lt;br /&gt;
&lt;br /&gt;
これを修正するには、{{ic|idleinhibit}} ルールを持つ [https://wiki.hyprland.org/Cconfiguring/Window-Rules#window-rules-v2 Window Rules V2] 関数に組み込まれた Hyprlands を使用するか、{{AUR|idlehack-git}} または {{AUR|sway-audio-idle-inhibit-git}} のいずれかをインストールします。前者は、[[Firefox]] または [[Chromium]] がオーディオ/ビデオを再生しているときは常に [[D-Bus]] を使用して Swayidle リクエストを防止します。後者は、アプリケーションがオーディオを再生しているときは常に Swayidle リクエストを阻止します。&lt;br /&gt;
&lt;br /&gt;
スクリーンセーバーを一時停止するために {{ic|org.freedesktop.ScreenSaver.inhibit}} を使うプログラムについては、{{AUR|wscreensaver-bridge-git}} をインストールすることで Hyprland (または {{ic|idle-inhibit}} プロトコルをサポートする Wayland コンポジター) に実装することができます。&lt;br /&gt;
&lt;br /&gt;
=== ステータスバー ===&lt;br /&gt;
&lt;br /&gt;
Hyprland でステータス バーを表示するには、Wayland 互換の外部アプリケーションが必要です。例として {{Pkg|waybar}} を使用すると、次のように呼び出すだけで済みます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
exec-once = waybar -c ~/.config/waybar/waybar.conf&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== ワークスペースの概要 ====&lt;br /&gt;
&lt;br /&gt;
{{Pkg|waybar}} には、Hyprland ワークスペースの切り替えをネイティブにサポートする、完全にカスタマイズ可能なモジュールが組み込まれています。&lt;br /&gt;
&lt;br /&gt;
詳細については、waybar Wiki [https://github.com/Alexays/Waybar/wiki/Module:-Workspaces] を参照してください。&lt;br /&gt;
&lt;br /&gt;
=== Polkit 認証 ===&lt;br /&gt;
&lt;br /&gt;
[[Polkit]] 認証には、外部 [[Polkit#Authentication エージェント|認証エージェント]] の使用が必要です。Hyprland では {{Pkg|polkit-kde-agent}} の使用を推奨していますが、どれでも機能するはずです。&lt;br /&gt;
&lt;br /&gt;
次のように呼び出します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
exec-once = /usr/lib/polkit-kde-authentication-agent-1&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== デスクトップの壁紙 ===&lt;br /&gt;
&lt;br /&gt;
Hyprland では、デスクトップの壁紙を管理するために、Wayland と互換性のある外部アプリケーションが必要です。例として {{AUR|swww}} を使用すると、次のように呼び出すだけで済みます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
exec-once = swww init&lt;br /&gt;
exec-once = swww img &#039;&#039;path/to/image&#039;&#039;&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== スクリプトを使用して X 分ごとに壁紙を変更する ====&lt;br /&gt;
&lt;br /&gt;
次のスクリプトを作成し、[[ヘルプ:読み方#実行可能属性の付与|実行可能ファイル]] であることを確認します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/swww-random|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# This script will randomly go through the files of a directory, setting it&lt;br /&gt;
# up as the wallpaper at regular intervals&lt;br /&gt;
#&lt;br /&gt;
# NOTE: this script uses bash (not POSIX shell) for the RANDOM variable&lt;br /&gt;
&lt;br /&gt;
if [[ $# -lt 1 ]] || [[ ! -d $1   ]]; then&lt;br /&gt;
	echo &amp;quot;Usage:&lt;br /&gt;
	$0 &amp;lt;dir containing images&amp;gt;&amp;quot;&lt;br /&gt;
	exit 1&lt;br /&gt;
fi&lt;br /&gt;
&lt;br /&gt;
# Edit below to control the images transition&lt;br /&gt;
export SWWW_TRANSITION_FPS=144&lt;br /&gt;
export SWWW_TRANSITION_STEP=2&lt;br /&gt;
export SWWW_TRANSITION_TYPE=random&lt;br /&gt;
&lt;br /&gt;
# This controls (in seconds) when to switch to the next image&lt;br /&gt;
INTERVAL=300&lt;br /&gt;
&lt;br /&gt;
while true; do&lt;br /&gt;
	find &amp;quot;$1&amp;quot; \&lt;br /&gt;
		| while read -r img; do&lt;br /&gt;
			echo &amp;quot;$((RANDOM % 1000)):$img&amp;quot;&lt;br /&gt;
		done \&lt;br /&gt;
		| sort -n | cut -d&#039;:&#039; -f2- \&lt;br /&gt;
		| while read -r img; do&lt;br /&gt;
			swww img &amp;quot;$img&amp;quot;&lt;br /&gt;
			sleep $INTERVAL&lt;br /&gt;
		done&lt;br /&gt;
done&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、背景画像を保存する新しいフォルダーを作成します。{{ic|~/.config/hypr/backgrounds}} のようなフォルダーを作成し、そこに必要な画像を追加します。&lt;br /&gt;
&lt;br /&gt;
最後にスクリプトを呼び出します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
exec-once = swww init&lt;br /&gt;
exec-once = ~/.config/hypr/scripts/swww-random ~/.config/hypr/background&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 画面上の通知 ===&lt;br /&gt;
&lt;br /&gt;
外部通知デーモンを使用すると、明るさや音量の変更などのアクションを画面上で通知できます。これは非常に複雑なトピックなので、完全に説明することはこのページの範囲を超えています。むしろ、このセクションでは {{Pkg|mako}} に焦点を当てますので、[[インストール]] してください。&lt;br /&gt;
&lt;br /&gt;
詳細な手順については [[デスクトップ通知]] を、代替手段のリストについては [[デスクトップ通知#スタンドアロン]] を参照してください。&lt;br /&gt;
&lt;br /&gt;
{{Note|&lt;br /&gt;
* ここで提供されるすべてのスクリプトは例であり、セットアップに合わせて調整する必要があります。&lt;br /&gt;
* このセクションのすべてのスクリプトは [[ヘルプ:読み方#実行可能属性の付与|実行可能ファイル]] である必要があります。&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== Mako ====&lt;br /&gt;
&lt;br /&gt;
Mako は軽量の通知デーモンです。詳細については、{{man|5|mako}} を参照してください。設定ファイルは {{ic|~/.config/mako/config}} で、OSD に使用されるアイコンは {{ic|~/.config/mako/icons/}} に保存されており、PNG 形式である必要があります。&lt;br /&gt;
&lt;br /&gt;
このセクションの残りの部分では、スクリプトで使用されるすべてのイメージは [https://github.com/SolDoesTech/HyprV4/tree/main/HyprV/mako/icons この GitHub フォルダー] から入手できます。&lt;br /&gt;
&lt;br /&gt;
===== キーボードのバックライト通知 =====&lt;br /&gt;
&lt;br /&gt;
まず次のスクリプトを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/kbbacklight|2=&lt;br /&gt;
&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
iDIR=&amp;quot;$HOME/.config/mako/icons&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get brightness&lt;br /&gt;
get_backlight() {&lt;br /&gt;
	LIGHT=&amp;quot;$(cat /sys/class/leds/*::kbd_backlight/brightness)&amp;quot;&lt;br /&gt;
	echo &amp;quot;${LIGHT}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get icons&lt;br /&gt;
get_icon() {&lt;br /&gt;
	current=&amp;quot;$(cat /sys/class/leds/*::kbd_backlight/brightness)&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;0&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;1&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-20.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;1&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;2&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-60.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;2&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;3&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-100.png&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Notify&lt;br /&gt;
notify_user() {&lt;br /&gt;
	notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$icon&amp;quot; &amp;quot;Keyboard Brightness : $(brightnessctl -d &#039;*::kbd_backlight&#039; g)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Increase brightness&lt;br /&gt;
inc_backlight() {&lt;br /&gt;
	brightnessctl -d *::kbd_backlight set 33%+ &amp;amp;&amp;amp; get_icon &amp;amp;&amp;amp; notify_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Decrease brightness&lt;br /&gt;
dec_backlight() {&lt;br /&gt;
	brightnessctl -d *::kbd_backlight set 33%- &amp;amp;&amp;amp; get_icon &amp;amp;&amp;amp; notify_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Zero brightness&lt;br /&gt;
zero_backlight() {&lt;br /&gt;
	brightnessctl -d *::kbd_backlight s 0%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Full brightness&lt;br /&gt;
full_backlight() {&lt;br /&gt;
	brightnessctl -d *::kbd_backlight s 100%&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Execute accordingly&lt;br /&gt;
if [[ &amp;quot;$1&amp;quot; == &amp;quot;--get&amp;quot; ]]; then&lt;br /&gt;
	brightnessctl -d &#039;*::kbd_backlight&#039; g&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--inc&amp;quot; ]]; then&lt;br /&gt;
	inc_backlight&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--dec&amp;quot; ]]; then&lt;br /&gt;
	dec_backlight&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--zero&amp;quot; ]]; then&lt;br /&gt;
	zero_backlight&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--full&amp;quot; ]]; then&lt;br /&gt;
	full_backlight&lt;br /&gt;
&lt;br /&gt;
else&lt;br /&gt;
	get_backlight&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、以下を追加します (または既存のバインドを編集します):&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Keyboard brightness&lt;br /&gt;
bind = SUPER, F2, exec, ~/.config/hypr/scripts/kbbacklight --dec&lt;br /&gt;
bind = SUPER, F3, exec, ~/.config/hypr/scripts/kbbacklight --inc&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== メディアキーの通知 =====&lt;br /&gt;
&lt;br /&gt;
まず次のスクリプトを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/volume|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
iDIR=&amp;quot;$HOME/.config/mako/icons&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get Volume&lt;br /&gt;
get_volume() {&lt;br /&gt;
	volume=$(pamixer --get-volume)&lt;br /&gt;
	echo &amp;quot;$volume&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get icons&lt;br /&gt;
get_icon() {&lt;br /&gt;
	current=$(get_volume)&lt;br /&gt;
	if [[ &amp;quot;$current&amp;quot; -eq &amp;quot;0&amp;quot; ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/volume-mute.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;0&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;30&amp;quot;) ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/volume-low.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;30&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;60&amp;quot;) ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/volume-mid.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;60&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;100&amp;quot;) ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/volume-high.png&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Notify&lt;br /&gt;
notify_user() {&lt;br /&gt;
	notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$(get_icon)&amp;quot; &amp;quot;Volume : $(get_volume) %&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Increase Volume&lt;br /&gt;
inc_volume() {&lt;br /&gt;
	pamixer -i 5 &amp;amp;&amp;amp; notify_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Decrease Volume&lt;br /&gt;
dec_volume() {&lt;br /&gt;
	pamixer -d 5 &amp;amp;&amp;amp; notify_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Toggle Mute&lt;br /&gt;
toggle_mute() {&lt;br /&gt;
	if [ &amp;quot;$(pamixer --get-mute)&amp;quot; == &amp;quot;false&amp;quot; ]; then&lt;br /&gt;
		pamixer -m &amp;amp;&amp;amp; notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$iDIR/volume-mute.png&amp;quot; &amp;quot;Volume Switched OFF&amp;quot;&lt;br /&gt;
	elif [ &amp;quot;$(pamixer --get-mute)&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
		pamixer -u &amp;amp;&amp;amp; notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$(get_icon)&amp;quot; &amp;quot;Volume Switched ON&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Toggle Mic&lt;br /&gt;
toggle_mic() {&lt;br /&gt;
	if [ &amp;quot;$(pamixer --default-source --get-mute)&amp;quot; == &amp;quot;false&amp;quot; ]; then&lt;br /&gt;
		pamixer --default-source -m &amp;amp;&amp;amp; notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$iDIR/microphone-mute.png&amp;quot; &amp;quot;Microphone Switched OFF&amp;quot;&lt;br /&gt;
	elif [ &amp;quot;$(pamixer --default-source --get-mute)&amp;quot; == &amp;quot;true&amp;quot; ]; then&lt;br /&gt;
		pamixer -u --default-source u &amp;amp;&amp;amp; notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$iDIR/microphone.png&amp;quot; &amp;quot;Microphone Switched ON&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
# Get icons&lt;br /&gt;
get_mic_icon() {&lt;br /&gt;
	current=$(pamixer --default-source --get-volume)&lt;br /&gt;
	if [[ &amp;quot;$current&amp;quot; -eq &amp;quot;0&amp;quot; ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/microphone.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;0&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;30&amp;quot;) ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/microphone.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;30&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;60&amp;quot;) ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/microphone.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;60&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;100&amp;quot;) ]]; then&lt;br /&gt;
		echo &amp;quot;$iDIR/microphone.png&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
# Notify&lt;br /&gt;
notify_mic_user() {&lt;br /&gt;
	notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$(get_mic_icon)&amp;quot; &amp;quot;Mic-Level : $(pamixer --default-source --get-volume) %&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Increase MIC Volume&lt;br /&gt;
inc_mic_volume() {&lt;br /&gt;
	pamixer --default-source -i 5 &amp;amp;&amp;amp; notify_mic_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Decrease MIC Volume&lt;br /&gt;
dec_mic_volume() {&lt;br /&gt;
	pamixer --default-source -d 5 &amp;amp;&amp;amp; notify_mic_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Execute accordingly&lt;br /&gt;
if [[ &amp;quot;$1&amp;quot; == &amp;quot;--get&amp;quot; ]]; then&lt;br /&gt;
	get_volume&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--inc&amp;quot; ]]; then&lt;br /&gt;
	inc_volume&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--dec&amp;quot; ]]; then&lt;br /&gt;
	dec_volume&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--toggle&amp;quot; ]]; then&lt;br /&gt;
	toggle_mute&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--toggle-mic&amp;quot; ]]; then&lt;br /&gt;
	toggle_mic&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--get-icon&amp;quot; ]]; then&lt;br /&gt;
	get_icon&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--get-mic-icon&amp;quot; ]]; then&lt;br /&gt;
	get_mic_icon&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--mic-inc&amp;quot; ]]; then&lt;br /&gt;
	inc_mic_volume&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--mic-dec&amp;quot; ]]; then&lt;br /&gt;
	dec_mic_volume&lt;br /&gt;
else&lt;br /&gt;
	get_volume&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
次に、以下を追加します (または既存のバインドを編集します):&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Volume&lt;br /&gt;
bind = , XF86AudioRaiseVolume, exec, ~/.config/hypr/scripts/volume --inc &lt;br /&gt;
bind = , XF86AudioLowerVolume, exec, ~/.config/hypr/scripts/volume --dec &lt;br /&gt;
bind = , XF86AudioMicMute, exec, ~/.config/hypr/scripts/volume --toggle-mic &lt;br /&gt;
bind = , XF86AudioMute, exec, ~/.config/hypr/scripts/volume --toggle &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== 画面のバックライト通知 =====&lt;br /&gt;
&lt;br /&gt;
まず次のスクリプトを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/backlight|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
iDIR=&amp;quot;$HOME/.config/mako/icons&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get brightness&lt;br /&gt;
get_backlight() {&lt;br /&gt;
	LIGHT=$(printf &amp;quot;%.0f\n&amp;quot; $(brightnessctl g))&lt;br /&gt;
	echo &amp;quot;${LIGHT}&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Get icons&lt;br /&gt;
get_icon() {&lt;br /&gt;
	current=&amp;quot;$(get_backlight)&amp;quot;&lt;br /&gt;
	if [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;0&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;19200&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-20.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;19200&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;38400&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-40.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;38400&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;57600&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-60.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;57600&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;76800&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-80.png&amp;quot;&lt;br /&gt;
	elif [[ (&amp;quot;$current&amp;quot; -ge &amp;quot;76800&amp;quot;) &amp;amp;&amp;amp; (&amp;quot;$current&amp;quot; -le &amp;quot;96000&amp;quot;) ]]; then&lt;br /&gt;
		icon=&amp;quot;$iDIR/brightness-100.png&amp;quot;&lt;br /&gt;
	fi&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Notify&lt;br /&gt;
notify_user() {&lt;br /&gt;
	notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$icon&amp;quot; &amp;quot;Brightness : $(get_backlight)&amp;quot;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Increase brightness&lt;br /&gt;
inc_backlight() {&lt;br /&gt;
	brightnessctl s +5% &amp;amp;&amp;amp; get_icon &amp;amp;&amp;amp; notify_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Decrease brightness&lt;br /&gt;
dec_backlight() {&lt;br /&gt;
	brightnessctl s 5%- &amp;amp;&amp;amp; get_icon &amp;amp;&amp;amp; notify_user&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Execute accordingly&lt;br /&gt;
if [[ &amp;quot;$1&amp;quot; == &amp;quot;--get&amp;quot; ]]; then&lt;br /&gt;
	get_backlight&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--inc&amp;quot; ]]; then&lt;br /&gt;
	inc_backlight&lt;br /&gt;
elif [[ &amp;quot;$1&amp;quot; == &amp;quot;--dec&amp;quot; ]]; then&lt;br /&gt;
	dec_backlight&lt;br /&gt;
else&lt;br /&gt;
	get_backlight&lt;br /&gt;
fi&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
次に、以下を追加します (または既存のバインドを編集します):&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
# Screen brightness&lt;br /&gt;
bind = , XF86MonBrightnessUp, exec, ~/.config/hypr/scripts/backlight --inc &lt;br /&gt;
bind = , XF86MonBrightnessDown, exec, ~/.config/hypr/scripts/backlight --dec &lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===== キーボード言語の通知 =====&lt;br /&gt;
&lt;br /&gt;
このスクリプトを実行するには、コマンドライン JSON プロセッサ {{AUR|gojq}} が必要です。&lt;br /&gt;
&lt;br /&gt;
まず次のスクリプトを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/scripts/lang|2=&amp;lt;nowiki&amp;gt;&lt;br /&gt;
#!/usr/bin/env bash&lt;br /&gt;
&lt;br /&gt;
icon=&amp;quot;$HOME/.config/mako/icons/language.png&amp;quot;&lt;br /&gt;
&lt;br /&gt;
# Get language&lt;br /&gt;
get_lang() {&lt;br /&gt;
	lang=$(hyprctl devices -j | gojq -r &#039;.keyboards[] | select(.name == &amp;quot;at-translated-set-2-keyboard&amp;quot;) | .active_keymap&#039; | cut -c 1-2 | tr &#039;A-Z&#039; &#039;a-z&#039;)&lt;br /&gt;
	case $lang in&lt;br /&gt;
		en)&lt;br /&gt;
			lang=&amp;quot;English language&amp;quot;&lt;br /&gt;
			;;&lt;br /&gt;
		ru)&lt;br /&gt;
			lang=&amp;quot;Русский язык&amp;quot;&lt;br /&gt;
			;;&lt;br /&gt;
		uk)&lt;br /&gt;
			lang=&amp;quot;Українська мова&amp;quot;&lt;br /&gt;
			;;&lt;br /&gt;
	esac&lt;br /&gt;
	echo $lang&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Notify&lt;br /&gt;
notify-send -h string:x-canonical-private-synchronous:sys-notify -u low -i &amp;quot;$icon&amp;quot; &amp;quot;$(get_lang)&amp;quot;&lt;br /&gt;
&amp;lt;/nowiki&amp;gt;}}&lt;br /&gt;
&lt;br /&gt;
次に、以下を追加します (または既存のバインドを編集します):&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
device:at-translated-set-2-keyboard {&lt;br /&gt;
    kb_layout = us,ru,ua&lt;br /&gt;
    kb_variant = lang&lt;br /&gt;
    kb_options = grp:win_space_toggle&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Language&lt;br /&gt;
bind = SUPER, SPACE, exec, ~/.config/hypr/scripts/lang&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== 電源制御 ===&lt;br /&gt;
&lt;br /&gt;
Hyprland では、電源制御のために Wayland 互換の外部アプリケーションが必要です。例として {{AUR|nwg-bar}} を使用すると、次のようにバインドするだけで済みます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
bind = SUPER, ESCAPE, exec, nwg-bar&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=== クリップボード ===&lt;br /&gt;
&lt;br /&gt;
[[Wayland]] クリップボードの動作により、コピー元のアプリケーションを閉じるとデータが削除されます。他のデスクトップ環境では、専用のクリップボードマネージャーを使用することでこの問題を回避できますが、Hyprland には互換性のある選択肢が複数あります。詳細については、[https://wiki.hyprland.org/Useful-Utilities/Clipboard-Managers/ 上流 Wiki] を参照してください。&lt;br /&gt;
&lt;br /&gt;
このセクションでは、テキストだけでなく画像のコピーもサポートしている {{Pkg|cliphist}} について説明します。まず、次の行を追加します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
exec-once = wl-paste --type text --watch cliphist store &lt;br /&gt;
exec-once = wl-paste --type image --watch cliphist store&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
次に、選択した [[Hyprland#アプリケーションランチャー|アプリケーションランチャー]] の履歴を呼び出すバインドを作成します:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
bind = SUPER, V, exec, cliphist list {{!}} wofi --dmenu {{!}} cliphist decode {{!}} wl-copy&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|Super+v}} を押すと、{{ic|wofi}} ウィンドウが開き、クリップボード履歴リストが表示されます。&lt;br /&gt;
&lt;br /&gt;
=== デバイスの有効化/無効化 ===&lt;br /&gt;
&lt;br /&gt;
デバイス（例：タッチパッド）を有効化または無効化するには、まず&lt;br /&gt;
 $ hyprctl devices&lt;br /&gt;
を使用してデバイスの名前を調べます。&lt;br /&gt;
&lt;br /&gt;
以下のコード行を設定ファイルに追加し（上記で照会したデバイス名で&amp;lt;device_name&amp;gt;を置き換えて）、デバイスをオン/オフにします：&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
&lt;br /&gt;
device:&amp;lt;device_name&amp;gt; {&lt;br /&gt;
  enabled = {true/false}&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
デバイスを動的にオン/オフするには、hyprctlを使用します：&lt;br /&gt;
&lt;br /&gt;
 $ hyprctl keyword &amp;quot;device:&amp;lt;device_name&amp;gt;:enabled&amp;quot; {true|false}&lt;br /&gt;
&lt;br /&gt;
また、キーバインドを作成することもできます。例えば：&lt;br /&gt;
{{hc|~/.config/hypr/hyprland.conf|2=&lt;br /&gt;
...&lt;br /&gt;
bind = $mainMod, t, exec, hyprctl keyword &amp;quot;device:pixa3854:00-093a:0274-touchpad:enabled&amp;quot; false&lt;br /&gt;
bind = $mainMod Shift, t, exec, hyprctl keyword &amp;quot;device:pixa3854:00-093a:0274-touchpad:enabled&amp;quot; true&lt;br /&gt;
...&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== xdg-desktop-portal-hyprland が大量の CPU を使用する ===&lt;br /&gt;
&lt;br /&gt;
これは既知のバグ [https://github.com/hyprwm/xdg-desktop-portal-hyprland/issues/103] であり、最新の [[Git]] ビルドでは解決されているはずです。これを回避するには、[https://wiki.hyprland.org/Useful-Utilities/Hyprland-desktop-portal/#usage こちら] Hyprland wiki で説明されているように、スクリプトを {{ic|hyprland.conf}} ファイルで呼び出すことで回避できます。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://hyprland.org/ Hyprland Web サイト]&lt;br /&gt;
* [https://wiki.hyprland.org/ 公式ドキュメント]&lt;br /&gt;
* [https://github.com/hyprwm/Hyprland/ Hyprland Github Page]&lt;br /&gt;
* [https://github.com/hyprland-community/awesome-hyprland コミュニティが管理するツール、プラグイン、拡張機能のリスト]&lt;br /&gt;
* [https://github.com/SolDoesTech/HyprV4 SolDoesTech - Github リポジトリ 通知スクリプト]&lt;br /&gt;
&lt;br /&gt;
{{TranslationStatus|Hyprland|2024-06-13|810346}}&lt;/div&gt;</summary>
		<author><name>Ocean</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Polybar&amp;diff=33250</id>
		<title>Polybar</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Polybar&amp;diff=33250"/>
		<updated>2023-08-10T03:49:04Z</updated>

		<summary type="html">&lt;p&gt;Ocean: /* 設定 */  情報を翻訳して更新&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:視覚効果]]&lt;br /&gt;
[[en:Polybar]]&lt;br /&gt;
[https://github.com/jaagr/polybar polybar] はステータスバーを簡単に素早く作れるツールです。多数のモジュールを利用して、ワークスペース・日付・システムボリュームの表示など様々な機能を簡単にカスタマイズできるようになっています。Polybar は [[awesome]] や [[i3]] などステータスバーが付属していない[[ウィンドウマネージャ]]で特に有用です。また、Polybar は [[Plasma]] などの[[デスクトップ環境]]でも使用できます。&lt;br /&gt;
&lt;br /&gt;
== インストール ==&lt;br /&gt;
&lt;br /&gt;
{{Pkg|polybar}} パッケージを[[インストール]]してください。開発版は {{AUR|polybar-git}} です。&lt;br /&gt;
&lt;br /&gt;
== 設定 ==&lt;br /&gt;
デフォルトの設定例は{{ic|/etc/polybar/config.ini}}です。Polybarは、{{ic|~/.config/polybar/config.ini}}または{{ic|/etc/xdg/polybar/config.ini}}、{{ic|/etc/polybar/config.ini}}から最初に見つかったものに応じて設定ファイルをロードします。設定を編集したければ、{{ic|/etc/polybar/config.ini}}から{{ic|~/.config/polybar/config.ini}}にコピーして編集してください。&lt;br /&gt;
&lt;br /&gt;
=== Polybarの実行 ===&lt;br /&gt;
&lt;br /&gt;
Polybarは以下のように起動できます:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
Usage: polybar [OPTION]... BAR&lt;br /&gt;
&lt;br /&gt;
  -h, --help               Display this help and exit&lt;br /&gt;
  -v, --version            Display build details and exit&lt;br /&gt;
  -l, --log&amp;amp;#61;LEVEL          Set the logging verbosity (default: WARNING)&lt;br /&gt;
                           LEVEL is one of: error, warning, info, trace&lt;br /&gt;
  -q, --quiet              Be quiet (will override -l)&lt;br /&gt;
  -c, --config&amp;amp;#61;FILE        Path to the configuration file&lt;br /&gt;
  -r, --reload             Reload when the configuration has been modified&lt;br /&gt;
  -d, --dump&amp;amp;#61;PARAM         Print value of PARAM in bar section and exit&lt;br /&gt;
  -m, --list-monitors      Print list of available monitors and exit&lt;br /&gt;
  -w, --print-wmname       Print the generated WM_NAME and exit&lt;br /&gt;
  -s, --stdout             Output data to stdout instead of drawing it to the X window&lt;br /&gt;
  -p, --png&amp;amp;#61;FILE           Save png snapshot to FILE after running for 3 seconds&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
ウィンドウマネージャの起動時にPolybarを実行したい場合は[[#ウィンドウマネージャで実行]]を見てください。&lt;br /&gt;
&lt;br /&gt;
=== 設定例 ===&lt;br /&gt;
&lt;br /&gt;
基本的なPolybarの設定は以下のようになります。&lt;br /&gt;
&lt;br /&gt;
{{bc|1=&lt;br /&gt;
[bar/mybar]&lt;br /&gt;
modules-right = date&lt;br /&gt;
&lt;br /&gt;
[module/date]&lt;br /&gt;
type = internal/date&lt;br /&gt;
date = %Y-%m-%d%&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|mybar}}という名前のバーと、{{ic|date}}というモジュールを定義しています。&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、Polybarは{{ic|/etc/polybar/config.ini}}に多数の構成済みモジュールを含むサンプル構成もインストールします。&lt;br /&gt;
&lt;br /&gt;
=== ウィンドウマネージャで実行 ===&lt;br /&gt;
&lt;br /&gt;
{{ic|$HOME/.config/polybar/launch.sh}}などに実行ファイルを作成してください:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
#!/bin/bash&lt;br /&gt;
&lt;br /&gt;
# Terminate already running bar instances&lt;br /&gt;
killall -q polybar&lt;br /&gt;
&lt;br /&gt;
# Wait until the processes have been shut down&lt;br /&gt;
while pgrep -u $UID -x polybar &amp;gt;/dev/null; do sleep 1; done&lt;br /&gt;
&lt;br /&gt;
# Launch Polybar, using default config location ~/.config/polybar/config&lt;br /&gt;
polybar &amp;amp;&lt;br /&gt;
&lt;br /&gt;
echo &amp;quot;Polybar launched...&amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
上記のスクリプトを使うとウィンドウマネージャを再起動したときにPolybarも再起動されます。以下のようにカスタマイズすることもできます:&lt;br /&gt;
{{bc|&lt;br /&gt;
MONITOR&amp;amp;#61;HDMI-A-1 polybar &amp;amp;&lt;br /&gt;
}}&lt;br /&gt;
上記のコマンドでは指定したモニターにPolybarが表示されます (モニターは[[xrandr]]コマンドで確認できます)。Polybarの位置を指定するには:&lt;br /&gt;
{{bc|&lt;br /&gt;
polybar top &amp;amp;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== bspwm ====&lt;br /&gt;
&lt;br /&gt;
[[bspwm]]を使用する場合、以下を{{ic|bspwmrc}}に追加:&lt;br /&gt;
{{bc|&lt;br /&gt;
$HOME/.config/polybar/launch.sh&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==== i3 ====&lt;br /&gt;
&lt;br /&gt;
[[i3]]を使用する場合、以下を設定に追加:&lt;br /&gt;
&lt;br /&gt;
{{bc|&lt;br /&gt;
exec_always --no-startup-id $HOME/.config/polybar/launch.sh&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== トラブルシューティング ==&lt;br /&gt;
&lt;br /&gt;
=== 共有オブジェクトファイル libjsoncpp.so を開けません ===&lt;br /&gt;
&lt;br /&gt;
GitHubの [https://github.com/jaagr/polybar/issues/885 issue] の説明に従って再インストールを試みます。&lt;br /&gt;
&lt;br /&gt;
失敗した場合は、{{Pkg|jsoncpp}} パッケージを [[インストール]] してみてください。&lt;br /&gt;
&lt;br /&gt;
== 参照 ==&lt;br /&gt;
&lt;br /&gt;
* [https://github.com/jaagr/polybar/wiki/ Polybar Github Wiki]&lt;/div&gt;</summary>
		<author><name>Ocean</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=I3&amp;diff=33244</id>
		<title>I3</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=I3&amp;diff=33244"/>
		<updated>2023-08-09T07:49:12Z</updated>

		<summary type="html">&lt;p&gt;Ocean: /* ネットワークのダウンロード・アップロード速度をステータスバーに表示 */  リンクを更新&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 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;
i3 は、{{Pkg|i3-wm}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
{{Grp|i3}} パッケージグループも利用可能です。これには、ウィンドウマネージャ、スクリーンロッカー、標準出力を介して i3bar にステータスラインを書き込む２つのプログラムが含まれています。 &lt;br /&gt;
&lt;br /&gt;
{{Note|{{Pkg|i3-wm}} は {{Pkg|i3-gaps}} (gapsなどの機能を持つ &#039;&#039;i3&#039;&#039; のフォーク) と競合し、デフォルトでは {{Pkg|i3-gaps}} がインストールされます。}}&lt;br /&gt;
&lt;br /&gt;
== 起動 ==&lt;br /&gt;
&lt;br /&gt;
=== tty ===&lt;br /&gt;
&lt;br /&gt;
[[xinit]] で {{ic|i3}} を実行します&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}} は &#039;&#039;i3&#039;&#039; を [[GNOME]] に統合します。&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;
{{Pkg|rofi}} は人気のある dmenu の代替品であり、デスクトップエントリを一覧表示できます。&lt;br /&gt;
&lt;br /&gt;
==== KDE Plasma/i3 のアプリケーションランチャーとしての KRunner ====&lt;br /&gt;
&lt;br /&gt;
ここに示すように、KDE Plasma といっしょにi3を実行することができます: [[KDE#KDE で別のウィンドウマネージャを使う]]&lt;br /&gt;
&lt;br /&gt;
{{ic|1=KDEWM=/usr/bin/i3}} で Plasma を実行している場合、&#039;&#039;i3&#039;&#039; の設定に以下を追加することで、[[KRunner]] を {{ic|$mod+d}} でアプリケーションランチャーとして代替することができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
set $menu --no-startup-id qdbus org.kde.krunner /App display&lt;br /&gt;
bindsym $mod+d exec $menu&lt;br /&gt;
}}&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;
{{ic|~/.config/i3/config}} ファイルに {{ic|exec}} コマンドを追加します。例えば、以下のようになります。&lt;br /&gt;
&lt;br /&gt;
 exec terminator&lt;br /&gt;
&lt;br /&gt;
また、[[XDG Autostart]] を使用することもできます。&lt;br /&gt;
&lt;br /&gt;
===カラースキーム===&lt;br /&gt;
&lt;br /&gt;
設定ファイルを使ってウィンドウ装飾の色をカスタマイズすることができますが、構文のためにテーマを作成したり共有するのは現実的ではありません。ユーザーが様々なテーマを作るのを楽にさせるプロジェクトが複数存在します。&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;
以下はデスクトップ環境に依存しない置き換えです。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[polybar]]|高速で使いやすく拡張性の高いステータスバー。一般的なサービスの情報を表示する機能が予め組み込まれています。|https://github.com/polybar/polybar|{{Pkg|polybar}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|excalibar|C言語で実装された軽量かつカスタマイズ可能なステータスバー。|https://github.com/nullgemm/excalibar|{{AUR|excalibar-git}}}}&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|{{AUR|goi3bar-git}}}}&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;
タイトルフレームをクリックしたときにウィンドウを選択しないようにするための {{ic|bindsym button1 nop}} を追加します。デフォルトのレイアウトがタブになっていて、アプリケーション内で何かをクリックする代わりに i3 のタブをクリックしてしまうことが多い場合に便利です。&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
===開いているウィンドウにジャンプ===&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;
=== 緊急ウィンドウにジャンプ ===&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;
[[dwm]] と同じように、i3は現在のターミナルウィンドウをそこから起動された新しいGUIウィンドウで「飲み込む」（置き換える）ことができます。これをするには {{AUR|i3-swallow-git}} パッケージを使います。&lt;br /&gt;
&lt;br /&gt;
例えば、[[mpv]] のウィンドウが元のターミナルを飲み込むようにするには以下のようにします:&lt;br /&gt;
&lt;br /&gt;
 $ swallow mpv &#039;&#039;video.mp4&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
あるいは、使用していないときにターミナルウィンドウを非表示にするために、[https://i3wm.org/docs/userguide.html#_layout_mode_for_new_containers タブ付きコンテナまたはスタックコンテナ]を使用してターミナルの飲み込みをシミュレートすることもできます。ただし、これには常にコンテナの上部にウィンドウリストが表示されるという欠点があります。&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/net-speed.sh スクリプト] を編集して使うことができます。&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|autotiling}} パッケージ は、ウィンドウの分割方向を自動的に水平/垂直に切り替えることができます。インストール後、{{ic|~/.config/i3/config}} に以下を追加し、i3 をリロードしてください。&lt;br /&gt;
&lt;br /&gt;
 exec_always --no-startup-id &#039;&#039;autotiling&#039;&#039;&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;
=== Spotify のためのデフォルトのワークスペース ===&lt;br /&gt;
&lt;br /&gt;
Spotify ウィンドウにデフォルトのワークスペースを割り当てるには、{{ic|assign}} で標準ルートを使用することはできず、次のような {{ic|for_window}} コマンドを使用する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
...&lt;br /&gt;
for_window [class=&amp;quot;Spotify&amp;quot;] move to workspace $ws10&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|for_window}} がすでに {{ic|ws10}} にある場合にウィンドウを移動しないようにするには、代わりに {{ic|move --no-auto-back-and-forth}} を使用できます。&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>Ocean</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=I3&amp;diff=33243</id>
		<title>I3</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=I3&amp;diff=33243"/>
		<updated>2023-08-09T06:09:56Z</updated>

		<summary type="html">&lt;p&gt;Ocean: /* ターミナルウィンドウを飲み込む */  訂正&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 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;
i3 は、{{Pkg|i3-wm}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
{{Grp|i3}} パッケージグループも利用可能です。これには、ウィンドウマネージャ、スクリーンロッカー、標準出力を介して i3bar にステータスラインを書き込む２つのプログラムが含まれています。 &lt;br /&gt;
&lt;br /&gt;
{{Note|{{Pkg|i3-wm}} は {{Pkg|i3-gaps}} (gapsなどの機能を持つ &#039;&#039;i3&#039;&#039; のフォーク) と競合し、デフォルトでは {{Pkg|i3-gaps}} がインストールされます。}}&lt;br /&gt;
&lt;br /&gt;
== 起動 ==&lt;br /&gt;
&lt;br /&gt;
=== tty ===&lt;br /&gt;
&lt;br /&gt;
[[xinit]] で {{ic|i3}} を実行します&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}} は &#039;&#039;i3&#039;&#039; を [[GNOME]] に統合します。&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;
{{Pkg|rofi}} は人気のある dmenu の代替品であり、デスクトップエントリを一覧表示できます。&lt;br /&gt;
&lt;br /&gt;
==== KDE Plasma/i3 のアプリケーションランチャーとしての KRunner ====&lt;br /&gt;
&lt;br /&gt;
ここに示すように、KDE Plasma といっしょにi3を実行することができます: [[KDE#KDE で別のウィンドウマネージャを使う]]&lt;br /&gt;
&lt;br /&gt;
{{ic|1=KDEWM=/usr/bin/i3}} で Plasma を実行している場合、&#039;&#039;i3&#039;&#039; の設定に以下を追加することで、[[KRunner]] を {{ic|$mod+d}} でアプリケーションランチャーとして代替することができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
set $menu --no-startup-id qdbus org.kde.krunner /App display&lt;br /&gt;
bindsym $mod+d exec $menu&lt;br /&gt;
}}&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;
{{ic|~/.config/i3/config}} ファイルに {{ic|exec}} コマンドを追加します。例えば、以下のようになります。&lt;br /&gt;
&lt;br /&gt;
 exec terminator&lt;br /&gt;
&lt;br /&gt;
また、[[XDG Autostart]] を使用することもできます。&lt;br /&gt;
&lt;br /&gt;
===カラースキーム===&lt;br /&gt;
&lt;br /&gt;
設定ファイルを使ってウィンドウ装飾の色をカスタマイズすることができますが、構文のためにテーマを作成したり共有するのは現実的ではありません。ユーザーが様々なテーマを作るのを楽にさせるプロジェクトが複数存在します。&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;
以下はデスクトップ環境に依存しない置き換えです。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[polybar]]|高速で使いやすく拡張性の高いステータスバー。一般的なサービスの情報を表示する機能が予め組み込まれています。|https://github.com/polybar/polybar|{{Pkg|polybar}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|excalibar|C言語で実装された軽量かつカスタマイズ可能なステータスバー。|https://github.com/nullgemm/excalibar|{{AUR|excalibar-git}}}}&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|{{AUR|goi3bar-git}}}}&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;
タイトルフレームをクリックしたときにウィンドウを選択しないようにするための {{ic|bindsym button1 nop}} を追加します。デフォルトのレイアウトがタブになっていて、アプリケーション内で何かをクリックする代わりに i3 のタブをクリックしてしまうことが多い場合に便利です。&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
===開いているウィンドウにジャンプ===&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;
=== 緊急ウィンドウにジャンプ ===&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;
[[dwm]] と同じように、i3は現在のターミナルウィンドウをそこから起動された新しいGUIウィンドウで「飲み込む」（置き換える）ことができます。これをするには {{AUR|i3-swallow-git}} パッケージを使います。&lt;br /&gt;
&lt;br /&gt;
例えば、[[mpv]] のウィンドウが元のターミナルを飲み込むようにするには以下のようにします:&lt;br /&gt;
&lt;br /&gt;
 $ swallow mpv &#039;&#039;video.mp4&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
あるいは、使用していないときにターミナルウィンドウを非表示にするために、[https://i3wm.org/docs/userguide.html#_layout_mode_for_new_containers タブ付きコンテナまたはスタックコンテナ]を使用してターミナルの飲み込みをシミュレートすることもできます。ただし、これには常にコンテナの上部にウィンドウリストが表示されるという欠点があります。&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|autotiling}} パッケージ は、ウィンドウの分割方向を自動的に水平/垂直に切り替えることができます。インストール後、{{ic|~/.config/i3/config}} に以下を追加し、i3 をリロードしてください。&lt;br /&gt;
&lt;br /&gt;
 exec_always --no-startup-id &#039;&#039;autotiling&#039;&#039;&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;
=== Spotify のためのデフォルトのワークスペース ===&lt;br /&gt;
&lt;br /&gt;
Spotify ウィンドウにデフォルトのワークスペースを割り当てるには、{{ic|assign}} で標準ルートを使用することはできず、次のような {{ic|for_window}} コマンドを使用する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
...&lt;br /&gt;
for_window [class=&amp;quot;Spotify&amp;quot;] move to workspace $ws10&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|for_window}} がすでに {{ic|ws10}} にある場合にウィンドウを移動しないようにするには、代わりに {{ic|move --no-auto-back-and-forth}} を使用できます。&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>Ocean</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=I3&amp;diff=33242</id>
		<title>I3</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=I3&amp;diff=33242"/>
		<updated>2023-08-09T06:07:21Z</updated>

		<summary type="html">&lt;p&gt;Ocean: /* ターミナルウィンドウを飲み込む */  最新の情報に翻訳して更新&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 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;
i3 は、{{Pkg|i3-wm}} パッケージでインストールできます。&lt;br /&gt;
&lt;br /&gt;
{{Grp|i3}} パッケージグループも利用可能です。これには、ウィンドウマネージャ、スクリーンロッカー、標準出力を介して i3bar にステータスラインを書き込む２つのプログラムが含まれています。 &lt;br /&gt;
&lt;br /&gt;
{{Note|{{Pkg|i3-wm}} は {{Pkg|i3-gaps}} (gapsなどの機能を持つ &#039;&#039;i3&#039;&#039; のフォーク) と競合し、デフォルトでは {{Pkg|i3-gaps}} がインストールされます。}}&lt;br /&gt;
&lt;br /&gt;
== 起動 ==&lt;br /&gt;
&lt;br /&gt;
=== tty ===&lt;br /&gt;
&lt;br /&gt;
[[xinit]] で {{ic|i3}} を実行します&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}} は &#039;&#039;i3&#039;&#039; を [[GNOME]] に統合します。&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;
{{Pkg|rofi}} は人気のある dmenu の代替品であり、デスクトップエントリを一覧表示できます。&lt;br /&gt;
&lt;br /&gt;
==== KDE Plasma/i3 のアプリケーションランチャーとしての KRunner ====&lt;br /&gt;
&lt;br /&gt;
ここに示すように、KDE Plasma といっしょにi3を実行することができます: [[KDE#KDE で別のウィンドウマネージャを使う]]&lt;br /&gt;
&lt;br /&gt;
{{ic|1=KDEWM=/usr/bin/i3}} で Plasma を実行している場合、&#039;&#039;i3&#039;&#039; の設定に以下を追加することで、[[KRunner]] を {{ic|$mod+d}} でアプリケーションランチャーとして代替することができます:&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
set $menu --no-startup-id qdbus org.kde.krunner /App display&lt;br /&gt;
bindsym $mod+d exec $menu&lt;br /&gt;
}}&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;
{{ic|~/.config/i3/config}} ファイルに {{ic|exec}} コマンドを追加します。例えば、以下のようになります。&lt;br /&gt;
&lt;br /&gt;
 exec terminator&lt;br /&gt;
&lt;br /&gt;
また、[[XDG Autostart]] を使用することもできます。&lt;br /&gt;
&lt;br /&gt;
===カラースキーム===&lt;br /&gt;
&lt;br /&gt;
設定ファイルを使ってウィンドウ装飾の色をカスタマイズすることができますが、構文のためにテーマを作成したり共有するのは現実的ではありません。ユーザーが様々なテーマを作るのを楽にさせるプロジェクトが複数存在します。&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;
以下はデスクトップ環境に依存しない置き換えです。&lt;br /&gt;
&lt;br /&gt;
* {{App|[[polybar]]|高速で使いやすく拡張性の高いステータスバー。一般的なサービスの情報を表示する機能が予め組み込まれています。|https://github.com/polybar/polybar|{{Pkg|polybar}}}}&lt;br /&gt;
&lt;br /&gt;
* {{App|excalibar|C言語で実装された軽量かつカスタマイズ可能なステータスバー。|https://github.com/nullgemm/excalibar|{{AUR|excalibar-git}}}}&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|{{AUR|goi3bar-git}}}}&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;
タイトルフレームをクリックしたときにウィンドウを選択しないようにするための {{ic|bindsym button1 nop}} を追加します。デフォルトのレイアウトがタブになっていて、アプリケーション内で何かをクリックする代わりに i3 のタブをクリックしてしまうことが多い場合に便利です。&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
===開いているウィンドウにジャンプ===&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;
=== 緊急ウィンドウにジャンプ ===&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;
[[dwm]] と同じように、i3は現在のターミナルウィンドウをそこから起動された新しいGUIウィンドウで「飲み込む」（置き換える）ことができます。これをするには {{AUR|i3-swallow-git}} パッケージを使います。&lt;br /&gt;
&lt;br /&gt;
例えば、[[mpv]] のウィンドウが元のターミナルを飲み込むようにするには以下のようにします:&lt;br /&gt;
&lt;br /&gt;
 $ i3-swallow mpv &#039;&#039;video.mp4&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
あるいは、使用していないときにターミナルウィンドウを非表示にするために、[https://i3wm.org/docs/userguide.html#_layout_mode_for_new_containers タブ付きコンテナまたはスタックコンテナ]を使用してターミナルの飲み込みをシミュレートすることもできます。ただし、これには常にコンテナの上部にウィンドウリストが表示されるという欠点があります。&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|autotiling}} パッケージ は、ウィンドウの分割方向を自動的に水平/垂直に切り替えることができます。インストール後、{{ic|~/.config/i3/config}} に以下を追加し、i3 をリロードしてください。&lt;br /&gt;
&lt;br /&gt;
 exec_always --no-startup-id &#039;&#039;autotiling&#039;&#039;&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;
=== Spotify のためのデフォルトのワークスペース ===&lt;br /&gt;
&lt;br /&gt;
Spotify ウィンドウにデフォルトのワークスペースを割り当てるには、{{ic|assign}} で標準ルートを使用することはできず、次のような {{ic|for_window}} コマンドを使用する必要があります。&lt;br /&gt;
&lt;br /&gt;
{{hc|~/.config/i3/config|2=&lt;br /&gt;
...&lt;br /&gt;
for_window [class=&amp;quot;Spotify&amp;quot;] move to workspace $ws10&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|for_window}} がすでに {{ic|ws10}} にある場合にウィンドウを移動しないようにするには、代わりに {{ic|move --no-auto-back-and-forth}} を使用できます。&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>Ocean</name></author>
	</entry>
	<entry>
		<id>https://wiki.archlinux.jp/index.php?title=Plymouth&amp;diff=31566</id>
		<title>Plymouth</title>
		<link rel="alternate" type="text/html" href="https://wiki.archlinux.jp/index.php?title=Plymouth&amp;diff=31566"/>
		<updated>2023-05-11T05:17:37Z</updated>

		<summary type="html">&lt;p&gt;Ocean: /* インストール */ 情報を翻訳して更新&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:ブートスプラッシュ]]&lt;br /&gt;
[[cs:Plymouth]]&lt;br /&gt;
[[fa:Plymouth]]&lt;br /&gt;
[[en:Plymouth]]&lt;br /&gt;
[[es:Plymouth]]&lt;br /&gt;
[[it:Plymouth]]&lt;br /&gt;
[[pt:Plymouth]]&lt;br /&gt;
[[ru:Plymouth]]&lt;br /&gt;
[[zh-hans:Plymouth]]&lt;br /&gt;
[https://www.freedesktop.org/wiki/Software/Plymouth Plymouth] は Fedora のフリッカーフリーなグラフィカルブートプロセスを提供するためのプロジェクトです。[[カーネルモード設定]] (KMS) を使って出来るだけ早い段階でディスプレイの最大解像度に設定し、ログインマネージャが表示されるまで、キレイなスプラッシュスクリーンを提供します。&lt;br /&gt;
&lt;br /&gt;
==準備==&lt;br /&gt;
まず、Plymouth は [[カーネルモード設定]] (KMS) を使ってグラフィックを表示します。(プロプライエタリドライバを使っているなどの理由で)あなたが KMS を使えない場合、代わりに[[フレームバッファ]]を使う必要があります。EFI/UEFI 環境の場合、plymouth は EFI フレームバッファを利用します。BIOS 環境の場合、ワイド画面を機能させることができる [[Uvesafb]] が推奨されます。&lt;br /&gt;
&lt;br /&gt;
KMS もフレームバッファも使えない場合、Plymouth はテキストモードになります。&lt;br /&gt;
&lt;br /&gt;
==インストール==&lt;br /&gt;
&lt;br /&gt;
Plymouth の安定版パッケージは {{Pkg|plymouth}} で、開発版は {{AUR|plymouth-git}} です。&lt;br /&gt;
&lt;br /&gt;
デフォルトでは、Plymouth はグラフィカルなスプラッシュスクリーンにブートメッセージを表示せず、{{ic|/var/log/boot.log}} に記録します。&lt;br /&gt;
&lt;br /&gt;
* スプラッシュ画面を見たい場合は、[[カーネルパラメータ]] に {{ic|splash}} を追加してください。&lt;br /&gt;
* [[サイレントブート]]をしたい場合は、{{ic|quiet}} も追加してください。&lt;br /&gt;
* ブートメッセージの記録を無効にしたい場合は、{{ic|plymouth.nolog}} も追加してください。&lt;br /&gt;
&lt;br /&gt;
初期ブート時に Plymouth を起動するには、Plymouth を含むイメージを作成するために [[initramfs]] ジェネレータを設定しなくてはなりません。&lt;br /&gt;
&lt;br /&gt;
=== mkinitcpio ===&lt;br /&gt;
&lt;br /&gt;
{{ic|plymouth}} を [[mkinitcpio.conf]] の {{ic|HOOKS}} 行に追加してください。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/mkinitcpio.conf|2=&lt;br /&gt;
HOOKS=(... plymouth ...)&lt;br /&gt;
}}&lt;br /&gt;
=== dracut ===&lt;br /&gt;
&lt;br /&gt;
Plymouth をインストールすると、[[dracut]] が自動的にそれを検出し、initramfs イメージに追加します。自動検出が失敗した場合は、[[dracut]] 設定に次の行を追加することで、[[dracut]] に強制的に Plymouth を追加することができます。&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/dracut.conf.d/myflags.conf|2=&lt;br /&gt;
add_dracutmodules+=&amp;quot; plymouth &amp;quot;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
==設定==&lt;br /&gt;
&lt;br /&gt;
===スムーズな移行===&lt;br /&gt;
&lt;br /&gt;
[[GDM]] を使っている場合は、&#039;&#039;smooth transition&#039;&#039; をサポートしている {{AUR|gdm-plymouth}} をインストールしてください ({{Pkg|gdm}} を自動で置き換えるので他の手順は必要ありません)&lt;br /&gt;
&lt;br /&gt;
[https://github.com/Askannz/optimus-manager Optimus-manager] の [[GDM]] ユーザは {{AUR|gdm-plymouth-prime}} をインストールできます。これは {{AUR|gdm-plymouth}} のフォークで Prime 切り替えに必要なパッチを適用しています。&lt;br /&gt;
&lt;br /&gt;
他の[[ディスプレイマネージャ]]（[[SDDM]]、[[LightDM]]、[[LXDM]]）を使っているユーザーは以下のことをする必要があります。&lt;br /&gt;
&lt;br /&gt;
# 例えば {{ic|lxdm.service}} のような [[ディスプレイマネージャ]] ユニットを [[無効化]] します。&lt;br /&gt;
# [[有効化]] すると、それぞれの DM-plymouth ユニットが提供されます (例:{{ic|lxdm-plymouth.service}})&lt;br /&gt;
&lt;br /&gt;
===起動を遅らせる===&lt;br /&gt;
&lt;br /&gt;
バージョン 0.9.0 から、plymouth には {{ic|/etc/plymouth/plymouthd.conf}} に設定できる新しいオプションが存在します:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/plymouth/plymouthd.conf|2=&lt;br /&gt;
[Daemon]&lt;br /&gt;
Theme=spinner&lt;br /&gt;
ShowDelay=5&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
起動が早い環境では、ディスプレイマネージャやログイン画面が表示される前にスプラッシュ画面が一瞬しか表示されない場合があります。ShowDelay を設定することで秒数単位で起動を長くすることができます。デフォルトは5秒間ですが、短くすることでスプラッシュ画面が早く表示されるようになります。&lt;br /&gt;
&lt;br /&gt;
=== 背景画像を変更する ===&lt;br /&gt;
&lt;br /&gt;
特定のテーマ( Spinner など)では、背景画像を変更できます。 Spinner では、デフォルトでは灰色のノイズパターンです。 変更するには、 {{ic|/usr/share/plymouth/themes/&#039;&#039;theme&#039;&#039;/background-tile.png}} を目的の画像に置き換えます。 これを行うときは、Plymouth の更新によって上書きされないように、新しいテーマをコピーして作成することをお勧めします。 変更したテーマを再生成することを忘れないでください。方法については、次のセクションを参照してください。&lt;br /&gt;
&lt;br /&gt;
===テーマの変更===&lt;br /&gt;
&lt;br /&gt;
Plymouth には以下のテーマが付属しています:&lt;br /&gt;
&lt;br /&gt;
#&#039;&#039;&#039;Fade-in&#039;&#039;&#039;: 光る星がフェードイン・アウトするシンプルなテーマ。&lt;br /&gt;
#&#039;&#039;&#039;Glow&#039;&#039;&#039;: ブートプログレスのパイチャートが表示されロゴが浮かび上がるテーマ。&lt;br /&gt;
#&#039;&#039;&#039;Script&#039;&#039;&#039;: スクリプトサンプルプラグイン (ナイスな Arch ロゴテーマ)。&lt;br /&gt;
#&#039;&#039;&#039;Solar&#039;&#039;&#039;: 青い炎が上がる星と宇宙のテーマ。&lt;br /&gt;
#&#039;&#039;&#039;Spinner&#039;&#039;&#039;: ロードの歯車が表示されるシンプルなテーマ。&lt;br /&gt;
#&#039;&#039;&#039;Spinfinity&#039;&#039;&#039;: 画面の中央に無限マークが表示されるシンプルなテーマ。&lt;br /&gt;
#&#039;&#039;(&#039;&#039;&#039;Text&#039;&#039;&#039;: 3色のプログレスバーのテキストモードテーマ)&#039;&#039;&lt;br /&gt;
#&#039;&#039;(&#039;&#039;&#039;Details&#039;&#039;&#039;: 古臭いフォールバックテーマ)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[AUR]] から他のテーマを追加でインストールすることもできます。{{AUR|plymouth}} に依存しているパッケージを見てください。&lt;br /&gt;
&lt;br /&gt;
インストールされているテーマは以下のコマンドで確認できます:&lt;br /&gt;
&lt;br /&gt;
 $ plymouth-set-default-theme -l&lt;br /&gt;
&lt;br /&gt;
または:&lt;br /&gt;
&lt;br /&gt;
{{hc|$ ls /usr/share/plymouth/themes|&lt;br /&gt;
details  glow    solar       spinner  tribar&lt;br /&gt;
fade-in  script  spinfinity  text&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
デフォルトでは &#039;&#039;&#039;spinner&#039;&#039;&#039; テーマが使われます。テーマは {{ic|/etc/plymouth/plymouthd.conf}} を編集することで変更できます。例:&lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/plymouth/plymouthd.conf|2=&lt;br /&gt;
[Daemon]&lt;br /&gt;
Theme=spinner&lt;br /&gt;
ShowDelay=5&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{ic|Ctrl+Alt+F2}} を押してコンソールを切り替えて、root でログインしてから以下のコマンドを実行することで一時的にテーマを確認できます:&lt;br /&gt;
&lt;br /&gt;
 # plymouthd&lt;br /&gt;
 # plymouth --show-splash&lt;br /&gt;
&lt;br /&gt;
プレビューを終了するには {{ic|Ctrl+Alt+F2}} をまた押してから以下のコマンドを実行してください:&lt;br /&gt;
&lt;br /&gt;
 # plymouth --quit&lt;br /&gt;
&lt;br /&gt;
テーマを変更したら、カーネルイメージを再生成する必要があります:&lt;br /&gt;
&lt;br /&gt;
 # plymouth-set-default-theme -R &amp;lt;theme&amp;gt;&lt;br /&gt;
&lt;br /&gt;
再起動して変更を適用してください。&lt;br /&gt;
&lt;br /&gt;
===Hidpi===&lt;br /&gt;
&lt;br /&gt;
{{ic|plymouthd.conf}} を編集 &lt;br /&gt;
&lt;br /&gt;
{{hc|/etc/plymouth/plymouthd.conf|2=&lt;br /&gt;
DeviceScale=&amp;lt;an-integer-scaling-factor&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
編集が終わったら initrd を再構築します。&lt;br /&gt;
&lt;br /&gt;
==ヒントとテクニック==&lt;br /&gt;
&lt;br /&gt;
====カーネルメッセージの表示====&lt;br /&gt;
&amp;quot;Home&amp;quot; (または &amp;quot;Escape&amp;quot;) キーを押すことで起動時のカーネルメッセージの表示を切り替えることができます。&lt;br /&gt;
&lt;br /&gt;
=== spinner と BGRT テーマに Arch ロゴを追加 ===&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;spinner&#039;&#039; と &#039;&#039;BGRT&#039;&#039; のテーマディレクトリに Arch ロゴを {{ic|watermark.png}} という名前でコピーします。&lt;br /&gt;
&lt;br /&gt;
 # cp /usr/share/plymouth/arch-logo.png /usr/share/plymouth/themes/spinner/watermark.png&lt;br /&gt;
&lt;br /&gt;
ロゴが中央に表示されていない場合、テーマの設定ファイルに次の行を追加します {{ic|.plymouth}} で終わるファイル名 例:{{ic|spinner.plymouth}}&lt;br /&gt;
&lt;br /&gt;
 WatermarkHorizontalAlignment=.5&lt;br /&gt;
 WatermarkVerticalAlignment=.5&lt;br /&gt;
&lt;br /&gt;
===Arch ロゴを置き換えてカスタムテーマを作る===&lt;br /&gt;
&lt;br /&gt;
次のテーマは Plymouth によって提供されている Arch Linux ロゴ ({{ic|/usr/share/plymouth/arch-logo.png}}) を使用します: fade-in, script, solar, spinfinity。他のロゴを使いたい場合、テーマの {{ic|*.plymouth}} ファイルを編集してください ({{ic|*.script}} も編集する必要があることもあります)。そしてロゴを置き換えたい画像に置き換えてください。テーマを新しく作成したらパッケージを作成する必要があります。{{ic|/usr/share/plymouth}} に変更を加えてもパッケージのアップグレードで置き換わってしまう可能性があるためです。&lt;br /&gt;
&lt;br /&gt;
テーマをインストール・選択したら、initrd イメージを再生成して新しいスプラッシュを使ってください。&lt;br /&gt;
&lt;br /&gt;
=== ベンダーロゴの無効化 ===&lt;br /&gt;
&lt;br /&gt;
[[カーネルパラメータ]] に {{ic|1=fbcon=nodefer}} を追加して下さい。&lt;br /&gt;
&lt;br /&gt;
==トラブルシューティング==&lt;br /&gt;
plymouthd.conf を編集するたびに、 initrd を再構築する必要があります。&lt;br /&gt;
&lt;br /&gt;
===Plymouth をデバッグモードで実行する===&lt;br /&gt;
カーネルパラメータに {{ic|plymouth.debug}} を追加します。デバッグログが {{ic|/var/log/plymouth-debug.log}} に保存されます、または {{ic|1=plymouth.debug=&amp;lt;ファイルの名前&amp;gt;}} を使用します。&lt;br /&gt;
&lt;br /&gt;
===Plymouth ブートスプラッシュが表示されない===&lt;br /&gt;
テーマがテキストではなくグラフィックである場合は、正しいグラフィックモジュールが {{ic|/etc/mkinicpio.conf}} に追加されていることを確認してください。 {{ic|/etc/plymouth/plymouthd.conf}} で、コンピューターの起動が速い場合は、 {{ic|ShowDelay}} を 0 に変更します。 一部のコンピューターでは、グラフィックスの初期化が遅い場合があるため、 {{ic|/etc/plymouth/ plymouthd.conf}} の {{ic|DeviceTimeout}} を 8 に変更します。グラフィックスの初期化に必要な時間はカーネルのバージョンによって異なるため、ブートスプラッシュがそうでない場合は、 {{ic|DeviceTimeout}} の増加が最初の試みとして適切です。カーネルの更新後に表示します。&lt;br /&gt;
&lt;br /&gt;
===Plymouth ブートスプラッシュがハング、フリーズ===&lt;br /&gt;
バグが原因で udev フックが plymouth (git以外) をフリーズさせることがあります。その場合は、 systemd フックを使用してください。 [https://bbs.archlinux.org/viewtopic.php?id=220900 参照]&lt;br /&gt;
&lt;br /&gt;
==参照==&lt;br /&gt;
&lt;br /&gt;
*[https://fedoraproject.org/wiki/Releases/FeatureBetterStartup Original Spec]&lt;br /&gt;
*[https://bbs.archlinux.org/viewtopic.php?id=81406 Plymouth のフォーラムスレッド]&lt;/div&gt;</summary>
		<author><name>Ocean</name></author>
	</entry>
</feed>