mwm(1) — NEWS-OS Programmer’s Manual
名称
mwm - Motif ウィンドウマネージャ
形式
mwm [options]
解説
mwm はウィンドウマネージメントの機能と、 いくつかのセッションマネージメントの機能を持った X Window System のクライアントです。 mwm には、ウィンドウの位置、サイズ、アイコン/通常(ウィンドウ)表示、 入力フォーカスの所有権等のウィンドウ表示に関する個々の (ユーザおよびプログラムによる)制御を容易にする機能があります。 また、クライアントを停止させるといった、 セッションマネージメントの機能も持っています。
オプション
−display display
このオプションは、使用するディスプレイを指定します。 X(7) を参照してください。
−xrm resourcestring
このオプションは、使用するリソースの文字列を指定します。
−multiscreen
このオプションによってディスプレイ上の全てのスクリーンを制御します。 このオプションを指定しない場合、一つのスクリーンだけを制御します。
−name name
このオプションによって指定した名前をリソースの name として使用できるようにします。
−screens name [name [...]]
このオプションは、制御するスクリーンで使うリソースの name を指定します。 一つのスクリーンを使う場合、リスト内の先頭の名前が使われます。 複数のスクリーンを使う場合、 指定した名前はスクリーン 0 から順に割り当てられます。 スクリーン 0 は先頭の名前、スクリーン 1 は 2 番目の名前というように、 順番に割り当てられます。
概要
以下のセクションでは、ウィンドウ、アイコン、アイコンボックス、 入力フォーカス、ウィンドウスタッキングの基本的な デフォルトの動作を説明しています。 ウィンドウマネージャの概要と動作は、 特定のリソースのコンフィギュレーションを変えることによって、 変更できます。 リソースは、 X DEFAULTS の表題以降で定義されます。
スクリーン
デフォルトでは −display オプション または DISPLAY 環境変数 (デフォルトではスクリーン 0) によって指定するスクリーンだけを制御できます。 multiscreen オプションを指定、 または multiScreen リソースが真の場合、 ディスプレイ上の全スクリーンを制御しようとします。
複数スクリーンを制御する場合、 −screens オプションを使うことによって 各スクリーンにそれぞれの名前を指定できます。 名前は空白によって区切ります。 例えば、−screens mwm0 mwm1 のように。 指定した名前の数以上のスクリーンがある場合、 残りのスクリーンは先頭の指定名から割り当てられます。
ウィンドウ
デフォルトの mwm のウィンドウフレームには、 それぞれが関連した機能を持っています。
タイトル領域クライアントのタイトルを表示する他、 ウィンドウを移動するために使用されます。 タイトル領域にマウスポインタを置き、 ボタン 1 を押したままウィンドウを新しい位置にドラッグして移動します。 ドラッグ中のウィンドウの位置を示すために、 固定枠 (ウィンドウの枠) が移動します。 ボタンを離すと、ウィンドウはその位置に移動します。
タイトルバータイトルバーにはタイトル領域、最小化ボタン、最大化ボタン、 ウィンドウメニューボタンが含まれています。
最小化 (アイコン化) ボタン
最小化ボタン (中に小さい正方形のあるフレームボックス) 上でボタン 1 をクリックすると、 ウィンドウがアイコン化されます。
最大化ボタン最大化ボタン (中に大きい正方形のあるフレームボックス) 上でボタン 1 をクリックすると、 ウィンドウがスクリーンいっぱいに拡大 (あるいは、コンフィギュレーションファイルによって許された 最大のサイズに拡大) されます。
ウィンドウメニューボタン
ウィンドウメニューボタンは、 中に水平のバーを持ったフレームボックスです。 ボタン 1 を押すと、 ウィンドウメニューがプルダウンされます。 ボタンを押したままマウスポインタをドラッグすると、 ポインタが示す項目が反転表示されます。 ボタンを離すと、その項目が選択されます。 別の方法として、ボタン 1 をクリックすると メニューをポップアップして、 表示したままにすることもできます。 その後、マウスポインタの位置を決め、選択してください。
| デフォルトのウィンドウメニュー | ||
| 選択項目 | アクセラレータ | 解説 |
| Restore | Alt+F5 | 最小化または最大化の前のサイズにウィンドウを回復します。 |
| Move | Alt+F7 | キーまたははマウスによってウィンドウを移動します。 |
| Size | Alt+F8 | ウィンドウをリサイズします。 |
| Minimize | Alt+F9 | ウィンドウをアイコンにします。 |
| Maximize | Alt+F10 | ウィンドウをスクリーンいっぱいに表示します。 |
| Lower | Alt+F11 | ウィンドウスタックの最下位にウィンドウを移動します。 |
| Close | Alt+F4 | クライアントを終了させます。 |
リサイズボーダハンドルウィンドウのサイズを変えるには、 マウスポインタをリサイズボーダハンドル上に移動して (カーソルが変化します)、 ボタン 1 を押し、ウィンドウをドラッグして新しいサイズにします。 ドラッグが行われている間は、可変の輪郭線が表示され、 新しいウィンドウのサイズを示します。
マッテ (額縁)オプションのマッテ装飾を、 クライアント領域とウィンドウフレームの間に加えることができます。 マッテは、実際には、ウィンドウフレームの一部ではありません。 マッテに関連した機能はありません。
アイコン
アイコンは、ウィンドウを小さなグラフィックで表現したものです。 ウィンドウはウィンドウフレーム上の最小化ボタンを使用して、 最小化 (アイコン化) することができます。 スクリーン内の混雑を減らすために利用されます。
マウスポインタがアイコン上にある時にマウスボタン 1 を押すと、 アイコンのウィンドウメニューがポップアップします。 ボタンを離すと (マウスを移動させないで、押して離す = クリック) メニューが表示されたままになります。 メニューには、以下の選択項目があります。
| アイコンのウィンドウメニュー | ||
| 選択項目 | アクセラレータ | 解説 |
| Restore | Alt+F5 | アイコンのウィンドウを開きます。 |
| Move | Alt+F7 | アイコンをキーで移動します。 |
| Size | Alt+F8 | 動作しません (アイコンに対するオプションではありません)。 |
| Minimize | Alt+F9 | 動作しません (アイコンに対するオプションではありません)。 |
| Maximize | Alt+F10 | アイコンのウィンドウを開いて、 スクリーンいっぱいに拡張します。 |
| Lower | Alt+F11 | アイコンをアイコンスタックの最下位に移動します。 |
| Close | Alt+F4 | クライアントを mwm の管理から外します。 |
アイコン上でボタン 3 をクリックしても、 アイコンのメニューウィンドウはポップアップします。 項目を選択する場合には、 ポインタをメニュー上にドラッグし 希望の項目上でボタン 3 を離します。
アイコン上でボタン 1 をダブルクリックすると、 アイコンは元のウィンドウに戻ります。 アイコンボックスのアイコン上でボタン 1 をダブルクリックすると、 アイコンボックスが開いて、 そこに含まれるアイコンにアクセスできるようになります。 (通常の場合、 マウスボタンをダブルクリックすると、 その機能を素早く実行できます。) ウィンドウメニューボタン上にマウスポインタを置いて、 ボタン 1 をダブルクリックすること、 ウィンドウが閉じられます。
アイコンボックス
アイコンがスクリーン内で混雑した場合、 アイコンを「アイコンボックス」に収めることができます。 (アイコンボックスを使用するには、 アイコンボックスのコンフィギュレーションが既に設定されている状態で mwm を起動させます。) アイコンボックスはクライアントのアイコンを保持する、 mwm のウィンドウです。 アイコンが、アイコンボックスが同時に表示できる数を超えた場合に備えて、 複数のスクロールバーがあります。
アイコンボックス中のアイコンは、マウスで操作することができます。 以下の表はそのインターフェース動作をまとめたものです。 マウスポインタがアイコン上にあれば、 いつでもボタン操作が適用されます。
| ボタン操作 | 解説 |
| ボタン 1 をクリック | アイコンを選択します。 |
| ボタン 1 をダブルクリック | アイコンをウィンドウに戻します (開きま す)。 |
| ボタン 1 をダブルクリック | 既に開いているウィンドウをスタックの最上位に移動します。 |
| ボタン 1 をドラッグ | アイコンを移動します。 |
| ボタン 3 を押す | アイコンのメニューをポップアップします。 |
| ボタン 3 をドラッグ | ポインタが置かれたメニュー項目を反転します。 |
ポインタがアイコン上にある時にボタン 3 をクリックすると、 アイコンのメニューをポップアップします。
| アイコンボックスのアイコンメニュー | ||
| 選択項目 | アクセラレータ | 解説 |
| Restore | Alt+F5 | アイコンのウィンドウを開けます。 (ウィンドウが既に開けられていなければ) |
| Move | Alt+F7 | キーによってウィンドウを移動します。 |
| Size | Alt+F8 | 動作しない。 |
| Minimize | Alt+F9 | 動作しない。 |
| Maximize | Alt+F10 | ウィンドウをスクリーンいっぱいに表示します。 (ウィンドウが既に開けられていなければ) |
| Lower | Alt+F11 | 動作しない。 |
| Close | Alt+F4 | クライアントを mwm の管理から外します。 |
アイコンボックス自身のウィンドウメニューを プルダウンする場合、 アイコンボックスのメニューボタン上で ボタン 1 を押します。 アイコンボックスのウィンドウメニューは クライアントのメニューとは異なります。 選択項目「 Close 」は、 選択項目「 PackIcons Shift+Alt+F7 」に置き換えられています。 PackIcons が選択されると、 空のスロットがないように整頓して並べ、 ボックス中にアイコンを収めます。
アイコンボックスが入力フォーカスを持つ場合に [ Shift ] [ Escape ] を押すと、 アイコンボックスのウィンドウメニューがポップアップされます。 F4 (ポップアップメニュー)を押すと、 その時選択されているアイコンのウィンドウメニュー がポップアップされます。
入力フォーカス
mwm は (デフォルトでは) 明示的 (explicit) な選択によるキーボード入力のフォーカスを サポートしています。 ウィンドウがキーボード入力を受け付けるために選択された場合、 そのウィンドウがウィンドウマネージメントから消去される、 他のウィンドウがキーボード入力を受け付けるために明示的に選択される、 またはウィンドウがアイコン化されるまで、 キーボード入力を受け付け続けるようにします。 入力フォーカスを制御する多数のリソースがあります。 キーボード入力フォーカスを持つクライアントウィンドウは、 そのことが見分けやすいようなウィンドウフレームを持っています。
以下の表はキーボード入力フォーカスの選択方法をまとめたものです。
| ボタン操作 | 対象 | 機能の解説 |
| ボタン 1 を押す | ウィンドウ/ウィンドウフレーム | キーボードフォーカスの選択 |
| ボタン 1 を押す | アイコン | キーボードフォーカスの選択 |
| キー操作 | 機能の解説 |
| [Alt] [Tab] | 入力フォーカスをウィンドウスタック中の次のウィンドウに |
| 移す。 | |
| [Alt] [Shift] [Tab] | 入力フォーカスをウィンドウスタック中の前のウィンドウに移す。 |
X のデフォルト
mwm は mwm のリソースデータベースによって設定されます。 このデータベースは以下のソースから構成されます。 これらは優先順位の低いものから高いものへ、 という順序で示してあります。
/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
RESOURCE_MANAGER ルートウィンドウプロパティまたは $HOME/.Xdefaults
XENVIRONMENT変数または$HOME/.Xdefaults-host
mwm コマンド行オプション
ファイル名 /usr/lib/X11/app-defaults/Mwm および $HOME/Mwm は、これらのファイルの 通常の位置を示しています。 システムワイドなクラスリソースファイルの 実際の位置は XFILESEARCHPATH 環境変数およびカレント の言語環境に依存しています。 ユーザ固有のクラスリソースファイルの 実際の位置は XUSERFILESEARCHPATH および XAPPLRSDIR 環境変数およびカレントの言語環境に依存しています。
リソースデータベースのエントリは、 特定のタイプのリソースに対しては、 他のリソースファイルを参照します。 これらはビットマップ、フォント、 およびメニューや動作の設定 (すなわち、ボタンおよびキーの設定) のような mwm の特有のリソースを含むファイルです。
Mwm は mwm のリソースクラスの名称であり、 mwm はリソースを参照するために mwm によって使用されるリソース名です。 (複数スクリーンのリソースを参照する場合、 −screens コマンド行オプションは " mwm_b+w " や " mwm_color " などのリソース名を指定します) リソースの指定に関する以下の解説では、 「 Mwm 」と「 mwm 」(または、name として付けられた別名) は 同じように使用されています。 ただし、" mwm " は " Mwm " より優先されます。
mwm は以下のタイプのリソースを使用します。
コンポーネントの外観を指定するリソース :
これらのリソースは、 ウィンドウマネージャのユーザインターフェースの コンポーネントの外観の属性を指定します。 これらは、ウィンドウマネージャのメニュー、 フィードバックウィンドウ (例えば、ウィンドウ再設定用フィードバックウィンドウ)、 クライアントのウィンドウフレーム、および、アイコンの外観に適用されます。
特定の外観および動作を指定するリソース :
mwm の外観と動作 (例えば、ウィンドウの管理の方法) を指定するリソースです。 異なる mwm のユーザインターフェースのコンポーネントに対して、 別々に設定されることはありません。
クライアント特有のリソース :
mwm のリソースは特定のクライアントのウィンドウ、 またはクライアントウィンドウのクラスに対して設定されます。 クライアント特有のアイコンとクライアントのウィンドウフレームの外観、 および動作を指定します。
リソース識別子はリソース名 (例えば、foreground) または、 リソースクラス (例えば、Foreground) のいずれでも使用できます。 もし、リソースの値がファイル名であり、 ファイル名の前に「 ~/ 」が付いているとき、 $HOME 環境変数に含まれるパス (一般には、ユーザのホームディレクトリ) への相対パスとなります。
コンポーネントの外観を指定するリソース
ウィンドウマネージャのアイコン、メニュー、 およびクライアントのウィンドウフレームに適用される、 コンポーネントの外観を指定するリソースを設定するための構文は、
Mwm∗resource_id
となります。
例えば、 Mwm∗foreground は mwm のメニュー、 アイコン、およびクライアントのウィンドウフレーム、 フィードバック対話に対するフォアグラウンドカラーを 指定するために使用されます。 特定の mwm のコンポーネントに適用される コンポーネントの外観を指定するリソースを設定するための構文は、
Mwm∗[menu|icon|client|feedback]∗resource_id
です。 もし、menu が指定されていれば、 リソースは MWM のメニューに対してのみ適用されます。 もし、icon が指定されていれば、 リソースはアイコンに対して適用されます。 もし、client が指定されていれば、 リソースはクライアントのウィンドウフレームに対して適用されます。 例えば、Mwm∗icon∗foreground は、 mwm のアイコンに対するフォアグラウンドカラーを 指定するために使用されます。 Mwm∗menu∗foreground は mwm のメニューに対する フォアグラウンドカラーを指定します。 そして、Mwm∗client∗foreground は mwm のクライアント のウィンドウフレームに対するフォアグラウンドカラーを 指定するために使用されます。
(ウィンドウマネージメントボタンを含む) クライアントの ウィンドウフレームのタイトル領域の表示は、別々に設定できます。 クライアントのウィンドウフレームのタイトル領域を 設定するための構文は、
Mwm∗client∗title∗resource_id
です。 例えば、Mwm∗client∗title∗foreground はタイトル領域に対する フォアグラウンドカラーを指定します。 タイトル領域のリソースのデフォルト値は、 対応するクライアントのウィンドウフレームのリソースの値に基づいています。
メニューの外観はメニューの名称に基づいて設定できます。 名称によってメニューの外観を指定するための構文は、
Mwm∗menu∗menu_name∗resource_id
です。 例えば、Mwm∗menu∗my_menu∗foreground は名称が my_menu というメニューに対するフォアグラウンドカラーを指定します。
ウィンドウマネージャのすべての部分に適用される コンポーネントの外観を指定するリソースとして、 以下のものを設定することができます。
| コンポーネントの外観を指定するリソース | |||
| − ウィンドウマネージャのすべての部分に対するもの | |||
| 名称 | クラス | 値のタイプ | デフォルト |
| background | Background | color | varies∗ |
| backgroundPixmap | BackgroundPixmap | string∗∗ | varies∗ |
| bottomShadowColor | Foreground | color | varies∗ |
| bottomShadowPixmap | BottomShadowPixmap | string∗∗ | varies∗ |
| fontList | FontList | string∗∗∗ | "fixed" |
| foreground | Foreground | color | varies∗ |
| saveUnder | SaveUnder | T/F | F |
| topShadowColor | Background | color | varies∗ |
| topShadowPixmap | TopShadowPixmap | string∗∗ | varies∗ |
∗ デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
∗∗ ピックスマップイメージの名称です。 XmInstallImage(3XM) を参照してください。
∗∗∗ X11 R4 のフォントの記述です。
background (クラス Background )
バックグラウンドの色を指定します。 X で使用できる色はどのような色でも指定できます。 デフォルト値はスクリーンのビジュアルタイプに基づいて選択されます。
backgroundPixmap (クラス BackgroundPixmap )
ウィンドウがインアクティブ (キーボードフォーカスを持たない) になった場合に、 mwm の装飾のバックグラウンドピックスマップを指定します。 デフォルト値はスクリーンのビジュアルタイプに基づいて選択されます。
bottomShadowColor (クラス Foreground )
下側の影の色を指定します。 この色は、 ウィンドウマネージャの装飾の下側と右側の斜面に対して使用されます。 X で使用できる色はどのような色でも指定できます。 デフォルト値はスクリーンのビジュアルタイプに基づいて選択されます。
bottomShadowPixmap (クラス BottomShadowPixmap )
下側の影のピックスマップを指定します。 ウィンドウマネージャの装飾の下側と右側の斜面に対して使用されます。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
fontList (クラス Font )
ウィンドウマネージャの装飾に使用されるフォントを指定します。 フォントに用いられている文字の符号化方法と、 使用する文字列に用いられている文字の符号化方法が 一致していなければなければなりません。 デフォルトは「 fixed 」です。
foreground (クラス Foreground )
フォアグラウンドの色を指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
saveUnder (クラス SaveUnder )
mwm のコンポーネントに対して 「セーブアンダー機能」が使用されるかどうかを示します。 これが有効であるためには、 セーブアンダー機能が X サーバによって インプリメントされていなければなりません。 セーブアンダー機能がインプリメントされていれば、 セーブアンダー属性が設定されているウィンドウによって覆われている ウィンドウの内容を X サーバがセーブします。 saveUnder リソースが True であれば、 True が設定されたすべてのクライアントのウィンドウマネージャの フレーム上に、 mwm はセーブアンダーの属性を設定します。 saveUnder が False であれば、 どのようなウィンドウマネージャのフレーム上でも、 セーブアンダー機能は使用されません。 デフォルト値は False です。
topShadowColor (クラス Background )
最上部の影の色を指定します。 ウィンドウマネージャの装飾の上側と左側の斜面に対して使用されます。 デフォルト値はスクリーンのビジュアルタイプに基づいて選択されます。
topShadowPixmap (クラス TopShadowPixmap )
最上部の影のピックスマップを指定します。 ウィンドウマネージャの装飾の上側と左側の斜面に対して使用されます。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
フレームとアイコンに適用される、 コンポーネントの外観を指定するリソースとして、 以下の内容を設定できます。
| フレームとアイコンのコンポーネント | |||
| 名称 | クラス | 値のタイプ | デフォルト |
| activeBackground | Background | color | varies∗ |
| activeBackgroundPixmap | BackgroundPixmap | string∗∗ | varies∗ |
| activeBottomShadowColor | Foreground | color | varies∗ |
| activeBottomShadowPixmap | BottomShadowPixmap | string∗∗ | varies∗ |
| activeForeground | Foreground | color | varies∗ |
| activeTopShadowColor | Background | color | varies∗ |
| activeTopShadowPixmap | TopShadowPixmap | string∗∗ | varies∗ |
∗ デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
∗∗XmInstallImage(3XM) を参照してください。
activeBackground (クラス Background )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の mwm の装飾の バックグラウンドの色を指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
activeBackgroundPixmap (クラス BackgroundPixmap )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の、 mwm の装飾のバックグラウンドのピックスマップを指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
activeBottomShadowColor (クラス Foreground )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の、 mwm の装飾の下側の影の色を指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
activeBottomShadowPixmap (クラス BottomShadowPixmap )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の、 mwm の装飾の下側の影のピックスマップを指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
activeForeground (クラス Foreground )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の、 mwm の装飾のフォアグラウンドの色を指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
activeTopShadowColor (クラス Background )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の、 mwm の装飾の上側の影の色を指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
activeTopShadowPixmap (クラス TopShadowPixmap )
ウィンドウがアクティブ (キーボードフォーカスを持った) になった場合の、 mwm の装飾の上側の影のピックスマップを指定します。 デフォルトはスクリーンのビジュアルタイプに基づいて選択されます。
特定の外観および動作を指定するリソース
特定の外観および動作を指定するリソースを設定するための構文は、
Mwm∗resource_id
です。 例えば、Mwm∗keyboardFocusPolicy は 特定のクライアントのウィンドウに、 キーボードフォーカスを設定するためのウィンドウマネージャの ポリシーを指定します。
特定の外観および動作を指定するリソースとして、 以下の内容を設定できます。
| 特定の外観および動作を指定するリソース | |||
| 名称 | クラス | 値のタイプ | デフォルト |
| autoKeyFocus | AutoKeyFocus | T/F | T |
| autoRaiseDelay | AutoRaiseDelay | millisec | 500 |
| bitmapDirectory | BitmapDirectory | directory | X11/bitmaps /usr/include/X11/bitmaps |
| buttonBindings | ButtonBindings | string | "DefaultBut\tonBindings" |
| cleanText | CleanText | T/F | T |
| clientAutoPlace | ClientAutoPlace | T/F | T |
| colormapFocusPolicy | ColormapFocusPolicy | string | keyboard |
| configFile | ConfigFile | file | .mwmrc |
| deiconifyKeyFocus | DeiconifyKeyFocus | T/F | T |
| doubleClickTime | DoubleClickTime | millisec. | multi-click time |
| enableWarp | enableWarp | T/F | T |
| enforceKeyFocus | EnforceKeyFocus | T/F | T |
| fadeNormalIcon | FadeNormalIcon | T/F | F |
| frameBorderWidth | FrameBorderWidth | pixels | 5 |
| iconAutoPlace | IconAutoPlace | T/F | T |
| iconBoxGeometry | IconBoxGeometry | string | 6x1+0-0 |
| iconBoxName | IconBoxName | string | iconbox |
| iconBoxSBDisplayPolicy | IconBoxSBDisplayPolicy | string | all |
| iconBoxTitle | IconBoxTitle | XmString | Icons |
| iconClick | IconClick | T/F | T |
| iconDecoration | IconDecoration | string | varies |
| iconImageMaximum | IconImageMaximum | wxh | 50x50 |
| iconImageMinimum | IconImageMinimum | wxh | 16x16 |
| iconPlacement | IconPlacement | string | left bottom |
| iconPlacementMargin | IconPlacementMargin | pixels | varies |
| interactivePlacement | InteractivePlacement | T/F | F |
| keyBindings | KeyBindings | string | "DefaultKey\Bindings" |
| keyboardFocusPolicy | KeyboardFocusPolicy | string | explicit |
| limitResize | LimitResize | T/F | T |
| lowerOnIconify | LowerOnIconify | T/F | T |
| maximumMaximumSize | MaximumMaximumSize | wxh (pixels) | 2X screen w&h |
| moveThreshold | MoveThreshold | pixels | 4 |
| multiScreen | MultiScreen | T/F | F |
| passButtons | PassButtons | T/F | F |
| 特定の外観および動作を指定するリソース | |||
| 名称 | クラス | 値のタイプ | デフォルト |
| passSelectButton | PassSelectButton | T/F | T |
| positionIsFrame | PositionIsFrame | T/F | T |
| positionOnScreen | PositionOnScreen | T/F | T |
| quitTimeout | QuitTimeout | millisec. | 1000 |
| raiseKeyFocus | RaiseKeyFocus | T/F | F |
| resizeBorderWidth | ResizeBorderWidth | pixels | 10 |
| resizeCursors | ResizeCursors | T/F | T |
| screens | Screens | string | varies |
| showFeedback | ShowFeedback | string | −kill |
| startupKeyFocus | StartupKeyFocus | T/F | T |
| transientDecoration | TransientDecoration | string | system title |
| transientFunctions | TransientFunctions | string | −minimize −maximize |
| useIconBox | UseIconBox | T/F | F |
| wMenuButtonClick | WMenuButtonClick | T/F | T |
| wMenuButtonClick2 | WMenuButtonClick2 | T/F | T |
autoKeyFocus (クラス AutoKeyFocus )
キーボード入力のフォーカスポリシーが明示的 (explicit) である場合にのみ、 使用可能です。 autoKeyFocus が True の値として与えられれば、 キーボード入力のフォーカスを持つウィンドウが ウィンドウマネージャから消去 (withdrawn) 、 またはウィンドウがアイコン化された時には、 その前にフォーカスを持っていたウィンドウにフォーカスが設定されます。 その値が False であれば、 キーボード入力のフォーカスは自動的に設定されません。 デフォルト値は True です。
autoRaiseDelay (クラス AutoRaiseDelay )
focusAutoRaise リソースが True で、 キーボードフォーカスポリシーが pointer である場合にのみ、 このリソースは使用可能です。 mwm がキーボードフォーカスを受け付けてから、 ウィンドウを最上位に表示するまでの待ち時間 (ミリ秒単位) を指定します。 このリソースのデフォルト値は 500 (ms) です。
bitmapDirectory (クラス BitmapDirectory )
mwm のリソースによって参照される ビットマップを検索するディレクトリを指定します。 ビットマップが絶対パス名なしに設定されている場合、 このディレクトリは検索されます。 このリソースに対するデフォルト値は /usr/include/X11/bitmaps です。
buttonBindings (クラス ButtonBindings )
ウィンドウのマネージメント機能に関する ボタンバインディングのセットを指定します。 名前のつけられたボタンバインディングのセットは、 mwm リソース記述ファイル中で指定されます。 これらのボタンバインディングは、 内蔵のデフォルトのバインディングとマージされます。 このリソースのデフォルト値は "DefaultButtonBindings"です。
cleanText (クラス CleanText )
クライアントのタイトル、 およびフィードバックウィンドウ内のウィンドウマネージャの テキスト表示を制御します。 True のデフォルト値が使用された場合、 テキストははっきりとした (点描ではない) バックグラウンドで描かれます。 backgroundPixmap が指定されているモノクロームシステムで、 テキストを読み易くします。 テキストの周囲のごくわずかの領域の点描だけが消去されます。 False の場合、 テキストは現在のバックグラウンドの上部に直接描かれます。
clientAutoPlace (クラス ClientAutoPlace )
ウィンドウがユーザによって位置の指定を受けなかった場合、 ウィンドウの位置を決定します。 この値が True の場合、 水平方向と垂直方向にフレームのオフセットをとって、 左上隅にウィンドウは配置されます。 False の場合、 ウィンドウの現在位置が使われます。 いずれの場合も、 mwm はできるだけウィンドウ全体を スクリーン上に表示するようにします。 デフォルト値は True です。
colormapFocusPolicy (クラス ColormapFocusPolicy )
使用されているカラーマップフォーカスポリシーを示します。 リソースの値が explicit であれば、 カラーマップフォーカスをウィンドウに設定するため、 カラーマップの選択動作がクライアントのウィンドウ上で行われます。 その値が pointer であれば、 ポインタを含むクライアントのウィンドウが カラーマップフォーカスを持ちます。 その値が keyboard の場合、 キーボード入力フォーカスを持つクライアントの ウィンドウがカラーマップフォーカスを持ちます。 このリソースに対するデフォルト値は keyboard です。
configFile (クラス ConfigFile )
リソース値は mwm リソース記述ファイルに対するパス名です。
パス名が "~/" で始まる場合、 mwm はその名前がユーザのホームディレクトリ(環境変数 HOME にて指定) に関連するものとみなします。 LANG 環境変数が設定されている場合、 mwm は $HOME/$LANG/configFile を探します。 そのファイルが存在しない、 または LANG が設定されていない場合、 mwm は $HOME/config を探します。
configFile パス名が " ~/ " で始まらない場合、 mwm はそれを現在実行中のディレクトリからの総体パスとみなします。
configFile リソースが指定されていない、 またはそのファイルが存在しない場合に、 コンフィギュレーションファイルを探すため、 mwm はいくつかのデフォルトのパスを使用します。 LANG 環境変数が設定されている場合、 mwm はコンフィギュレーションファイルをまず $HOME/$LANG/.mwmrc 内に探します。 そのファイルが存在しない、 または LANG が設定されていない場合、 mwm は $HOME/.mwmrc を探します。 そのファイルが存在しない、 そして LANG が設定されている場合、 mwm は次に /usr/lib/X11/$LANG/system.mwmrc を探します。 そのファイルが存在しない、 または LANG が設定されていない場合、 mwm は /usr/lib/X11/system.mwmrc を探します。
deiconifyKeyFocus (クラス DeiconifyKeyFocus )
キーボード入力フォーカスポリシーが明示的 (explicit) の場合にのみ 適用されます。 その値が True であれば、 ウィンドウはノーマルの状態 (アイコン化されていない) になった時、 キーボード入力フォーカスを受け付けます。 True はデフォルト値です。
doubleClickTime (クラス DoubleClickTime )
ダブルクリックである、 2回のクリック (ボタンを押すこと) 間の最大時間 (ms) を設定するために使用されます。 このリソースのデフォルト値はディスプレイのマルチクリックタイムです。
enableWarp (クラス EnableWarp )
このリソースのデフォルト値である True の場合、 キーボード制御のリサイズと移動動作の期間に、 指定ウィンドウの中心に mwm によってポインタをワープさせます。 値を FALSE に変えると、 mwm はポインタをスクリーン上の 元の位置に置いたままとします。 たとえユーザがカーソルキーなどの 位置決めの手段を使って、 ポインタを移動したとしても。
enforceKeyFocus (クラス EnforceKeyFocus )
このリソースの値が True であれば、 キーボード入力フォーカスは、 「グローバルにアクティブ」な入力ウィンドウであるという表示がある場合でも、 選択されたウィンドウに常に明示的に設定されます (グローバルにアクティブなウィンドウの例としては、 フォーカスがクライアントに設定されてなくても操作することができる スクロールバーがあります)。 リソースが False の場合、 キーボード入力フォーカスはグローバルにアクティブなウィンドウに 明示的には設定されません。 デフォルト値は True です。
fadeNormalIcon (クラス FadeNormalIcon )
リソースの値が True の場合、 アイコンはノーマルの状態 (そのウィンドウが開かれている) の場合に いつも灰色で表示されます。 デフォルト値は False です。
frameBorderWidth (クラス FrameBorderWidth )
リサイズハンドルを除く、 クライアントのウィンドウフレームのボーダ幅 (ピクセル値) を指定します。 ボーダ幅は3次元の影を含みます。 デフォルト値は5ピクセルです。
iconAutoPlace (クラス IconAutoPlace )
ウィンドウマネージャがアイコンをスクリーンの特定の領域に配置、 または各アイコンをアイコン化された位置に配置するかを示します。 値が True の場合、 iconPlacement リソースによって決定されたスクリーンの特定の位置に、 アイコンが配置されます。 値が False の場合、 アイコン化された時の位置にアイコンが配置されます。
iconBoxGeometry (クラス IconBoxGeometry)
アイコンボックスの最初の位置およびサイズを示します。 リソースの値は標準ウィンドウの位置を示す文字列で、 次のような形式となります。
[=] [widthxheight] [{+−}xoffset{+−}yoffset]
オフセットが用意されてない場合、 iconPlacement ポリシーが最初の位置を決めるために使われます。 幅および高さに関する単位はコラムおよび列です。
アイコンボックスウィンドウの実際のスクリーンサイズは、 iconImageMaximum (サイズ) および iconDecoration リソースによって 決定されます。 サイズに関するデフォルト値は、 幅が (6 ∗ iconWidth + padding) で高さは (1 ∗ iconHeight + padding) となります。 位置に関するデフォルトの値は +0 −0 となります。
iconBoxName (クラス IconBoxName )
アイコンボックスのリソースを検索する時に使用される名称を指定します。 デフォルトの名称は iconbox です。
iconBoxSBDisplayPolicy (クラス IconBoxSBDisplayPolicy )
アイコンボックス内のウィンドウマネージャのスクロールバー表示の 方法を示します。 リソースには3通りの値 (all (全方向)、vertical (垂直方向)、 horizontal (水平方向)) が設定できます。 デフォルトである "all" の場合、 垂直および水平方向のスクロールバーを常に表示させます。 "vertical" の場合、 一本の垂直スクロールバーをアイコンボックス内に表示させ、 アイコンボックスの方向を水平 (iconBoxGeometry の仕様にかかわらず) に設定します。 "horizontal" の場合、 一本の水平スクロールバーをアイコンボックス内に表示させ、 アイコンボックスの方向を垂直 (iconBoxGeometry の仕様にかかわらず) に設定します。
iconBoxTitle (クラス IconBoxTitle )
アイコンボックスのフレームのタイトル領域に使用される名称を指定します。 デフォルト値は Icons です。
iconClick (クラス IconClick )
このリソースの値が True の場合、 アイコンがクリックされた時システムメニューが表示され、 表示されたままの状態になります。 デフォルト値は True です。
iconDecoration (クラス IconDecoration )
通常のアイコンの装飾を指定します。 リソースの値は label (ラベル部分のみが表示される)、 または image (イメージ部分のみが表示される)、 または label image (ラベルとイメージ部分の両方が表示される) のどれかです。 アイコンが選択された時に (アイコンの幅で省略しないで) ラベルを得るために、 アクティブラベルの値を指定できます。 アイコンボックスのアイコンのデフォルトの装飾では、 各アイコンにはラベル部分とイメージ部分 (label image) があります。 スタンドアロンのアイコンのデフォルトの装飾では、 各アイコンにはアクティブなラベル部分、 ラベル部分、 およびイメージ部分 (activelabel label image) があります。
iconImageMaximum (クラス IconImageMaximum )
アイコンイメージの最大のサイズを指定します。 リソースの値は幅 x 高さ (例えば、64 x 64) です。 使用できる最大のサイズは 128 x 128 です。 このリソースのデフォルト値は 50 x 50 です。
iconImageMinimum (クラス IconImageMinimum )
アイコンイメージの最小のサイズを指定します。 リソースの値は幅 x 高さ (例えば、32 x 50) です。 使用できる最小のサイズは 16 x 16 です。 このリソースのデフォルト値は 16 x 16 です。
iconPlacement (クラス IconPlacement )
アイコンの位置を決めるために使用する手順を指定します。 リソースの値は以下の構文を持ちます。
primary_layout secondary_layout
レイアウトの値は、以下の内のどれかです。
| 値 | 機能 |
| top | アイコンを上から下にレイアウトします。 |
| bottom | アイコンを下から上にレイアウトします。 |
| left | アイコンを左から右にレイアウトします。 |
| right | アイコンを右から左にレイアウトします。 |
水平方向 (垂直方向) のレイアウト値は primary_layout と secondary_layout の両方に使用してはいけません (例えば、primary_layout に top を使用し、 secondary_layout に bottom を使用してはいけません)。 primary_layout はアイコンの位置決定が行われる時に、 アイコンが配置されるのが行なのかカラムなのか、 およびその配置の方向を示します。 secondary_layout は、新しい行あるいはカラムを置くための場所を示します。 例えば、top right はアイコンがスクリーンの上から下に配置され、 カラムがスクリーンの右から左へ付け加えられていくことを示します。 デフォルトの配置方法はleft bottom (アイコンはスクリーンの左から右へ配置され、 スクリーンの底部が最初の行になっています。 また、新しい行はスクリーンの下から上へ付け加えられていきます) です。
iconPlacementMargin (クラス IconPlacementMargin )
スクリーンの端とスクリーンの端に沿って配置されるアイコン間の距離を設定します。 この値は 0 以上でなければなりません。 デフォルト値 (後述) は指定の値が無効な場合に使用されます。 アイコンがスクリーン上に配置された時、 リソースのデフォルト値はアイコン間のスペースに等しい値となります (各行とカラムにあるアイコンの数を最大にするよう、 このスペースは決定されます)。
interactivePlacement (クラス InteractivePlacement )
スクリーン上の新しいウィンドウの初期配置を制御します。 True の場合、 ウィンドウの左上隅の位置を決定しなければならないことをユーザに示すため、 新しいウィンドウがスクリーンに配置される前に、 マウスポインタの形は変わります。 False の場合、 ウィンドウは初期のウィンドウ設定属性に合わせて配置されます。 リソースのデフォルト値は False です。
keyBindings (クラス KeyBindings )
ウィンドウマネージメント機能に対するキーバインディングの集合を指定します。 キーバインディングが指定されると、 キーバインディングは内蔵のデフォルトのバインディングと置き換えられます。 名前のつけられたキーバインディングの集合は、 mwm リソース記述ファイル記述されます。 リソースのデフォルト値は "DefaultKeyBindings" です。
keyboardFocusPolicy (クラス KeyboardFocusPolicy )
リソースを pointer に設定すると、 キーボードフォーカスポリシーはキーボードフォーカスが マウスポインタを含むクライアントウィンドウに設定されるようになります (マウスポインタが mwm が追加するクライアントウィンドウの 装飾に置かれていても構いません)。 このリソースを explicit に設定すると、 キーボードフォーカスポリシーは、 クライアントウィンドウ上、 または関連した mwm の装飾部分にマウスポインタがあって、 ユーザがボタン 1 を押した時、 キーボードフォーカスがクライアントウィンドウに設定されるようになります。 このリソースに対するデフォルト値はexplicit です。
limitResize (クラス LimitResize )
このリソースが True の場合、 ユーザはウィンドウのサイズを最大のサイズより大きくできません。 このリソースに対するデフォルト値は True です。
lowerOnIconify (クラス LowerOnIconify )
このリソースがデフォルト値の True の場合、 ウィンドウが最小化 (アイコン化) された時、 ウィンドウのアイコンはウィンドウスタックの最下位に配置されます。 値が False の場合は、 アイコンの元のウィンドウと同じスタック順序の位置にアイコンが配置されます。 リソースのデフォルト値は True です。
maximumMaximumSize (クラス MaximumMaximumSize )
ユーザまたはクライアントによって設定される クライアントウィンドウの最大サイズを制限するため、 このリソースは使用されます。 このリソースの値は 幅 x 高さ (例えば、1024x1024) (幅と高さはピクセル値) です。 リソースのデフォルト値はスクリーンの幅と高さの 2 倍です。
moveThreshold (クラス MoveThreshold )
ウィンドウとアイコンを移動するドラッグ操作の感度を制御するために使用されます。 リソースの値は移動操作が開始されるまでに、 ボタンを押した状態でロケータが移動するピクセス数です。 リソースはクリックあるいはダブルクリックが行われた時、 また意図せずにボタンを押したままマウスポインタを移動した時に、 ウィンドウ/アイコンが移動するのを防ぐために使用されます。 リソースに対するデフォルト値は 4 (ピクセル) です。
multiScreen (クラス MultiScreen )
このリソースが True の場合、 mwm は、接続されている全てのスクリーンの管理をします。 False の場合は、一つのスクリーンしか管理しません。 デフォルト値は False です。
passButtons (クラス PassButtons )
ボタンが押されたというイベントが クライアントのコンテクスト中で、 ウィンドウマネージャの機能のために使用された後、 クライアントに渡されるか渡されないかを示します。 このリソースの値が False の場合、 ボタンが押されたというイベントはクライアントに渡されません。 この値が True の場合、 ボタンが押されたというイベントはクライアントウィンドウに渡されます。 ウィンドウマネージャの機能はいずれの場合にも行われます。 このリソースに対するデフォルト値は False です。
passSelectButton (クラス PassSelectButton )
セレクトボタンが押されたというイベントが、 クライアントのコンテクスト中で、 ウィンドウマネージャの機能のために使用された後、 クライアントに渡されるか渡されないかを示します。 このリソースの値が False の場合、 ボタンが押されたことを示すイベントはクライアントに渡されません。 この値が True の場合、 ボタンが押されたことを示すイベントは、 クライアントウィンドウに渡されます。 ウィンドイウマネージャの機能はいずれの場合にも行われます。 このリソースに対するデフォルト値は True です。
positionIsFrame (クラス PositionIsFrame )
このリソースは (WM_NORMAL_HINTS プロパティおよび設定要求からの) クライアントウィンドウの位置の情報がどのように解釈されるかを示します。 リソースの値が True であれば、 その情報は MWM クライアントウィンドウのフレームの位置として解釈されます。 値が False の場合、 その情報はウィンドウのクライアント領域の位置として解釈されます。 このリソースのデフォルト値は True です。
positionOnScreen (クラス PositionOnScreen )
最初にウィンドウが (可能であれば) スクリーンの端でクリップされないように、 配置されることを示します (リソースの値が True の場合)。 ウィンドウがスクリーンサイズより大きい場合、 少なくともウィンドウの左上の隅をスクリーン上に表示するようにします。 リソースの値が False の場合、 ウィンドウは全体がスクリーンの外に出ていても、 要求された位置に配置されます。 このリソースのデフォルト値は True です。
quitTimeout (クラス QuitTimeout )
mwm が WM_SAVE_YOURSELF メッセージを送った後、 クライアントが WM_COMMAND プロパティを更新するのを mwm が待つ時間 (ミリ秒単位) を指定します。 クライアントウィンドウの WM_PROTOCOLS プロパティ中にアトム WM_SAVE_YOURSELF を持っており、 アトム WM_DELETE_WINDOW を持っていないクライアントに対してのみ、 このプロトコルは使用されます。 このリソースのデフォルト値は1000 (ms) です。 (より詳しい情報は、f.kill 関数を参照してください。)
resizeKeyFocus (クラス RaiseKeyFocus )
キーボード入力フォーカスポリシーが explicit の時に有効となります。 値が True の場合、 f.normalize_and_raise 関数によってレイズされたウィンドウも入力フォーカス を受信することを示します。 このリソースのデフォルト値は False です。
resizeBorderWidth (クラス ResizeBorderWidth )
リサイズハンドルを含む、 クライアントウィンドウのフレームのボーダの 幅 (ピクセル単位) を指定します。 指定されたボーダの幅は 3 次元の影を含みます。 デフォルト値は 10 (ピクセル) です。
resizeCursors (クラス ResizeCursors )
マウスポインタがウィンドウのボーダにある時に、 常にリサイズカーソルが表示されるかどうかを示すために使用されます。 True であればカーソルは表示され、 そうでない場合はウィンドウマネージャのカーソルが表示されます。 デフォルト値は True です。
screens (クラス Screens )
mwm が制御するスクリーンで使われるリソース名を指定します。 mwm が一つのスクリーンを制御している場合、 リスト内の先頭の名称が使われます。 mwm が複数のスクリーンを制御している場合、 スクリーン 0 から順番に指定した名称が割り当てられます。 スクリーン 0 は先頭の名称を与えられ、 スクリーン 1 は 2 番目というように。 デフォルトの値は 0 、1 、というように続きます。
showFeedback (クラス ShowFeedback )
フィードバック情報を表示する時の制御を行います。 移動またはリサイズ動作中のウィンドウの位置、 サイズのフィードバック、 およびクライアントの初期位置に関する決定の両方を制御します。 ウィンドウマネージャのメッセージとダイアログボックスの制御も行います。 リソースの値は使用可能または不可能なフィードバックオプションの名称のリストです。 名称は空白で区切られなければなりません。 オプション名の前に "−" のサインを指定した場合、 そのオプションはリストから除外されます。 リストの最初の項目のサインがオプションの初期設定を決めます。 最初のオプションの設定が "−" の場合、 mwm は全てのオプションが存在するものとみなし、 その設定から指定したオプションを削除していきます。 最初の装飾のサインがプラス (つまり何も指定しない) の場合、 mwm はオプション無しでスタートし、 リソースからリストを構成します。
フィードバックオプションの名称を以下に示します。
| 名称 | 解説 |
| all | すべてのフィードバックを表示します (デフォルト値) |
| behavior | 動作スイッチを確認します |
| kill | KILL信号受信時に確認します |
| move | 移動中、位置を表示します |
| none | フィードバックを表示しません |
| placement | 初期位置の決定中、位置とサイズを表示します |
| quit | mwm 終了を確認します |
| resize | リサイズ中、サイズを表示します |
| restart | mwm の再起動を確認します |
showFeedback に対するコマンドラインの構文を以下に示します。
| Mwm∗showFeedback:placement resize behavior restart |
このリソースの設定では、 クライアントの初期位置の決定およびリサイズに対してフィードバックを行い、 再起動の確認と動作機能の設定のためにダイアログボックスを使用できるようにします。 移動機能に対してはフィードバックしません。 デフォルト値は all です。
startupKeyFocus (クラス StartupKeyFocus )
キーボード入力フォーカスポリシーが明示的 (explicit) である場合にのみ、 使用可能です。 デフォルト値の True が与えられた場合、 ウィンドウはウィンドウがマップされた時 (すなわち、ウィンドウマネージャによって最初に処理された時)、 キーボード入力フォーカスを得ます。
transientDecoration (クラス TransientDecoration )
Mwm がトランジェントウィンドウ上に配置する装飾の種類を制御します。 装飾の指定は clientDecoration リソース (クライアント特有) と まったく同じです。 比較的一時的なウィンドウであることを示すために クライアントによって追加される WM_TRANSIENT_FOR プロパティによって トランジェントウィンドウは見分けることができます。 このリソースに対するデフォルト値は menu title です。 (すなわち、トランジェントウィンドウにはリサイズボーダとウィンドウメニューボタン を持つタイトルバーがつきます)。
transientFunctions (クラス TransientFunctions )
ウィンドウマネージャの機能の内、 トランジェントウィンドウに適用可能 (あるいは適用不可能) なものを示すために使用されます。 機能の設定は clientFunctions (クライアント特有) とまったく同じです。 このリソースに対するデフォルト値は −minimize −maximize です。
useIconBox (クラス UseIconBox )
このリソースの値が True であれば、 アイコンはアイコンボックス中に配置されます。 アイコンボックスが使用されていない場合、 アイコンはルートウィンドウに配置されます (デフォルト値)。
wMenuButtonClick (クラス WMenuButtonClick )
マウスポインタがウィンドウメニューボタン上にある場合、 マウスのクリックによってウィンドウメニューを表示し、 表示したままの状態にするかどうかを示します。 このリソースの値が True であれば、 メニューは表示されたままになります。 True はこのリソースに対するデフォルト値です。
wMenuButtonClick2 (クラス WMenuButtonClick2 )
このリソースの値がデフォルト値の True であれば、 ウィンドウメニューボタン上のダブルクリック動作によって f.kill 関数が実行されます。
クライアント特有のリソース
クライアント特有のリソースを設定するための構文は、
Mwm∗client_name_or_class∗resource_id
です。 例えば、Mwm∗mterm∗windowMenu は mterm クライアントで使用されるウィンドウメニューを指定します。 クライアントのすべてのクラスに対する、 クライアント特有のリソースを設定する構文は、
Mwm∗resource_id
です。 特定のクライアントに対する設定はすべてのクライアントに対する設定に優先します。 例えば、 Mwm∗windowMenu と Mwm∗xterm∗windowMenu の両方が 指定されている場合、Mwm∗xindowMenu は、xterm 以外の全てのクライアントに対する windowMenu を指定します。
名称とクラスが不明の (すなわち、関連する WM_CLASS プロパティをウィンドウが 持っていない) ウィンドウに対するリソースの値を設定するための構文は、
Mwm∗defaults∗resource_id
です。 例えば、 アイコンイメージを名称とクラスが未知のウィンドウに対して使用されるように Mwm∗defaults∗iconImage は設定します。
クライアント特有のリソースとして、 以下の内容を設定できます。
| クライアント特有のリソース | |||
| 名称 | クラス | 値のタイプ | デフォルト |
| clientDecoration | ClientDecoration | string | all |
| clientFunctions | ClientFunctions | string | all |
| focusAutoRaise | FocusAutoRaise | T/F | T |
| iconImage | IconImage | pathname | (image) |
| iconImageBackground | Background | color | icon background |
| iconImageBottomShadowColor | Foreground | color | icon bottom shadow |
| iconImageBottomShadowPixmap | Pixmap BottomShadowPixmap | color | pixmap icon bottom shadow pixmap |
| iconImageForeground | Foreground | color | varies |
| iconImageTopShadowColor | Background | color | icon top shadow color |
| iconImageTopShadowPixmap | TopShadowPixmap | color | pixmap icon top shadow pixmap |
| matteBackground | Background | color | background |
| Color matteBottomShadowColor | Foreground | color | bottom shadow color |
| matteBottomShadowPixmap | BottomShadow-Pixmap | color | bottom shadow pixmap |
| matteForeground | Foreground | color | foreground |
| matteTopShadowColor | Background | color | top shadow color |
| matteTopShadowPixmap | TopShadow-Pixmap | color | top shadow pixmap |
| matteWidth | MatteWidth | pixels | 0 |
| maximumClientSize | MaximumClientSize | wxh | fill the screen |
| useClientIcon | UseClientIcon | T/F | F |
| windowMenu | WindowMenu | string | "DefaultWindowMenu" |
clientDecoration (クラス ClientDecoration )
ウィンドウフレームの装飾の種類を制御します。 フレーム中の装飾内容を指定する装飾のリストとして設定されます。 装飾の前にマイナス符号がついていると、 その装飾はフレームから削除されます。 リスト中の最初の項目の符号は最初の装飾の量を決定します。 最初の装飾の符号がマイナスであれば、 mwm はすべての装飾が存在すると仮定し、 そこから装飾を削除し始めます。 最初の装飾の符号がプラス (あるいは指定されていない) であれば、 mwm は何もない状態からリソースによってリストを作ります。
| 名称 | 解説 |
| all | すべての装飾を含みます (デフォルト値) |
| border | ウィンドウのボーダ |
| maximize | 最大化ボタン (タイトルバーを含む) |
| minimize | 最小化ボタン (タイトルバーを含む) |
| none | 装飾を行いません |
| resizeh | ボーダのリサイズハンドル (ボーダを含む) |
| menu | ウィンドウメニューボタン ( タイトルバーを含む) |
| title | タイトルバー (ボーダを含む) |
例 :
Mwm∗XClock.clientDecoration: −resizeh −maximize
XClock ウィンドウからリサイズハンドルと最大化ボタンを削除します。
Mwm∗XClock.clientDecoration: menu minimize border
上記と同じことを行います。 menu または minimize はどちらも、 タイトルを含むことに注意してください。
clientFunctions (クラス ClientFunctions )
どの mwm の機能がクライアントウィンドウに適用可能か (あるいは適用不可能か) を示すために使用されます。 このリソースに対する値は機能のリストです。 リスト中の最初の機能の前にマイナス符号がついていれば、 mwm は全部の機能で始め、 その設定から抽出します。 リスト中の最初の機能にプラス符号がついていれば、 mwm は何もない状態からスタートしてからリストを作ります。 リスト中の各々の機能の前には、 適切なプラス符号あるいはマイナス符号がついていなければなりません。 また、次の機能とは空白で区切られていなければなりません。
以下の表は、このリソースに対して使用可能な機能を示しています。
| 名称 | 解説 |
| all | すべての機能を含みます (デフォルト値) |
| none | 機能がありません |
| resize | f.resize |
| move | f.move |
| minimize | f.minimize |
| maximize | f.maximize |
| close | f.kill |
focusAutoRaise (クラス FocusAutoRaise )
このリソースの値が True の場合、 クライアントがキーボードフォーカスを得た場合、 必ずウィンドウスタックの最上位にレイズされます。 この値が False の場合、 ウィンドウがキーボードフォーカスを得ても、 ディスプレイ上のウィンドウのスタッキングは変化しません。 このリソースのデフォルト値は、 keyboardFocusPolicy が explicit の時 True で、 pointer の時は False です。
iconImage (クラス IconImage )
クライアントに対するアイコンイメージを指定するために使用されます (例えば、"Mwm∗myclock∗iconImage")。 このリソースの値はビットマップファイルのパス名です。 (クライアント特有の) useClientIcon リソースの値は、 ユーザの与えたアイコンイメージがクライアントの与えたアイコンイメージの代わりに使われるかどうかを決定します。 デフォルト値では、 ウィンドウマネージャの内蔵のアイコンイメージを表示します。
iconImageBackground (クラス Background )
アイコンのイメージ部分に表示される、 アイコンイメージのバックグラウンドの色を指定します。 このリソースのデフォルト値は、アイコンのバックグラウンドの色です (すなわち、"Mwm∗background または Mwm∗icon∗background によって指定されます)。
iconImageBottomShadowColor (クラス Foreground )
アイコンのイメージ部分に表示されるアイコンイメージの下側の影の色を指定します。 このリソースのデフォルト値はアイコンの下側の影の色です (すなわち、Mwm∗icon∗bottomShadowColor によって指定されます)。
iconImageBottomShadowPixmap (クラス BottomShadowPixmap )
アイコンのイメージ部分に表示されるアイコンイメージの下側の影のピックスマップを指定します。 このリソースのデフォルト値はアイコンの下側の影のピックスマップです (すなわち、Mwm∗icon∗bottomShadowPixmap によって指定されます)。
iconImageForeground (クラス Foreground )
アイコンのイメージ部分に表示されるアイコンイメージのフォアグラウンドの色を指定します。 このリソースのデフォルト値はアイコンのバックグラウンドの色に左右されます。
iconImageTopShadowColor (クラス Background )
アイコンのイメージ部分に表示されるアイコンイメージの上側の影の色を指定します。 このリソースのデフォルト値はアイコンの上側の影の色です (すなわち、Mwm∗icon∗topShadowColor によって指定されます)。
iconImageTopShadowPixmap (クラス TopShadowPixmap )
アイコンのイメージ部分に表示されるアイコンイメージの上側の影のピックスマップを指定します。 このリソースのデフォルト値はアイコンの上側の影のピックスマップです (すなわち、Mwm∗icon∗topShadowPixmap によって指定されます)。
matteBackground (クラス Background )
matteWidth が正の場合、 マッテのバックグラウンドの色を指定します。 このリソースのデフォルト値はクライアントのバックグラウンドの色です (すなわち、"Mwm∗background あるいは Mwm∗client∗background によって指定されます)。
matteBottomShadowColor (クラス Foreground )
matteWidth が正の場合、 マッテの下側の影の色を指定します。 このリソースのデフォルト値はクライアントの下側の影の色です (すなわち、"Mwm∗bottomShadowColor あるいは Mwm∗client∗bottomShadowColor によって指定されます)。
matteBottomShadowPixmap (クラス BottomShadowPixmap )
matteWidth が正の場合、 マッテの下側の影のピックスマップを指定します。 このリソースのデフォルト値はクライアントの下側の影のピックスマップです (すなわち、"Mwm∗bottomShadowPixmap あるいは Mwm∗client∗bottomShadowPixmap によって指定されます)。
matteForeground (クラス Foreground )
matteWidth が正の場合、 マッテのフォアグラウンドの色を指定します。 このリソースのデフォルト値はクライアントのフォアグラウンドの色です (すなわち、"Mwm∗foreground あるいは Mwm∗client∗foreground によって指定されます)。
matteTopShadowColor (クラス Background )
matteWidth が正の場合、 マッテの上側の影の色を指定します。 このリソースのデフォルト値はクライアントの上側の影の色です (すなわち、"Mwm∗topShadowColor あるいは Mwm∗client∗topShadowColor によって指定されます)。
matteTopShadowPixmap (クラス TopShadowPixmap )
matteWidth が正の場合、 マッテの上側の影のピックスマップを指定します。 このリソースのデフォルト値はクライアントの上側の影のピックスマップです (すなわち、"Mwm∗topShadowPixmap あるいは Mwm∗client∗topShadowPixmap によって指定されます)。
matteWidth (クラス MatteWidth )
オプションのマッテの幅を指定します。 デフォルト値は 0 で、 実際にはマッテを無効にします。
maximumClientSize (クラス MaximumClientSize )
アプリケーションが最大化された場合に使用されるクライアントのサイズの設定です。 リソースの値は幅 x 高さとして設定されます。 クライアントが使用している単位で、 幅と高さが解釈されます (例えば、ターミナルエミュレータに対しては一般に文字単位です)。 このリソースが設定されていない場合、 WM_NORMAL_HINTS プロパティが設定されていればその最大サイズが使用されます。 それ以外の場合のデフォルト値は、 ウィンドウマネージメントのボーダのあるクライアントのウィンドウがスクリーンいっぱいになるサイズです。 クライアントの最大サイズが maximumClientSize リソースによって決まらない場合は、 maximumMaximumSize リソースの値が最大サイズのコンストレイント (制約) として使用されます。
useClientIcon (クラス UseClientIcon )
リソースの値が True の場合、 クライアントが与えたアイコンイメージはユーザが与えたアイコンイメージに優先します。 デフォルト値が False であれば、 ユーザが与えたアイコンイメージはクライアントが与えたアイコンイメージより優先度が高くなります。
windowMenu (クラス WindowMenu )
ウィンドウメニューが (通常、クライアントウィンドウのフレームのウィンドウメニューボタン上でボタン 1 を押すことによって) ポップアップされた時に表示されるメニューペインの名称を示します。 メニューペインは mwm リソース記述ファイル中で指定されます。 ウィンドウメニューは、 形式 Mwm∗client_name_or_class∗windowMenu (「 Mwm リソース記述ファイルの構文」を参照) のリソースを指定することによって、 クライアントのクラスでカスタマイズされます。 デフォルト値は "DefaultWindowMenu" です。
リソース記述ファイル
MWM リソース記述ファイルはデフォルトファイル (.Xdefaults,app-defaults/Mwm) 中のエントリによって参照される付加的なリソースファイルで、 そのファイルの中にリソースが記述されます。 ここには、デフォルトファイル中では簡単に記述できないリソースで、 mwm が使用するリソースが記述されます (リソース記述ファイルに類似した型のファイルとして、 ビットマップファイルがあります)。 特定の mwm リソース記述ファイルは configFile リソースを使用して、 選択できます。
以下に示すタイプのリソースを、 mwm リソース記述ファイル中で記述することができます。
Buttons ウィンドウマネージャの機能をボタンイベントとバインドし (関連づけ) ます。
Keys ウィンドウマネージャの機能をキーを押したことによるイベントとバインドし (関連づけ) ます。
Menus ウィンドウメニュー、 およびキーやボタンのバインディングによって表示される 他のメニューとして使用できるメニューペンを記述します。
mwm リソース記述ファイルの構文
mwm リソース記述ファイル は空白、 タブ、改行文字によって区切られた情報の項目を含む標準的なテキストファイルです。 空白行は無視されます。 項目や文字は引用符で囲まれることで特別な解釈を避けることができます (例えば、コメント文字はコメント文字として解釈されることを防ぐために引用符で囲まれます)。 引用句となる項目はダブルクオート (") 中に含まれるものです。 単独の文字の前にバックスラッシュ (\) をつけることによって、 それは引用句となります。 引用句でない # から、 その行の最後までのすべてのテキストはコメントと見なされ、 リソースの記述の一部としては解釈されません。 ! が行の最初の文字であれば、 その行はコメントとして見なされます。 ウィンドウマネージャの機能はボタンやキーのバインディング、 およびウィンドウマネージャメニューによってアクセスすることができます。 機能はボタンやキーのバインディング、 およびメニューペインの設定の一部として示されます。 機能の設定は以下の構文で行います。
| function = | function_name [function_args] |
| function_name = | window manager function |
| function_args = | {quoted_item | unquoted_item} |
以下の関数がサポートされています。 サポートされていない関数が指定された場合、 mwm は f.nop として解釈します。
f.beep
ベルを鳴らします。
f.circle_down [icon | window]
ウィンドウスタックの最上位にあるウィンドウまたはアイコンを (他のすべてのウィンドウやアイコンを覆わないように) ウィンドウスタックの最下位にします。 この関数は他のウィンドウやアイコンを覆っているか、 または他のウィンドウやアイコンによって覆われているウィンドウやアイコンに対してだけ有効です。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連する一次ウィンドウと共にスタックに積み直されます。 二次ウィンドウは、 常にそのウィンドウと関連する一次ウィンドウの最上位に置かれており、 二次ウィンドウとその一次ウィンドウの間に他の一次ウィンドウは存在できません。 関数の引数として icon が指定されると、 関数はアイコンに対してのみ適用されます。 関数の引数として window が指定されると、 関数はウィンドウに対してのみ適用されます。
f.circle_up [icon | window]
ウィンドウスタックの最下位にあるウィンドウまたはアイコンを (他のすべてのウィンドウやアイコンに覆われないように) ウィンドウスタックの最上位にします。 この関数は他のウィンドウやアイコンを覆っているか、 または他のウィンドウやアイコンによって覆われているウィンドウやアイコンに対してだけ有効です。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連する一次ウィンドウと共にスタックに積み直されます。 関数の引数として icon が指定されると、 関数はアイコンに対してのみ適用されます。 関数の引数として window が指定されると、 関数はウィンドウに対してのみ適用されます。
f.exec あるいは !
この関数は command を実行します (環境変数 $MWMSHELL が設定されていれば設定された値を使用し、 設定されていなければ、 環境変数 $SHELL を調べて設定されていれば設定された値が、 それ以外の場合は /bin/sh が使用されます) 。 ! という表記法が f.exec という関数の代わりに使用できます。
f.focus_color
この関数はカラーマップフォーカスをクライアントウィンドウに設定します。 この関数がルートコンテクスト中で実行された場合、 (mwm が実行されているスクリーンに対して X Window System が設定する) デフォルトのカラーマップがインストールされ、 特定のクライアントウィンドウのカラーマップフォーカスは行われません。 この関数は colormapFocusPolicy が explicit でない場合、 f.nop として処理されます。
f.focus_key
この関数はキーボード入力フォーカスをクライアントウィンドウ、 またはアイコンに設定します。 この関数は keyboardFocusPolicy が explicit でない場合、 または関数がルートコンテクスト中で実行された場合、 f.nop として処理されます。
f.killクライアントを終了するために使用されます。 WM_DELETE_WINDOW プロトコルが設定されている場合、 クライアントへクライアントウィンドウを削除すべきことを示すクライアントメッセージイベントが送られます。 WM_SAVE_YOURSELF プロトコルが設定されており、 また WM_DELETE_WINDOW プロトコルが設定されていない場合、 クライアントへクライアントが終了する準備が必要であることを示すクライアントメッセージイベントが送られます。 クライアントが WM_DELETE_WINDOW または WM_SAVE_YOURSELF プロトコルを持たない場合、 この関数はクライアントの X とのコネクションを終了します (通常、クライアントを終了します)。 quitTimeout リソースと WM_PROTOCOLS プロパティの解説を 参照してください。
f.lower [−client]
この関数はクライアントウィンドウを (他のウィンドウを覆わない) ウィンドウスタックの最下位に移動します 。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連する一次ウィンドウと共にスタックに置かれます。 引数 client は最下位に移動するクライアントの名称、 またはクラスを示します。 引数 client が指定されていなければ、 関数が呼び出されたコンテクストが最下位に移動するウィンドウ またはアイコンを指します。
f.maximize
この関数はクライアントウィンドウを最大サイズで表示します。
f.menu
この関数はカスケード (プルライト) メニューとメニューペインエントリを、 またはメニューとボタンおよびキーのバインディングとを関連づけます。 関数の引数 menu_name は使用されるメニューを示します。
f.minimize
この関数はクライアントウィンドウを最小化 (アイコン化) します。 アイコンボックスが使用されていない場合にウィンドウが最小化されると、 そのアイコンは (他のウィンドウを覆わないように) ウィンドウスタックの最下位に配置されます。 アイコンボックスが使用されている場合、 クライアントのアイコンは アイコンボックス内でアイコン表示される形式に変わります。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連する一次ウィンドウと共に最小化されます。 一次ウィンドウとその二次ウィンドウすべてに対して、 アイコンは 1 つだけ存在します。
f.move
クライアントウィンドウのインタラクティブな移動を可能にします。
f.next_cmap
カラーマップフォーカスを持つウィンドウのカラーマップリスト中の 次のカラーマップをインストールします。
f.next_key [icon | window | transient]
ウィンドウマネージャが管理しているウィンドウ/アイコンの集合の、 次のウィンドウ/アイコンにキーボード入力フォーカスを設定します (この集合、順序はスクリーン上のウィンドウの重なり状態に基づいています)。 keyboardFocusPolicy が explicit でない場合、 f.nop として処理されます。 キーボード入力フォーカスは、 アプリケーションモーダルな 二次ウィンドウを持たないウィンドウにのみ移動します。 引数 transient が指定されていれば、 トランジェント (二次的な) ウィンドウはトラバースされます (そうでない場合、window のみが指定されていれば、 トランジェントグループ中で最後にフォーカスを持っていたウィンドウのみがトラバースされます)。 関数の引数 icon が指定されていれば、 関数はアイコンにのみ適用されます。 関数の引数 window が指定されていれば、 関数はウィンドウにのみ適用されます。
f.nop何も行いません。
f.normalize
クライアントウィンドウを通常のサイズで表示します。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連した一次ウィンドウと共にノーマル (ウィンドウ) 状態で配置されます。
f.normalize_and_raise
クライアントウィンドウを通常のサイズで表示し、 ウィンドウスタックの最上位に配置します。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連した一次ウィンドウと共にノーマル (ウィンドウ) 状態で配置されます。
f.pack_icons
ルートウィンドウ上またはアイコンボックス中で、 (使用されているレイアウトの方法に基づいて) アイコンを再レイアウトするために使用されます。 一般には、 アイコンをアイコングリッド中に「パック (詰めて再配置) 」します。
f.pass_keys
ウィンドウマネージャの機能に対するキーバインディングの処理を行う/行わない (切り替えを行う) ために使用されます。 キーバインディングの処理を行わない場合、 すべてのキー入力はキーボード入力フォーカスを持っているウィンドウに渡され、 ウィンドウマネージャの関数は呼び出されません。 キーバインディングにより f.pass_key 関数が呼び出され、 キーのバインディングの処理を行わないような場合、 同じキーバインディングによってキーバインディング処理を行うようにすることができます。
f.post_wmenu
ウィンドウメニューを表示するために使用されます。 キー入力によってウィンドウメニューが表示され、 ウィンドウメニューボタンが存在する場合には、 ウィンドウメニューはクライアントウィンドウのウィンドウメニューボタンの左下の隅と、 ウィンドウメニューの左上の隅が一致するように自動的に配置されます。 ウィンドウメニューボタンが存在しない場合、 ウィンドウメニューはクライアントウィンドウの左上の隅に配置されます。
f.prev_cmap
カラーマップフォーカスを持っているウィンドウの、 カラーマップリストの中の前のカラーマップをインストールします。
f.prev_key [icon | window | transient]
ウィンドウマネージャが管理しているウィンドウ/アイコンの集合の中の 前のウィンドウ/アイコンにキーボード入力フォーカスを設定します (この集合の順序は、 スクリーン上のウィンドウの重なり状態に基づいています)。 keyboardFocusPolicy が explicit でない場合、 f.nop として処理されます。 キーボード入力フォーカスは、 アプリケーションモーダルな 二次ウィンドウを持たないウィンドウにのみ移動します。 引数 transient が指定されていれば、 トランジェント (二次的な) ウィンドウはトラバースされます (そうでない場合、window のみが指定されていれば、 トランジェントなグループ中で最後にフォーカスを持っていたウィンドウのみがトラバースされます)。 関数の引数 icon が指定されていれば、 関数はアイコンにのみ適用されます。 関数の引数 window が指定されていれば、 関数はウィンドウにのみ適用されます。
f.quit_mwm
この関数は mwm を終了します (X ウィンドウシステムは終了しません)。
f.raise [−client]
クライアントウィンドウを (他のウィンドウによって覆われない) ウィンドウスタックの最上位に移動します 。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連する一次ウィンドウと共にスタックに積み直されます。。 引数 client は最上位に移動するクライアントの名称、 またはクラスを示します。 引数 client が指定されていなければ、 その関数が呼び出されたコンテクストは 最上位に移動するウィンドウまたはアイコンを指します。
f.raise_lower
クライアントウィンドウが他のウィンドウによって部分的に覆われている場合、 そのウィンドウをウィンドウスタックの最上位に移動します。 そうでない場合、 ウィンドウをウィンドウスタックの最下位に移動します。 二次ウィンドウ (すなわち、トランジェントウィンドウ) は、 そのウィンドウと関連した一次ウィンドウと共にスタックに積み直されます。
f.refresh
すべてのウィンドウを再描画します。
f.refresh_win
クライアントウィンドウを再描画します。
f.resize
クライアントウィンドウのサイズをインタラクティブに変更できるようにします。
f.restart
mwm を再起動 (実際には、終了し再実行) します。
f.send_msg message_number
関数の引数 message_number によって示される _MOTIF_WM_MESSAGES タイプのクライアントメッセージを message_type と共に送出します。 クライアントメッセージは、 message_number が クライアントの_MOTIF_WM_MESSAGES プロパティに含まれている場合にのみ、 送出されます。 f.send_msg で送ろうとするメッセージが クライアントの _MOTIF_WM_MESSAGES プロパティに含まれていない場合は、 メニュー項目のラベルは灰色で表示されます。
f.separator
メニューのセパレータをメニューペインの指定した位置に入れます (ラベルは無視されます)。
f.set_behavior
ウィンドウマネージャをデフォルトの動作 (カスタムの動作が設定されている場合)、 あるいはカスタムの動作 (デフォルトの動作が設定されている場合) に設定して、 再起動します。 デフォルトではこの関数は ShiftCtrlMeta<key>! にバインドされています。
f.titleメニューペインの指定した位置にタイトルを挿入します。
各関数は、 どのリソースタイプが関数を指定できるか (例えば、メニューペイン)、 関数がどのようなコンテクスト中で使用できるかということによって、 コンストレイン (制約) されます。 関数のコンテクストは次の通りです。
root どのクライアントウィンドウまたはアイコンも関数の対象として選択されません。
window クライアントウィンドウが関数の対象として選択されます。 これにはウィンドウのタイトルバーとフレームが含まれます。 関数のいくつかは、 ウィンドウがノーマル (ウィンドウ) の状態 (例えば、f.maximize)、 または最大サイズの状態 (例えば、f.normalize) にある場合にのみ、 適用されます。
icon アイコンが関数の対象として選択されます。
関数が icon|window として指定され、 その関数がアイコンボックスで呼び出された場合、 関数はアイコンボックスに適用され、 アイコン内部には適用されません。
サポートされていないリソースタイプで関数が指定された場合、 または適用しないコンテクスト中で呼び出された場合、 その関数は f.nop として処理されます。 以下の表はウィンドウマネージャの関数が適用されるリソースタイプと関数のコンテクストを示しています。
| 関数 | コンテクスト | リソース |
| f.beep | root,icon,window | button,key,menu |
| f.circle_down | root,icon,window | button,key,menu |
| f.circle_up | root,icon,window | button,key,menu |
| f.exec | root,icon,window | button,key,menu |
| f.focus_color | root,icon,window | button,key,menu |
| f.focus_key | root,icon,window | button,key,menu |
| f.kill | icon,window | button,key,menu |
| f.lower | root,icon,window | button,key,menu |
| f.maximize | icon,window(normal) | button,key,menu |
| f.menu | root,icon,window | button,key,menu |
| f.minimize | window | button,key,menu |
| f.move | icon,window | button,key,menu |
| f.next_cmap | root,icon,window | button,key,menu |
| f.next_key | root,icon,window | button,key,menu |
| f.nop | root,icon,window | button,key,menu |
| f.normalize | icon,window(maximized) | button,key,menu |
| f.pack_icons | root,icon,window | button,key,menu |
| f.pass_keys | root,icon,window | button,key,menu |
| f.post_wmenu | root,icon,window | button,key |
| f.prev_cmap | root,icon,window | button,key,menu |
| f.prev_key | root,icon,window | button,key,menu |
| f.quit_mwm | root | button,key,menu(root only) |
| f.raise | root,icon,window | button,key,menu |
| f.raise_lower | icon,window | button,key,menu |
| f.refresh | root,icon,window | button,key,menu |
| f.refresh_win | window | button,key,menu |
| f.resize | window | button,key,menu |
| f.restart | root | button,key,menu(root only) |
| f.send_msg | icon,window | button,key,menu |
| f.separator | root,icon,window | menu |
| f.set_behavior | root,icon,window | button,key,menu |
| f.title | root,icon,window | menu |
ウィンドウマネージャのイベントの指定
イベントはボタンまたははキーのバインディング、 およびメニューペインの指定の一部として示されます。
ボタンイベントは以下の構文を持っています。
| button = | [modifier_list]<button_event_name> |
| modifier_list = | modifier_name {modifier_name} |
指定されるすべての修飾子は排他的であると解釈されます (これは、ボタンイベントが生じた時、 指定された修飾子のみが存在できるということを意味します)。 以下の表に、modifier_name として使用できる値を示します。 [ Alt ] キーは、 しばしば [ Extend ] または [ Meta ] というラベルで表されます。 Alt および Meta はイベントの指定において、 どちらでも同じ意味で使用することができます。
| 修飾子 | 解説 |
| Shift | Shift Key |
| Alt | Alt/Meta Key |
| Meta | Meta/Alt Key |
| Lock | Lock Key |
| Mod1 | Modifier1 |
| Mod2 | Modifier2 |
| Mod3 | Modifier3 |
| Mod4 | Modifier4 |
| Mod5 | Modifier5 |
以下の表に、button_event_name として使用できる値を示します。
| ボタン | 解説 |
| Btn1Up | Button 1 Release |
| Btn1Click | Button 1 Press and Release |
| Btn1Click2 | Button 1 Double Click |
| Btn2Down | Button 2 Press |
| Btn2Up | Button 2 Release |
| Btn2Click | Button 2 Press and Release |
| Btn2Click2 | Button 2 Double Click |
| Btn3Down | Button 3 Press |
| Btn3Up | Button 3 Release |
| Btn3Click | Button 3 Press and Release |
| Btn3Click2 | Button 3 Double Click |
| Btn4Down | Button 4 Press |
| Btn4Up | Button 4 Release |
| Btn4Click | Button 4 Press and Release |
| Btn4Click2 | Button 4 Double Click |
| Btn5Down | Button 5 Press |
| Btn5Up | Button 5 Release |
| Btn5Click | Button 5 Press and Release |
| Btn5Click2 | Button 5 Double Click |
メニューのニーモニックおよびウィンドウマネージャの機能の バインディングとして、 ウィンドウマネージャで使用されるキーイベントは 1 つのキーを押した時に発生します。 キーを離した時、無視されます。 キーイベントは、以下の構文を持っています。
| key = | [modifier_list]<Key>key_name |
| modifier_list = | modifier_name {modifier_name} |
指定されるすべての修飾子は排他的であると解釈されます (これは、キーイベントが生じた時、 設定された修飾子のみが存在できるということを意味します)。 キーに対する修飾子はボタンに適用されるものと同じです。 key_name は、X11 の keysym の名称です。 keysym の名称は keysymdef.h というファイル中にあります (プリフィックス XK_ を除いたもの)。
ボタンのバインディング
buttonBindings リソースの値は、 ウィンドウマネージャの動作を設定するために使用されるボタンバインディングの集合の名称です。 ウィンドウマネージャの機能はフレームがつけられたクライアントウィンドウ、 アイコンまたはルートウィンドウ上にマウスポインタがある状態でボタンが押された時、 実行されます。 ボタンが押された場所を示すためのコンテクストは、 ボタンが押された時にウィンドウマネージャの機能を呼び出すための コンテクストにもなります (コンテクスト依存性のある機能に対しては重要です)。
ボタンのバインディングの構文は、次のとおりです。
Buttons bindings_set_name
{
button context function
button context function
.
.
button context function
}
コンテクストの指定の構文は、次のとおりです。
| context = | object[|context] |
| object = | root | icon | window | title | frame | border | app |
コンテクストの指定は、 ボタンのバインディングが有効となるマウスポインタの位置を示します。 例えば、 window のコンテクストは、 ボタンのバインディングが有効となるにはマウスポインタがクライアントウィンドウ、 またはウィンドウマネージメントフレーム上に存在しなければならないことを示します。 frame コンテクストはクライアントウィンドウの周囲のウィンドウマネージメントフレーム (ボーダおよびタイトルバーを含む) に対しての、 border コンテクストはウィンドウマネージメントフレームのボーダ部分 (タイトルバーは含まない) に対しての、 title コンテクストはウィンドウマネージメントフレームのタイトル領域に対しての、 app コンテクストはアプリケーションウィンドウ (ウィンドウマネージメントフレームは含まない) に対しての設定です。
f.nop 関数がボタンのバインディングとして設定されている場合、 ボタンのバインディングは行われません。
キーのバインディング
keyBindings リソースの値は、 ウィンドウマネージャの動作を指定するために使用されるキーのバインディングの集合の名称です。 ウィンドウマネージャの機能は特定のキーが押されたときに実行されます。 キーのバインディングが適用されるコンテクストは、 キーバインディングの設定の中で示されます。 有効なコンテクストはボタンのバインディングに適用されるものと同じです。
キーのバインディングの構文は、以下のとおりです。
Keys bindings_set_name
{
key context function
key context function
.
.
key context function
}
f.nop 関数がキーのバインディングとして設定されている場合、 キーのバインディングは行われません。 f.post_wmenu または f.menu 関数がキーにバインドされている場合、 mwm はメニューがポップアップされた後、 それをスクリーンから消去するために自動的に同じキーを使用します。
コンテクストを指定するための構文はボタンのバインディングのものと同じです。 キーのバインディングでは frame、 title、 border、 および app コンテクストはwindow コンテクストと等価です。 キーイベントに対するコンテクストは、 キーボード入力フォーカスを持っているウィンドウまたはアイコンです (どのウィンドウおよびアイコンもキーボード入力フォーカスを持っていなければ、 root です)。
メニューペイン
メニューはウィンドウマネージャの関数 f.post_wmenu および f.menu を使用して、 ポップアップできます。 メニューから実行されるウィンドウマネージャの機能に対するコンテクストは、 メニューがどのようにポップアップされるかによって root、icon または window のどれかになります。 ウィンドウメニューまたはキーのバインディングによってポップアップされたメニューの場合、 キーボード入力フォーカスの場所がコンテクストを示します。 ボタンバインディングによってポップアップされたメニューでは、 ボタンバインディングのコンテクストがメニューのコンテクストになります。 メニューペインの設定の構文は、以下のとおりです。
Menu menu_name
{
label [mnemonic] [accelerator] function
label [mnemonic] [accelerator] function
.
.
label [mnemonic] [accelerator] function
}
メニューの設定の各行は、 メニュー項目のラベルとそのメニュー項目が選択された場合に実行される機能を設定します。 メニューボタンのニーモニックとメニューボタンのキーボードアクセラレータを、 オプションで設定できます。 ニーモニックはメニューが表示され、 キーボードトラバースが適用される場合にのみ機能します。
ラベルは文字列またはビットマップファイルです。 ラベル設定の構文は以下のとおりです。
| label = | text | bitmap_file |
| bitmap_file = | @file_name |
| text = | quoted_item | unquoted_item |
ラベルの文字列のコードセットは、 使用されるメニューフォントと互換性がなければなりません。 ラベルは f.nop 関数、 または無効な関数および現在のコンテクストに適用できない関数を実行するメニュー項目では灰色で表示されます。
ニーモニックの設定の構文は以下のとおりです。
| mnemonic = | _character |
ラベル中で最初に character に一致する文字にアンダーラインが引かれます。 ラベル中で一致する文字がない場合、 ウィンドウマネージャはそのラベルに対してはニーモニックを登録しません。 character はラベル中の文字と同一でなければなりませんが、 ニーモニックは (Shift のような) 修飾子が文字キーと共に押された場合は実行されません。
アクセラレータの設定は、 ウィンドウマネージャの機能のキーへのバインディングに使用されたのと同じ構文による、 キーイベント設定です。
環境
mwm はユーザのホームデイレクトリを指定している環境変数 $HOME を使用します。
mwm はmwm メッセージカタログ、 mwm リソース記述ファイルに関するユーザの選択言語を指定する 場合、 環境変数 LANG を使用します。
mwm はリソースデフォルトファイルに関する検索パスを決定する場合、 環境変数 XFILESEARCHPATH、 XUSERFILESEARCHPATH、 XAPPLRESDIR、 XENVIRONMENT、 LANG、HOME、 LANG を使用します。
mwm は、バーチャルキーバインディングス プロパティを ルートウィンドウにインストールするために $HOME/.motifbind というファイルを (もし存在すれば)読みだします。 .motifbind ファイルに関しての詳細は、 VirtualBindings(3XM) を参照してください。
mwm は、f.exec 関数を通してコマンドを実行する際に 使用するシェルとして 環境変数 MWMSHELL (設定されていなければ SHELL) を用います。
関連ファイル
/usr/lib/X11/$LANG/system.mwmrc
/usr/lib/X11/system.mwmrc
/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
$HOME/.Xdefaults
$HOME/$LANG/.mwmrc
$HOME/.mwmrc
$HOME/.motifbind
関連事項
VendorShell(3XM)
VirtualBindings(3XM)
X(7)
XmInstallImage(3XM)
NEWS-OSRelease 4.2.1R