X Window Programming/X resources
X resources(Xリソース)は、X Window Systemアプリケーションの外観や動作を柔軟に設定するための仕組みです。アプリケーションごとにフォント、色、ウィジェットのサイズや位置などを指定することができます。リソースは主に設定ファイルに記述され、ユーザーの環境に応じてカスタマイズ可能です。
本章では、Xリソースの基本概念、設定方法、適用方法について解説します。
Xリソースの基本構造
[編集]Xリソースは、以下の形式で記述されます:
<アプリケーション名>*<ウィジェット名>.<リソース名>: <値>
項目の詳細
[編集]- アプリケーション名: リソースが適用されるアプリケーションの名前(クラス名)。
- ウィジェット名: リソースが適用される特定のウィジェットの名前。省略可能。
- リソース名: 設定対象のプロパティ(例: フォント、色)。
- 値: リソースに設定する具体的な値。
例
[編集]以下は、アプリケーション「MyApp」におけるリソースの例です:
MyApp*background: white MyApp*font: -*-fixed-*-*-*-*-14-*-*-*-*-*-*-* MyApp*button.label: Click Me!
- この例では:
-
- アプリケーション全体の背景色を「white」に設定。
- デフォルトフォントを固定幅フォントに設定。
- ボタンウィジェットのラベルを「Click Me!」に設定。
Xリソースの設定方法
[編集]Xリソースは、通常以下の手順で設定されます:
1. 設定ファイルへの記述
[編集]Xリソースはユーザーごとの設定ファイル「~/.Xresources
」または「~/.Xdefaults
」に記述します。
- 例
~/.Xresources
の内容XTerm*background: black XTerm*foreground: white XTerm*font: -*-fixed-*-*-*-*-14-*-*-*-*-*-*-*
2. リソースのロード
[編集]設定を有効にするには、xrdb
(Xリソースデータベース管理ツール)を使用します。
xrdb -merge ~/.Xresources
これにより、設定が現在のXサーバーに適用されます。
3. アプリケーションの再起動
[編集]既に実行中のアプリケーションにはリソースが反映されない場合があるため、アプリケーションを再起動します。
Xリソースの例と応用
[編集]以下に、よく使用されるリソース設定例を示します:
例1: xtermのカスタマイズ
[編集]xterm*background: black xterm*foreground: green xterm*cursorColor: red xterm*scrollBar: true xterm*font: -*-fixed-*-*-*-*-18-*-*-*-*-*-*-*
この設定により、xtermの背景色を黒、文字色を緑、カーソル色を赤に設定し、フォントサイズを18ポイントにします。
例2: ウィジェットごとの設定
[編集]特定のウィジェットにのみ適用する場合、以下のように記述します:
MyApp*mainWindow*background: lightgray MyApp*mainWindow*button*foreground: blue
ここでは、mainWindow
の背景色をライトグレー、ボタンの文字色を青に設定しています。
例3: フォントの指定
[編集]Xリソースでは、X Logical Font Description(XLFD)形式でフォントを指定します。以下はフォント設定の例です:
MyApp*font: -*-helvetica-*-r-normal--14-*-*-*-*-*-*-*
または、Xサーバーで利用可能なフォント名を指定することも可能です。
リソースの優先順位
[編集]Xリソースの適用には以下の優先順位が適用されます:
- コマンドライン引数(最も優先される)。
- リソースデータベース(
~/.Xresources
など)。 - デフォルト値(アプリケーション内で指定される値)。
- 例
- コマンドライン引数で背景色を指定する場合
$ xterm -bg blue
この場合、~/.Xresources
の設定よりもコマンドライン引数が優先されます。
リソースデータベースのクエリ
[編集]現在のXリソースデータベースを確認するには、以下のコマンドを使用します:
$ xrdb -query
設定されているリソースの一覧が表示されます。
リソースのデバッグ
[編集]リソースが期待通りに適用されない場合は、以下を確認してください:
- アプリケーションのクラス名とリソース名が正しいか。
xrdb
で正しくロードされているか。- 設定ファイルの構文エラーがないか。
まとめ
[編集]X resourcesは、X Window Systemアプリケーションの外観や動作を柔軟にカスタマイズする強力な仕組みです。適切にリソースを設定することで、ユーザーの好みに応じたアプリケーション環境を実現できます。本章で紹介した基本概念と設定手順を基に、自身の環境をカスタマイズしてみてください。