Catwm
Catwm は pyknite によって作成された軽量・小型のウィンドウマネージャです。最初のアナウンスは こちら を見てください。
目次
インストール
AUR
catwm-gitAUR パッケージをインストールしてください。
手動
公式 github ページ からファイルをダウンロードしてください。
catwm をコンパイルする前に、設定セクションを見ておくと良いでしょう。
ダウンロードしたファイルがあるディレクトリで、以下のコマンドを実行してください:
$ make
それから、root で以下のコマンドを実行してください:
# make install # make clean
起動
~/.xinitrc
に以下の行を追加してください:
exec /usr/bin/catwm
設定
Catwm では config.h
ファイルを使って設定します。デフォルトで、複数のホットキーが設定されています (デフォルトの MOD キーは Alt キーです):
- MOD + h (カレントウィンドウのサイズを小さくする)
- MOD + l (カレントウィンドウのサイズを大きくする)
- MOD + x (カレントウィンドウを閉じる)
- MOD + j (MOD + Tab) (次のウィンドウへ)
- MOD + k (前のウィンドウへ)
- MOD + Shift + k (カレントウィンドウを上に移動)
- MOD + Shift + j (カレントウィンドウを下に移動)
- MOD + Enter (マスターをカレントウィンドウに変更)
- MOD + Space (モード切替/最大化)
- MOD + c (ロック、slock が必要です)
- MOD + p (dmenu を開く)
- MOD + Shift + Return (urxvt を開く)
- MOD + Left (前のデスクトップへ)
- MOD + Right (次のデスクトップへ)
- MOD + 0-9 (# 番目のデスクトップへ)
- MOD + q (catwm を終了)
カスタムキーバインドの追加
カスタムキーバインドを追加したい場合、config.h
を編集して catwm を再コンパイルする必要があります。ここでは例として MOD+t
で Thunar ファイルマネージャを開くキーバインドを追加します。
まず、既に定義されている const char* の下に以下のような行を追加します (名前は何でもかまいません):
const char* thunarcmd[] = {"thunar", NULL};
const char* と [] の間の文字列がタイトルで、括弧の中に実行したいコマンドを入力します。コマンドの中に空白が含まれる場合、例えば ncmpcpp next の場合は {"ncmpcpp", "next", NULL} と入力します。ホットキーの最後には必ず NULL が必要です。
ウィンドウマネージャにホットキーを登録するには、keys[] という名前の構造体の下を見てください。catwm のキーバインドはすべてここに記述されます。上の thunarcmd[] を呼び出すバインドは以下のようになります:
{ MOD, XK_t, spawn, {.com = thunarcmd}},
- 1番目の要素は修飾キーを指定します (MOD は mod キーのみ、MOD|ShiftMask は mod キーと shift キーを表します)。
- 2番目の要素は他のホットキーと区別するキーを指定します。上記の例では t に設定しています。キーの前には必ず "XK_" を付けてください。a キーの場合は XK_a、スペースバーの場合は XK_Space、1 キーの場合は XK_1 になります。キーは大文字と小文字を区別するため XK_a と XK_A は異なります。
- 3番目の要素はシェルでコマンドを実行するときに渡される spawn() 関数を指定します。spawn の意味について考える必要はありません。
- 4番目の要素は呼び出すコマンドを指定します。上記の例では thunarcmd[] です。.com はコマンドの略です。
設定したら再コンパイルしてインストールしてください。
ボリュームを上下するホットキーの設定
config.h
で以下のように設定してください:
{ MOD, XK_Down, spawn, {.com = voldown}}, { MOD, XK_Up, spawn, {.com = volup}},
上記の設定では Mod+Down でボリュームが下がり、Mod+Up でボリュームが上がります。
ボリュームの変更量を変えたい場合、例えば 2% ごとにボリュームを変化させたい場合:
const char* voldown[] = {"amixer","set","PCM","2\%-",NULL}; const char* volup[] = {"amixer","set","PCM","2\%+",NULL};
次・前の曲に変更するホットキーの設定
以下の設定ではコマンドラインから曲を変更できる ncmpcpp あるいは mpc などの mpd ソフトウェアが必要です。
config.h
に以下のようにホットキーを設定してください:
{ MOD|ShiftMask, XK_Right, spawn, {.com = next}}, { MOD|ShiftMask, XK_Left, spawn, {.com = prev}},
上記の設定では MOD+Shift+Right で次の曲へ進み、MOD+Shift+Left で前の曲に戻ります。
トラブルシューティング
ボリュームを調整するホットキーが動作しない
volup と voldown で適切なデバイスを定義してください。一般的によく使われるのは "Master" と "PCM" です。
const char* voldown[] = {"amixer","set","Master","5\%-",NULL}; const char* volup[] = {"amixer","set","Master","5\%+",NULL};
const char* voldown[] = {"amixer","set","PCM","5\%-",NULL}; const char* volup[] = {"amixer","set","PCM","5\%+",NULL};
どちらも動作しない場合、amixer コマンドで出力されるデバイスを使ってみてください。alsa-utils パッケージのインストールが必要です。
それでも動作しない場合、alsamixer でデバイスがミュートになっていないか確認してください。