JWM

提供: ArchWiki
2017年10月12日 (木) 23:16時点におけるKusakata.bot (トーク | 投稿記録)による版 (文字列「Tips and tricks」を「ヒントとテクニック」に置換)
ナビゲーションに移動 検索に移動

JWM (Joe's Window Manager) は C で書かれた羽のように軽い Xorg 向けのウィンドウマネージャです。Joe Wingbermuehle によって活発に開発されています。Puppy LinuxDamn Small Linux といったディストリビューションのデフォルトウィンドウマネージャです。

JWM は通常状態で約 5 MB しかメモリを使用しません。2009年1月現在、公式リポジトリに含まれている JWM のパッケージの容量は 76 KB を切っており (dwm は 17 KB 以下)、インストールしても 171 KB にしかなりません (dwm は 68 KB)。さらに小さくなるようにコンパイルした場合、ディスク容量は約 136 KB、常駐メモリ使用量は 1500 KB を下回ります。

設定はシンプルな XML ファイル ~/.jwmrc を使って行い、パネルやボタンのカスタマイズをサポートしています。また、システムトレイドックが同梱されています。

インストール

jwmインストールしてください。

警告: Recent SVN snapshots (e.g. 500) have migrated to Mod key masks (e.g. H to 4).

JWM の起動

xinit プログラムを実行して X サーバーと JWM クライアントプログラムを起動してください:

$ xinit /usr/bin/jwm

もしくは、xinitrcexec /usr/bin/jwm を追加してください。詳しくはログイン時に X を起動を参照。

設定

サンプル設定ファイルが /etc/system.jwmrc にあります。~/.jwmrc を作成してください:

$ touch ~/.jwmrc

もしくは:

$ cp -i /etc/system.jwmrc ~/.jwmrc

このファイルを編集することで環境を作成します。利用できるタグ・属性・値の完全なリストは JWM Configuration を見て下さい。

ノート: The rolling content of JWM Configuration is based on the latest SVN snapshot and may not reflect the options available in the the current release.

選択タグの概要

JWM Configuration を参照。

ヒントとテクニック

<Tasklist> のコントラストの改善

デフォルトの <Tasklist> の設定を変更することでデフォルトの <MenuStyle> とアクティブ時の <WindowStyle> のコントラストスタイルを調和させることができます:

<TaskListStyle>
    <ActiveForeground>black</ActiveForeground>
    <ActiveBackground>gray90:gray70</ActiveBackground>
</TaskListStyle>

<TaskListStyle>
    <ActiveForeground>white</ActiveForeground>
    <ActiveBackground>#70849d:#2e3a67</ActiveBackground>
</TaskListStyle>

ログアウトとリフレッシュ

<Exit/> (Logout) は現在の X サーバーからログアウトするメニューコマンドです。

<Restart/> (Refresh) は設定ファイルを再初期化してメニューとキーバインドを更新するメニューコマンドタグです。

<Restart/><Exit/> は以下のような記述を使うことで Ctrl+Alt 修飾キーにバインドすることができます:

<Key mask="CA" key="r">exec:jwm -restart</Key>
<Key mask="CA" key="e">exec:jwm -exit</Key>

再起動とシャットダウン

systemd が入っている環境では RestartPoweroff メニューオプションを使って再起動・シャットダウンできます。

<Program label="Restart">systemctl reboot</Program>
<Program label="Poweroff">systemctl poweroff</Program>

もしくは、<Key> を使ってコマンドを適当なキーにバインドしてください。

詳しくはユーザーにシャットダウンを許可を参照。

Conky

<StartupCommand> から Conky を実行することで様々なデータを表示することが可能です (例: ノートパソコンのバッテリー残量や AC アダプタの状態)。xfdesktop が Conky と衝突することがあります。以下の方法で回避できます:

  1. Conky FAQ を見て ~/.conkyrc を編集
  2. ~/.jwmrc<Group> Conky を作成して以下の <Option> タグを指定:
<Group>
    <Class>Conky</Class>
    <Option>nolist</Option>
    <Option>noborder</Option>
    <Option>notitle</Option>
    <Option>sticky</Option>
</Group>

最小ビルド

メニューアイコンを使わないようにしたり Xft フォントを無効化することで UI のレスポンスを少しだけ向上させることができます。さらに、カスタムビルドによって外部ライブラリのサポートを削除することで反応性が上がります。副次効果としてリソースの消費量も減ります。Xft サポートを有効にして Xft フォントを使うようにコンパイルした最小ビルドでは、常駐メモリを約 3MB、共有メモリを約 1.5 MB 使用します。Xft サポートを省いてコンパイルすると使用メモリがそれぞれ 1.5 MB 以下、約 1.2 MB になります。詳しくは Arch Build System のページを見て下さい。

PKGBUILD の例

PKGBUILD
pkgname=jwm
pkgver=2.1.0
pkgrel=3
pkgdesc="A lightweight window manager for the X11 Window System"
arch=('i686' 'x86_64')
url="http://joewing.net/programs/jwm/"
license=('GPL2')
depends=('libx11')
backup=('etc/system.jwmrc')
source=(http://joewing.net/programs/jwm/releases/jwm-$pkgver.tar.bz2)
md5sums=('e8fab21b2410eb82032b7c3472af642c')

build() {
  cd "$srcdir/$pkgname-$pkgver"
  ./configure --prefix=/usr --sysconfdir=/etc --disable-fribidi \
  --disable-confirm --disable-icons --disable-png \ 
  --disable-xpm --disable-jpeg --disable-xinerama \
  --disable-xft --disable-xrender --disable-debug 
  make
}

package() {
  cd "$srcdir/$pkgname-$pkgver"
  make BINDIR="$pkgdir/usr/bin" MANDIR="$pkgdir/usr/share/man" \
       SYSCONF="$pkgdir/etc" install
}

最小フォント

<WindowStyle>
-*-fixed-*-r-*-*-10-*-*-*-*-*-*-*

<TaskListStyle>
-*-fixed-*-r-*-*-13-*-*-*-*-*-*-*

<TrayStyle>
-*-fixed-*-r-*-*-13-*-*-*-*-*-*-*

手動タイル

Poor Man's Tiling Window Manager を使うことで JWM にタイリングのサポートを追加することができます。manage.pyPATH を通すことで、様々なタイリング操作をキーに割り当てることができます。例:

<Key mask="H" key="Up">exec:manage.py swap</Key>
<Key mask="H" key="Down">exec:manage.py cycle</Key>
<Key mask="H" key="Left">exec:manage.py left</Key>
<Key mask="H" key="Right">exec:manage.py right</Key>
ノート: Run the env command to list the modified environments of the current user.

トラブルシューティング

ログの確認

X が tty1 で動作していない場合、Ctrl+Alt+F1 で標準出力のエラーとメッセージを確認できます。ターミナルに出力された文字をログに記録する方法は man script を見て下さい。

compton を使用している場合に全てのウィンドウが透過する

~/.jwmrc でウィンドウの透過度を設定してください:

<Inactive>
  <Opacity>1,0</Opacity>
</Inactive>

ターミナルウィンドウが完全に最大化しない

~/.jwmrc にグループを追加して iignore オプションを設定してください。例:

<Group>
 <Class>URxvt</Class>
 <Option>iignore</Option>
</Group>

設定の変更の確認

JWM の設定をチェックしたい場合は、次を実行してください、構文エラーがある場合は行番号付きで表示されます:

$ jwm -p
ノート: 設定の変更はルートメニューの <Restart/> コマンドで JWM を再起動した後に適用されます。変更を適用するのに X サーバーを再起動する必要はありません。マークアップが正しいことを確認するために jwm -p を使用することが推奨されています。

参照