この節では次の内容を説明します。
スタイル・マネージャがディスプレイ・カラーを設定する方法
デスクトップ・カラーの使用をコントロールするためにスタイル・マネージャが使用するリソース
パレットは、カラー・セットのグループから成ります。現在のパレットのカラー・セットは、スタイル・マネージャの [カラー] ダイアログ・ボックスに表示されます。
各パレットに 1 つのファイルが存在します。paletteDirectories リソースは、パレット・ファイルが入っているディレクトリを指定します。デフォルトでは、このリソースには次のものが入っています。
組み込みパレット: /usr/dt/palettes
システム共通パレット: /etc/dt/palettes
個人用パレット: HomeDirectory/.dt/palettes
現在のパレットに設定されている各カラーは、スタイル・マネージャの [カラー] ダイアログ・ボックスにあるカラー・ボタンによって表されます。各カラーは、1 から 8 までのカラー・セット ID によって識別します。
各カラー・セットは、最高 5 色までのカラーで構成されます。各カラー・ボタンは、カラー・セットのバックグラウンド・カラーを表示します。各カラー・セットにある 5 つのカラーは、次のディスプレイ・コンポーネント・リソースを表します。
foreground - アプリケーション・ウィンドウまたはウィンドウ枠のフォアグラウンドです。通常は黒か白です。一般的にウィンドウやタイトル内のテキストに使用します。
background - アプリケーション・ウィンドウまたはウィンドウ枠のバックグラウンドです。
topShadowColor - アプリケーション・コントロール (プッシュ・ボタンなど) とウィンドウ枠の上部と左部の射影のカラーです。
bottomShadowColor - アプリケーション・コントロールとウィンドウ枠の下部と右部の射影のカラーです。
selectColor - アクティブなトグルやボタンなど、特定コントロールのアクティブな状態を示すカラーです。
各パレットが使用するカラー・セットの数は、colorUse リソースによって決まりますが、スタイル・マネージャの [使用する色の数] ダイアログ・ボックスを使用して設定できます。
スタイル・マネージャは、そのパレット・ファイルにカラー情報を書き込むときに RGB 値を使用します。RGB 数の構文は次のとおりです。
#RedGreenBlue
Red、Green、Blue はそれぞれ 1 桁から 4 桁 の 16 進数で、使用するカラーの量を示します。カラーのそれぞれの桁数は同じでなければなりません。したがって、有効カラー値は、3、6、9、12 桁のいずれかの 16 進数から成ります。
たとえば、白は次のどの方法でも指定できます。
#fff #ffffff #fffffffff #fffffffffffff
カラー・リソースを直接設定する場合、カラー名か RGB 値のどちらかを使用できます。ファイル /usr/lib/X11/rgb.txt には、名前が付いたカラーのすべてがリストされています。
デスクトップはリソースを介してさまざまなディスプレイ要素にカラー・セットをマップし、表 17-5 のような割り当てを行います。
表 17-5 リソースにマップされているカラー・セット
リソース |
ディスプレイ要素 |
---|---|
アプリケーションのメニュー・バー、メニュー、およびダイアログ・ボックス |
これらのリソースは、カラー・セット ID を値として取ります。カラー・セット ID でディスプレイ要素に配色を指定すると、新しいパレットがスタイル・マネージャで選択されるときに要素を新しい配色へと動的に変更できます。
個々のアプリケーションに対して、これらのリソースを使用できます。たとえば次の行は、原色に 8 カラー・セットを使用することにより、すべての dtterm ウィンドウを視覚的にグループ化する方法を示します。
dtterm*primaryColorSetId: 8
ディスプレイ要素に使用されるカラー・セット ID は、スタイル・マネージャのカラーの数の設定に対応します。
表 17-6 に、スタイル・マネージャで [デスクトップにもっと多くの色数を割り当てる] を設定した場合の、High Color (8 カラー・セット) 用のカラー・セット ID を示します。
表 17-6 High Color
カラー・セット ID |
ディスプレイ要素 |
---|---|
1 |
アクティブなウィンドウ枠のカラー |
2 |
非アクティブなウィンドウ枠のカラー |
3 |
未使用 (デフォルト時) |
4 |
テキスト・エントリ領域 |
5 |
アプリケーションのメイン・バックグラウンド領域 |
6 |
アプリケーションのメニュー・バー、メニュー、およびダイアログ・ボックス |
7 |
デフォルト時には未使用 |
8 |
フロント・パネルのバックグラウンド |
表 17-7 に、スタイル・マネージャで [アプリケーションにもっと多くの色数を割り当てる] に設定した場合の、Medium Color (4 カラー・セット) 用のカラー・セット ID を示します。
表 17-7 Medium Color
カラー・セット ID |
ディスプレイ要素 |
---|---|
1 |
アクティブなウィンドウ枠のカラー |
2 |
非アクティブなウィンドウ枠のカラー |
3 |
アプリケーションとフロント・パネルのバックグラウンドのカラー |
4 |
テキスト・エントリ領域 |
表 17-8 に、スタイル・マネージャで [アプリケーションに最大限度の色数を割り当てる] に設定した場合の、Low Color (2 カラー・セット) 用のカラー・セット ID を示します。
表 17-8 Low Color
カラー・セット ID |
ディスプレイ要素 |
---|---|
1 |
アクティブなウィンドウ枠、ワークスペース選択ボタン |
2 |
すべてのその他のディスプレイ要素 |
スタイル・マネージャを介して、デスクトップ・アプリケーションやその他の連携アプリケーションのカラーを動的に変更できます。スタイル・マネージャが設定するフォアグラウンド・カラーとバックグラウンド・カラーは、非連携アプリケーションに対して使用可能です。
スタイル・マネージャのカラー変更に反応するクライアントの場合、クライアントは必ずデスクトップの Motif ライブラリを使用してください。他のツールキットで書かれたクライアントは、スタイル・マネージャの変更に応じて動的にカラーを変更できません。これらのクライアントに対するカラーの変更は、クライアントが再起動されるまで有効ではありません。
クライアントに適用される特定のカラー・リソースは他にありません。これには、ユーザ指定のリソース、app-defaults、およびアプリケーションに組み込まれるリソースが含まれます。
クライアントは primaryColorSetId リソースと secondaryColorSetId リソースを指定して、デスクトップ・パレット内の特定のカラーを使用できます。
スタイル・マネージャが使用するカラーの数は、次のリソースの値に依存します。
colorUse - デスクトップが使用するカラーの数を設定します。
shadowPixmaps - 2 つのシャドウ・カラーをピックスマップと置き換えるようにデスクトップに指示します。
foregroundColor - フォアグラウンド・カラーを動的に変更するか指定します。
dynamicColor - パレットを切り替えるときにアプリケーションがカラーを変更するかをコントロールします。
表 17-9 は、デスクトップが割り当てるカラーの最大数をリストします。
表 17-9 デスクトップ・カラーの数
ディスプレイ |
カラーの最大数 |
内訳 |
---|---|---|
B_W |
2 |
黒と白 |
LOW_COLOR |
12 |
2 カラー・セット x 5 カラー + (黒と白) |
MEDIUM_COLOR |
22 |
4 カラー・セット x 5 カラー + (黒と白) |
HIGH_COLOR |
42 |
8 カラー・セット x 5 カラー + (黒と白) |
カラーの最大数を決定するには、次のようにします。
しかし、次の設定により、パレット内に 10 色のカラー (つまり、4 カラー・セット x 各セット (background と selectColor) 内の 2 色のカラー + (黒と白)) だけを持つことになります。
*colorUse: MEDIUM_COLOR *shadowPixmaps: True *foregroundColor: White
マルチカラー・アイコンは、さらに 14 色のカラーを使用します。
colorUse リソースのデフォルトの値は、MEDIUM_COLOR です。このリソースの値は、パレットで使用するカラーの数に影響を与えます。他のリソースは、シャドウを作成するのに使用するカラーの数に影響を与えます。colorUse リソースの値は、マルチカラー・アイコンの使用にも影響を与えます。
値 |
説明 |
---|---|
B_W |
[白黒] スタイル・マネージャ設定。1 から 3 までのカラー区画で表示 カラー・セットの数: 2 カラーの最大数: 2 デフォルトのカラー数: 2 マルチカラー・アイコンなし |
LOW_COLOR |
[アプリケーションに最大限度の色数を割り当てる] スタイル・マネージャ設定。4 から 5 までのカラー区画で表示 カラー・セットの数: 2 カラーの最大数: 12 デフォルトのカラー数: 12 マルチカラー・アイコンなし |
MEDIUM_COLOR |
[アプリケーションにもっと多くの色数を割り当てる] スタイル・マネージャ設定。6 のカラー区画で表示 カラー・セットの数: 4 カラーの最大数: 22 デフォルトのカラー数: 22 マルチカラー・アイコンあり |
HIGH_COLOR |
[デスクトップにもっと多くの色数を割り当てる] スタイル・マネージャ設定。7 以上のカラー区画で表示 カラー・セットの数: 8 カラーの最大数: 42 デフォルトのカラー数: 42 マルチカラー・アイコンあり |
デフォルト |
デスクトップは、そのディスプレイに対して正確な値を選択します。(色数が多いディスプレイでデスクトップが使用するカラーの数を減らすには、デフォルトの colorUse リソースに MEDIUM_COLOR を設定します。) |
shadowPixmaps リソースは、デスクトップに 2 つのシャドウ・カラーをピックスマップに置き換えるよう指示します。これらのピックスマップは、黒または白とバックグラウンド・カラーを混ぜ合わせて、上部か下部のシャドウ値のシミュレーションを行います。この方法は、カラー・セルをシャドウ・カラーに割り当てる必要がないため、必要なカラーの数から 2 が引かれます。
値 |
説明 |
---|---|
True |
デスクトップは topShadowPixmap と bottomShadowPixmap を作成して、シャドウ・カラーの代わりに使用します。 |
False |
パレットの topShadowColor と bottomShadowColor を使用します。 |
shadowPixmaps のデフォルト値は、持っている colorUse リソースとディスプレイをサポートするハードウェアに依存します。
foregroundColor リソースは、パレットでフォアグラウンドを設定する方法を指定します。
設定 |
結果 |
---|---|
White |
フォアグラウンドに白を設定します。 |
Black |
フォアグラウンドに黒を設定します。 |
Dynamic |
(デフォルト) フォアグラウンドに、background の値に応じて、黒か白を動的に設定します。たとえば、黄色のバックグラウンドで白い文字を使用すると読みにくいので、システムは黒を選択します。 |
foregroundColor に Black か White を設定する場合、カラー・セット内のカラーの数が 1 減りますが、フォアグラウンドがバックグラウンド・カラーの変更に応じて変更されることはありません。
colorUse の値が B_W の場合以外、foregroundColor のデフォルト値は Dynamic です。
dynamicColor リソースは、アプリケーションがカラーを動的に変更するかどうか、つまりパレットを切り替えるときにクライアントがカラーを変更するかどうかをコントロールします。
値 |
説明 |
---|---|
True |
クライアントは新しいパレットが選択されるとカラーを動的に変更します。これがデフォルト値です。 |
False |
クライアントはカラーを動的に変更しません。新しいパレットが選択されると、クライアントはセッションの再起動時に新しいカラーを使用します。 |
dynamicColor リソースの値が True の場合、同じカラーに見えたとしても、カラーを動的に変更できるクライアントではなく、カラーを動的に変更できないクライアント (非 Motif アプリケーション) が、カラー・マップに異なるセルを割り当てます。
すべてのクライアントは同じカラー・セルを共有するので、dynamicColor に False を設定すると、デスクトップで使用したカラーの数だけ減少します。