stringtranslate.com

X recursos

En el sistema X Window , los recursos X son parámetros de los programas informáticos como el nombre de la fuente utilizada en los botones , el color de fondo de los menús , etc. Se utilizan junto con o como alternativa a los parámetros de la línea de comandos y los archivos de configuración . [1] [2]

Formato

En el nivel del protocolo X, los recursos son cadenas que se almacenan en el servidor y no tienen un significado especial. La sintaxis y el significado de estas cadenas los proporcionan las bibliotecas y aplicaciones cliente.

Cada recurso X especifica un parámetro para un programa o uno de sus componentes. Un recurso completamente especificado tiene el siguiente formato:

application.component.subcomponent.subcomponent.attribute: value

Este recurso especifica el valor de attributepara el componente nombrado component.subcomponent.subcomponentdel programa application. Los recursos se utilizan a menudo para especificar los parámetros de los widgets creados por la aplicación. Dado que estos widgets están organizados en un árbol , la secuencia de nombres de componentes/subcomponentes se utiliza para identificar un widget proporcionando su ruta dentro del árbol. El valor del recurso es el valor de un atributo para este widget, como su color de fondo, etc.

Los recursos X también se utilizan para especificar parámetros del programa que no están directamente relacionados con sus widgets, utilizando la misma sintaxis.

Los recursos X están diseñados para permitir que se especifique el mismo parámetro para más de un programa o componente. Esto se logra permitiendo caracteres comodín en una especificación de recursos. En particular, el carácter ? se utiliza para hacer coincidir el nombre de la aplicación o un solo componente. El carácter * se utiliza para hacer coincidir cualquier número de componentes. Estos dos caracteres se pueden utilizar en cualquier lugar excepto al final del nombre del recurso. En otras palabras, un atributo no se puede reemplazar por un carácter comodín.

Si bien los recursos se pueden especificar de forma imprecisa mediante caracteres comodín, las consultas para el valor de un recurso deben especificar exactamente ese recurso. Por ejemplo, un recurso puede especificar que el fondo de cada componente del xmailprograma debe ser rojo:

xmail*background: red

Sin embargo, cuando un programa (por ejemplo, el propio programa xmail, cuando quiere averiguar qué color de fondo utilizar) accede a la base de datos de recursos a través de funciones Xlib , solo puede solicitar el valor de un recurso específico. A diferencia de la mayoría de las bases de datos , los datos almacenados se pueden especificar de forma flexible (mediante caracteres comodín), pero la interrogación no. Por ejemplo, un programa puede consultar el valor de xmail.main.backgroundo de xmail.toc.buttons.background, pero no puede utilizar ?o *para comprobar el color de fondo de varios componentes a la vez.

También se pueden especificar recursos para clases de elementos: por ejemplo, application.widget.widget.attribute: valuese pueden generalizar reemplazando el nombre de la aplicación con su clase (por ejemplo, Mailen lugar de xmh), cada widget con su tipo ( Pane, Button, etc.) y el atributo con su tipo.

Ubicación y uso

Durante la ejecución del servidor de visualización X , los recursos X se almacenan en dos ubicaciones estándar, dependiendo de si se aplican a todas las pantallas o a una en particular:

  1. la RESOURCE_MANAGERpropiedad de la ventana raíz de la pantalla 0
  2. la SCREEN_RESOURCESpropiedad de la ventana raíz de una pantalla arbitraria
Los recursos X son accesibles para todos los programas conectados al servidor de visualización X, incluso si se ejecutan en computadoras diferentes.

Los recursos X se almacenan en el servidor en lugar de en un archivo de configuración para permitir que los programas iniciados desde otras computadoras los utilicen. De hecho, un programa que se conecta a un servidor de visualización X desde otra computadora puede acceder a los recursos a través del protocolo X. El uso del antiguo sistema de almacenamiento de parámetros de programa en el .Xdefaultsarchivo crea la necesidad de copiar este archivo a todas las demás computadoras donde se puede iniciar un programa.

Los recursos son manipulados por el programa xrdb . En particular, muchas configuraciones de servidores de visualización X ejecutan xrdb al iniciarse, indicándole que lea los recursos del archivo en el directorio de inicio.Xresources del usuario . A partir de este punto, todos los demás programas encuentran los recursos en las dos ubicaciones estándar. Puede ver los recursos actuales desde una consola con .xrdb -query

Bibliotecas de clientes

Xlib contiene una serie de funciones útiles para acceder a los recursos del servidor y manipularlos localmente. Estas funciones son utilizadas tanto por xrdb como por cualquier otro programa que necesite estos recursos. La mayoría de estas funciones manipulan una base de datos de recursos , que es una estructura de datos local que representa un conjunto de especificaciones de recursos. Las funciones de Xlib para la gestión de recursos son:

En particular, la función XrmParseCommandpermite analizar los argumentos de la línea de comandos y leer recursos que luego se agregan a una base de datos de recursos local. De esta manera, los recursos se pueden leer desde el servidor y se pueden usar como valores predeterminados que se reemplazan por los argumentos de la línea de comandos.

Por razones de eficiencia, se definen números enteros llamados quarks para representar cadenas locales. Los quarks son similares a los átomos , pero representan cadenas almacenadas localmente en lugar de en el servidor. Varias funciones de Xlib crean una asociación entre cadenas y quarks. Los quarks se pueden utilizar en lugar de nombres de componentes cuando se utiliza una de las funciones anteriores; por lo tanto, los nombres de recursos corresponden a listas de quarks.

Véase también

Referencias

  1. ^ "Configuración de recursos X: descripción general docstore.mik.ua/orelly/unix3/upt/ch06_05.htm".
  2. ^ "Los recursos X".

Enlaces externos