Appendix A


Resource File Format

A resource file contains text representing the default resource values for an application or set of applications.

The format of resource files is defined by Xlib - C Language X Interface and is reproduced here for convenience only.

The format of a resource specification is

ResourceLine= Comment | IncludeFile | ResourceSpec I <empty line>
Comment= " !" {<any character except null or newline>}
IncludeFile= "#" WhiteSpace "include" WhiteSpace FileName WhiteSpace
FileName= <valid filename for operating system>
ResourceSpec= WhiteSpace ResourceName WhiteSpace ":" WhiteSpace Value
ResourceName= [Binding] {Component Binding} ComponentName
Binding= " ." | "* "
WhiteSpace= {<space> | <horizontal tab>}
Component= "?" | ComponentName
ComponentName= NameChar {NameChar}
NameChar= "a"-"z" | "A"-"Z" | "0"-"9" | "_" | "-"
Value= { <any character except null or unescaped newline> }

Elements separated by vertical bar (|) are alternatives. Curly braces ({...}) indicate zero or more repetitions of the enclosed elements. Square brackets ([...]) indicate that the enclosed element is optional. Quotes ("...") are used around literal characters.

If the last character on a line is a backslash (\), that line is assumed to continue on the next line.

To allow a Value to begin with whitespace, the two-character sequence "\space" (backslash followed by space) is recognized and replaced by a space character, and the two-character sequence "\tab" (backslash followed by horizontal tab) is recognized and replaced by a horizontal tab character.

To allow a Value to contain embedded newline characters, the two-character sequence "\n" is recognized and replaced by a newline character. To allow a Value to be broken across multiple lines in a text file, the two-character sequence "\newline" (backslash followed by newline) is recognized and removed from the value.

To allow a Value to contain arbitrary character codes, the four-character sequence "\nnn", where each n is a digit character In the range of "0"-"7", is recognized and replaced with a single byte that contains the octal value specified by the sequence. Finally, the two-character sequence "\\" is recognized and replaced with a single backslash.

Home

Contents Previous Chapter Next Chapter