Alopex

提供: ArchWiki
移動先: 案内検索

関連記事

Alopex (旧名 TTWM) は tinywmAUR, dwm, i3wm の概念や要素を併せ持ったミニマルなタイル型ウィンドウマネージャです。monsterwm などの他の素晴らしいタイル型ウィンドウマネージャからインスピレーションが得られています。Alopex はウィンドウをタイルレイアウトと縦横のスタックレイアウト、一時的なフローティングとフルスクリーンモードで管理します。

ノート: このページは Alopex 3.x が安定した状態になるまで 2.x について扱います。安定したら、最新版のドキュメントにあうようにページを編集します。

インストール

AUR から alopex-gitAUR をインストールしてください。PKGBUILD を取得して以下のコマンドを実行するだけです:

$ makepkg -si
ヒント: 設定はコンパイル時に行うようになっているので、(キーバインドやカラースキームのカスタマイズなどの) 修正は (上流の) config.h$HOME/.alopex_config.h$XDG_CONFIG_HOME/alopex/config.h にコピーしてからユーザーの設定にあわせてファイルを編集することで行います。#カスタム設定を参照。

推奨ドキュメント

Alopex には3つの man ページがあります (alopex.1, alopex.config.5, alopex.icons.5)。このページの情報についてより詳しいことが書かれています。

ノート: man ページが完成したら、このページの情報もデフォルト設定などにあわせて編集します。

基本的な使い方

デフォルトでは、Alopex は以下の4つの修飾マスクを使います:

参照 キー
KEY1 "Super"
KEY2 "Alternate"
KEY3 "Control"
KEY4 "Shift"

プログラムの起動

Dmenu は Alopex の便利なアドオンです。リスト式やドロップダウンのメニューと違って、dmenu はキーボードで入力するプログラムランチャーです。Alopex の推奨ランチャーであり、デフォルト設定では dmenu の起動が KEY1 + p に割り当てられています。

ノート: Alopex の作者は dmenu の代わりとして使うことができる interrobang という名前の軽量なメニューも作成しています。interrobang-gitAUR で簡単にインストールできます。interrobang で dmenu を置き換えるには、#カスタム設定のキーバインドをカスタマイズする方法を読んでください。

タグを使う

ウィンドウに特定のタグを割り当てるには、操作するウィンドウをまずフォーカスする必要があります。フォーカスは KEY1 + jKEY1 + k で出来ます。

アクション キーバインド
タグ "x" を表示 KEY1 + x
タグ "x" に移動 KEY1 + KEY2 + x
タグ "x" を割り当てる KEY1 + KEY3 + x
タグ "x" の表示を切り替え KEY1 + KEY4 + x
ノート: dwm と同じように、Alopex はタグとビュー (ワークスペース) を区別します。デフォルトでは、Alopex は6つのタグと2つのビューを使うことができます。ビューは KEY2 + Tab で切り替えが可能です。その違いを理解・利用してワークフローを改善する文章として、(dwm 用に書かれた) こちらの記事 が役に立つでしょう。
ヒント: config.hicons.h をカスタマイズすることでタグのラベルを貼る方法を変更することができます。#タグのカスタマイズを参照。

ウィンドウレイアウト

Alopex には3つのベースレイアウトがあり、一時的なフルスクリーンとフローティングモードで補完しています: Vertical と Horizontal の Stacking と "Monocle" (ステータスバーのタブが表示されるフルスクリーン) です。デフォルトでは、縦のスタックレイアウトが使用されます。KEY1 + space を押すことで3つのレイアウトを切り替えることが可能です。以下のショートカットを使うことで各モードを直接選択することができます:

モード キーバインド 表示されるウィンドウ 配置
V-Stack (rstack) KEY1 + KEY2 + r 3 左側に Master、右側にスタック
H-Stack (bstack) KEY1 + KEY2 + b 3 上部に Master、下部にスタック
Monocle KEY1 + KEY2 + m 1 各ウィンドウの可変タブ

stackcount オプションを使うことで、スタックに表示するウィンドウの数を指定できます。KEY1 + =KEY1 + - でスタックに表示するウィンドウの数を動的に増減することも可能です。さらに、KEY1 + . で全てのウィンドウが表示されます。

ヒント: KEY1 + f を押すことでウィンドウをフルスクリーンモードにしたり、通常モードに戻したりできます。同じく、KEY1 + KEY2 + f を押すことでフローティングモードの切り替えができます。

終了

ウィンドウを終了するには KEY2 + F4 を押します。Alopex の終了は KEY1 + KEY4 + Q です。

高度な使い方

カスタム設定

先に触れたとおり、Alopex の設定は主にソースファイル (config.hicons.h) を編集することでコンパイル時に行います。上流のデフォルト設定で大抵は問題ありませんが、ユーザー設定をするのは難しくありません。

#インストールに書かれているように、alopex-gitAUR$HOME/.alopex_config.h$XDG_CONFIG_HOME/alopex/config.h を確認して、ファイルが存在する場合、ビルドを始める前にデフォルトの config.h を置き換えます。makepkg を使ってソースを取得した後、config.h$HOME/.alopex_config.h$XDG_CONFIG_HOME/alopex/config.h のどちらかにコピーして修正を加えて下さい。

設定の変更が済んだら、パッケージディレクトリに戻ってコンパイル・インストールしてください:

$ makepkg -si
ヒント: 既にコンパイルしてしまっている場合、f スイッチを使うことで強制的に再コンパイルできます。

設定の変更に問題がなければ、カスタマイズされた Alopex がコンパイル・インストールされます。問題があった場合、出力を問題を特定してください。

変更を適用するには、Alopex を(再)起動する必要があります。

カスタムキーバインド

カスタムキーバインドを使うには config.h を編集する必要があります。カスタムキーバインドをマップするには、以下の構文で keys 配列に必要な行を追加してください:

{ MODKEY, <key>, spawn, CMD("program") },
ヒント: To map a single key to a function (that is, without a modifier key), use 0 for MODKEY.

<key> はヘックスキーコード (例: 0x68) や X のキーシム (例: XK_h) のどちらかで指定できます。キーコードやキーシムは xorg-xev を使って確認してください。(メディアキーなど) XF86 のキーシムを使いたい場合、config.h の以下の行をアンコメントする必要があります:

#include <X11/XF86keysym.h>

#define を使うことで複雑なコマンドを使うための特別な関数を定義することもできます:

#define FUNCTION "program -switches --options arguments"

上の構文で CMD(FUNCTION) を使うことでキーバインドにマッピングできます。

ノート: Using #define FUNCTION, you do not quote FUNCTION in the keybinding declaration.

タグのカスタマイズ

tagcons 配列を使うことでステータスバーに表示するタグをカスタマイズすることができます。デフォルトでは、タグには one から six という名前が付けられています。tagcons 配列を使うことで、プリフィックス・アイコン・サフィックスを組み合わせて使うことが可能です。以下の構文でタグの外観を追加・カスタマイズします:

static const Tagcon tagcons=[] = {
   { "prefix",   #,   "suffix" },
};

上記の #icons.h の一番下にある配列のアイコンの位置です。"prefix""suffix" はアイコンの前後にタグに付けられるテキストのラベルです。タグにアイコンを表示したくないときは、#NO_ICON-1 に置き換えて下さい。ラベルをタグに表示したくない場合、"prefix""suffix"NULL に置き換えて下さい。タグの表示される順番は tagcons 配列のタグの順番と同じになります。

ノート: NULL にクォートは付けないで下さい。プリフィックスやサフィックスのテキストにはクォートが必要です。

ステータスバー

スクリプトやプログラムを引数として Alopex に渡すことで、ミニマルなステータスバーを作成することができます。CPU の競合 を避けるために、Alopex には何も指定されなかった場合のデフォルトのステータスバースクリプトが存在します。このデフォルトスクリプトはシンプルな時計だけを表示します。スクリプト (あるいは小規模なプログラム) を書いたり conky などのステータスバープログラムを使うことで、もっと強力なステータスバーを使うことができます。スクリプト (やプログラム) 自体にも引数を指定する場合、ステータスバーの引数全体をクォートで囲って下さい。例えば、Alopex とスクリプトや conky を実行するコマンドは以下のようになります:

$ xinit /usr/bin/alopex "/home/username/script.sh -args"
$ xinit /usr/bin/alopex "conky -c /path/to/conkyrc"

スクリプトの出力の一部 (または全部) をカラー化するには、{#RRGGBB} を使います。"#RRGGBB" は標準的なヘックスカラーコードで、大括弧で囲むことで他のカラーコードが指定されるまでステータスバーの出力をカラーにします。

カスタムアイコン

config.h と同じように、Alopex では $HOME/.alopex_icons.h$XDG_CONFIG_HOME/alopex/icons.h で icons.h をカスタマイズすることでカスタムアイコンセットを使うことができます。

大括弧のカラーコードと同じように、ステータスバースクリプトやプログラムでは {i X} を使うことでアイコンを参照できます。"X" はアイコンの数字になります。デフォルトの icons.h をみて、どのアイコンが使えるのか X にはどの値が入るのか確認してください (アイコンの順番はファイルに書かれている配列の順番によって決まります)。

ノート: アイコンはコンパイル時に読み込まれるため、アイコンセットをカスタマイズするには、Alopex の再コンパイル・再インストール・再起動が必要です。

テーマ

コンパイル時にカラースキームを適用するという形で Alopex は初歩的なテーマをサポートしています。テーマは theme.h で定義されます。デフォルトでは、Alopex には3つのテーマが存在します: WinterCoat, SummerCoat, DayLight。カスタムテーマを追加するのは簡単で、デフォルトの theme.h$XDG_CONFIG_HOME/alopex/theme.h$HOME/.alopex_theme.h にコピーして使用したい色の配列を新しく追加するだけです。使用するテーマを選択するには、makepkg の前に使用したいテーマの名前を MOLT 環境変数に指定してください。例:

$ MOLT=DayLight makepkg -s

テーマが選択されなかった場合、デフォルトでは WinterCoat テーマが適用されます。

マルチモニターのサポート

Alopex には xrandr による16台までの外付けモニターの実験的なサポートがあります。外部モニターの自動検出はまだ対応していませんが、バージョン 2.1 で計画されています。内部モニターと違って、Alopex は外付けモニターのウィンドウを異なるルールセットで管理します。各ウィンドウには (タグやフラグなどの情報に加えて) モニター番号が割り振られます。モニター番号が利用できるモニターの数より大きい場合、ウィンドウは一番数字が大きいモニターに配置されます。そうでない場合は数字に対応するモニターに配置されます。詳しくは man ページのドキュメントや config.h を見てください。

ウィンドウルール

Alopex ではクライアントウィンドウの WM_CLASS プロパティに含まれたリソース名やクラス名を元にウィンドウルールを定義することもできます。以下の構文で config.hrules 配列を編集することでルールを追加・編集できます:

static Rule rules[] = {
   { "name",   "class",  tags,   flags },
}

特定のルールの値を無視するには "name""class"NULL に置き換えて下さい。両方が指定された場合、両方の条件にあてはまる場合にのみルールは適用されます。"name""class" に使用する値は xorg-xprop で確認できます。tags に値を指定することでウィンドウを開いたときにデフォルトで設定するタグを指定することが可能です。この挙動を使いたくない場合は、tags の部分に 0 を使ってください。最後に、flags の値はウィンドウに特殊なプロパティを指定できます (例: 強制的にフローティングモード)。この挙動を使いたくない場合は、flags0 に置き換えて下さい。詳しい説明は man ページを参照 (#推奨ドキュメントを見てください)。

参照