The X server maintains an active database whose contents are called properties. A property consists of a name, type, and contents. Applications can use properties for any purpose, but they are most often used to communicate between clients, and between a client and the window manager or session manager. There is a special property list associated with the root window known as the resource database that is managed by the Resource Manager. A set of Xlib routines allow an application to get, set, and query the resource database. This database may be used by clients to set application defaults, to specify keymaps, or to register the functions to call when a particular window receives a particular event.
An application may read or modify any resource entry. The effects of changing an entry depend on how the application or applications use that resource. For example, an application could set the default foreground and background colors for all applications to black.