Catwm

提供: ArchWiki
2017年4月17日 (月) 23:50時点におけるKusakata (トーク | 投稿記録)による版 (翻訳)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

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+tThunar ファイルマネージャを開くキーバインドを追加します。

まず、既に定義されている 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 はコマンドの略です。

設定したら再コンパイルしてインストールしてください。

ボリュームを上下するホットキーの設定

ノート: 以下の設定では alsa-utils パッケージに入っている amixer が必要です。

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 でデバイスがミュートになっていないか確認してください。