GTK+ ウィジェットは、ウィジェット名とウィジェットクラスによって指定されます。ウィジェット名は特定のウィジェット(例:‘emacs-menuitem’)を指し、ウィジェットクラスは類似したウィジェットの集合(例:‘GtkMenuItem’)を指します。ウィジェットには必ずクラスがありますが、名前がある必要はありません。
絶対名とは、ウィジェット名またはウィジェットクラスの連なりであり、他のウィジェット内に埋め込まれたウィジェットの階層構造に対応します。例えば、GtkWindow という名前の top が box という名前の GtkVBox を含み、それがさらに
menubar と呼ばれる GtkMenuBar
を含んでいる場合、menu-bar ウィジェットの絶対クラス名は GtkWindow.GtkVBox.GtkMenuBar となり、その絶対ウィジェット名は top.box.menubar となります。
GTK+ のリソースファイルには、ウィジェットの外観を指定するための 2 種類のコマンドを含めることができます。
widgetクラス名、またはクラスのみに基づいて、ウィジェットのスタイルを指定します。
widget_classクラス名に基づいてウィジェットのスタイルを指定します。
widget コマンドの使用例については前のサブセクションを参照してください。widget_class
コマンドも同様に使用します。なお、ウィジェット名/クラスとスタイルはダブルクォートで囲む必要があり、これらのコマンドは GTK+
リソースファイルのトップレベルに記述する必要があります。
前述の通り、シェルのワイルドカード構文を用いてウィジェット名やクラスを指定できます。‘*’は0文字以上の文字列に、‘?’は1文字にそれぞれ一致します。以下の例では、すべてのウィジェットにスタイルを割り当てています。
widget "*" style "my_style"