コンテンツにスキップ

X Window Programming/X resources

出典: フリー教科書『ウィキブックス(Wikibooks)』

X resources(Xリソース)は、X Window Systemアプリケーションの外観や動作を柔軟に設定するための仕組みです。アプリケーションごとにフォント、色、ウィジェットのサイズや位置などを指定することができます。リソースは主に設定ファイルに記述され、ユーザーの環境に応じてカスタマイズ可能です。

本章では、Xリソースの基本概念、設定方法、適用方法について解説します。

Xリソースの基本構造

[編集]

Xリソースは、以下の形式で記述されます:

<アプリケーション名>*<ウィジェット名>.<リソース名>: <値>

項目の詳細

[編集]
  • アプリケーション名: リソースが適用されるアプリケーションの名前(クラス名)。
  • ウィジェット名: リソースが適用される特定のウィジェットの名前。省略可能。
  • リソース名: 設定対象のプロパティ(例: フォント、色)。
  • : リソースに設定する具体的な値。

[編集]

以下は、アプリケーション「MyApp」におけるリソースの例です:

MyApp*background: white
MyApp*font: -*-fixed-*-*-*-*-14-*-*-*-*-*-*-*
MyApp*button.label: Click Me!
この例では:
  1. アプリケーション全体の背景色を「white」に設定。
  2. デフォルトフォントを固定幅フォントに設定。
  3. ボタンウィジェットのラベルを「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リソースの適用には以下の優先順位が適用されます:

  1. コマンドライン引数(最も優先される)。
  2. リソースデータベース(~/.Xresources など)。
  3. デフォルト値(アプリケーション内で指定される値)。
コマンドライン引数で背景色を指定する場合
$ xterm -bg blue

この場合、~/.Xresourcesの設定よりもコマンドライン引数が優先されます。

リソースデータベースのクエリ

[編集]

現在のXリソースデータベースを確認するには、以下のコマンドを使用します:

$ xrdb -query

設定されているリソースの一覧が表示されます。

リソースのデバッグ

[編集]

リソースが期待通りに適用されない場合は、以下を確認してください:

  1. アプリケーションのクラス名とリソース名が正しいか。
  2. xrdbで正しくロードされているか。
  3. 設定ファイルの構文エラーがないか。

まとめ

[編集]

X resourcesは、X Window Systemアプリケーションの外観や動作を柔軟にカスタマイズする強力な仕組みです。適切にリソースを設定することで、ユーザーの好みに応じたアプリケーション環境を実現できます。本章で紹介した基本概念と設定手順を基に、自身の環境をカスタマイズしてみてください。