X resources

X resources

In the X Window System, the X resources comprise parameters of computer programs such as the name of the font used in the buttons, the background color of menus, etc. They are used in conjunction or in alternative to command line parameters and configuration files.

Format

At the X protocol level, resources are strings that are stored in the server and have no special meaning. The syntax and meaning of these strings is given by client libraries and applications.

Every X resource specifies a parameter for a program or one of its components. A fully specified resource has the following format:

:application.component.subcomponent.subcomponent.attribute: value

This resource specifies the value of attribute for the component named component.subcomponent.subcomponent of the program application. Resources are often used for specifying the parameters of widgets created by the application. Since these widgets are arranged in a tree, the sequence of component/subcomponent names is used to identify a widget by giving its path within the tree. The value of the resource is the value of an attribute for this widget, such as its background color, etc.

X resources are also used to specify parameters for the program that are not directly related to its widgets, using the same syntax.

X resources are designed to allow the same parameter to be specified for more than one program or component. This is realized by allowing wildcard characters in a resource specification. In particular, the ? character is used to match the application name or a single component. The * character is used to match any number of components. These two characters can be used anywhere but at the end of the resource name. In other words, an attribute cannot be replaced by a wildcard character.

While the resources can be loosely specified via the wildcard characters, queries for the value of a resource must specify that resource exactly. For example, a resource can specify that the background of every component of the xmail program must be red:

:xmail*background: red

However, when a program (e.g., the xmail program itself, when it wants to find out which background color to use) accesses the resource database via Xlib functions, it can only request the value of a specific resource. Contrary to most databases, the stored data can be specified loosely (via wildcard characters), but the interrogation cannot. For example, a program can query for the value of xmail.main.background or of xmail.toc.buttons.background, but cannot use ? or * to check the background color of several components at once.

Resources can also be specified for "classes" of elements: for example, application.widget.widget.attribute: value can be generalized by replacing the application name with its class (e.g., Mail instead of xmh), each widget with its type (Pane, Button, etc.), and the attribute with its type.

Location and use

During X server execution, the X resources are stored in two standard locations, depending on whether they apply to all screens or to a particular one:

# the RESOURCE_MANAGER property of the root window of screen 0
# the SCREEN_RESOURCES property of the root window of an arbitrary screen

X resources are stored in the server rather than in a configuration file to allow programs started from other computers to use them. Indeed, a program connecting to an X server from another computer can access the resources via the X protocol. Using the old system of storing program parameters in the .Xdefaults file creates the need of copying this file to all other computers where a program can be started.

Resources are manipulated by the xrdb program. In particular, many X server configurations run xrdb at start up, instructing it to read the resources from the .Xresources file in the user's home directory. From this point on, every other program finds the resources in the two standard locations.You can view the current resources from a console with xrdb -query.

Client libraries

Xlib contains a number of convenience functions for accessing the resources on the server and manipulating them locally. These functions are used both by xrdb and by every other program that needs these resources. Most of these functions manipulate a "resource database", which is a local data structure representing a set of resource specifications. The Xlib functions for resource management are:

* functions for reading the resources on the server into a local string (XResourceManagerString and XScreenResourceString)
* functions for creating, manipulating, and destroying a local resource database (XrmInitialize, XrmDestroyDatabase, XrmGetFileDatabase, XrmPutFileDatabase, XrmGetStringDatabase, XrmLocaleOfDatabase, XrmSetDatabase, XrmGetDatabase, XrmCombineFileDatabase, XrmCombineDatabase, XrmMergeDatabases, XrmParseCommand)
* functions for looking up resources and storing new ones (XrmGetResource, XrmQGetResource, XrmQGetSearchList, XrmQGetSearchResource, XrmPutResource, XrmQPutResource, XrmPutStringResource, XrmQPutStringResource, XrmPutLineResource, XrmEnumerateDatabase)

In particular, the function XrmParseCommand allow parsing the command line arguments, reading resources that are then added to a local resource database. This way, the resources can be read from the server and used as defaults that are overridden by command line arguments.

For the sake of efficiency, integers called "quarks" are defined to represent local strings. Quarks are similar to atoms, but they represent strings stored locally rather than on the server. A number of Xlib functions create an association between strings and quarks. Quarks can be used in place of component names when using one of the above functions; resource names therefore correspond to quark lists.

See also

*X Window System protocols and architecture

External links

* [http://www.mit.edu:8001/afs/sipb/project/doc/ixresources/xres.html Inessential X Resources for Techno-Dweebs]
* [http://web.mit.edu/answers/xwindows/xwindows_resources.html How to use X RESOURCES]
* [http://www.tronche.com/gui/x/xlib/resource-manager Resource Manager Functions] of the Xlib client library


Wikimedia Foundation. 2010.

Look at other dictionaries:

  • Resources for the Future — (RFF) is a nonprofit and nonpartisan organization that conducts independent research rooted primarily in economics and other social sciences on environmental, energy, and natural resource issues. Although RFF is headquartered in Washington, D.C …   Wikipedia

  • Resources, Events, Agents — (REA) is a model of how an accounting system can be reengineered for the computer age. REA was originally proposed in 1982 by William E. McCarthy as a generalized accounting model, and contained the concepts of resources, events and agents. REA… …   Wikipedia

  • Resources for Economists on the Internet — (RFE) – экономический англоязычный портал в Интернете, поддерживаемый Американской экономической ассоциацией. Портал содержит 2100 документов в 97 секциях. Редактором портала является Б. Гоффе. Основные рубрики портала: «Словари, глоссарии и… …   Википедия

  • resources — a stock or supply of materials or assets. → resource resources personal attributes that sustain one in adverse circumstances. → resource …   English new terms dictionary

  • resources — [n] money, possessions, natural resources ace in hole*, assets, backing, bankroll, basics, belongings, budget, capital, collateral, effects, funds, holdings, income, kitty*, material goods, means, nest egg*, nut*, property, reserves, revenue,… …   New thesaurus

  • Resources of a Resource — (ROR) is an XML format for describing the content of an internet resource or website in a generic fashion so this content can be better understood by search engines, spiders, web applications, etc. The ROR format provides several pre defined… …   Wikipedia

  • resources — index advantage, assets, capital, cash, effects, estate (property), finance, fund …   Law dictionary

  • resources — n. 1) to develop; exploit, tap resources 2) to husband; marshall; pool, share one s resources 3) economic; natural; untapped resources (to exploit natural resources) 4) the resources to + inf. (we have the resources to do the job) * * * exploit… …   Combinatory dictionary

  • Resources monopoly — In economics, a resources monopoly arises because one firm owns all of the resources necessary to produce the good or service.An example of a resource monopoly is De Beers, a diamond mining company. De Beers owns the mines where diamonds are… …   Wikipedia

  • resources — Synonyms and related words: Swiss bank account, ability, assessed valuation, assets, assets and liabilities, available means, balance, bank account, bottom dollar, budget, capacity, capital, capital goods, capitalization, cash reserves, checking… …   Moby Thesaurus

  • resources — /rɪ sɔ:sɪz/ plural noun 1. a source of supply of something ♦ we are looking for a site with good water resources a site with plenty of water available 2. the money available for doing something ♦ the cost of the new project is easily within our… …   Marketing dictionary in english

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”