A property is a collection of named, typed data. Each property has a name, which is an ISO Latin-1 string. A property also has a type, for example, string or integer. These types are also indicated using atoms, so arbitrary new types can be defined. Data of only one type may be associated with a single property name.
Clients can store and retrieve properties associated with windows.
For efficiency reasons, an atom is used rather than a character string. A property is also stored in one of several possible formats. This permits the X server to present the data in the byte order that the client expects. Note If you define further properties of complex type, you must encode and decode them yourself. These functions must be carefully written if they are to be portable.