Х ресурсов
Эта статья нуждается в дополнительных цитатах для проверки . ( сентябрь 2011 г. ) |
В системе X Window представляют ресурсы X собой параметры компьютерных программ, такие как имя шрифта , используемого в кнопках , цвет фона меню и т. д. Они используются в сочетании с параметрами командной строки и конфигурацией или в качестве альтернативы им. файлы . [1] [2]
Формат
[ редактировать ]На уровне протокола X ресурсы — это строки, которые хранятся на сервере и не имеют особого значения. Синтаксис и значение этих строк задаются клиентскими библиотеками и приложениями.
Каждый ресурс X определяет параметр программы или одного из ее компонентов. Полностью указанный ресурс имеет следующий формат:
application.component.subcomponent.subcomponent.attribute: value
Этот ресурс определяет значение attribute
для компонента с именем component.subcomponent.subcomponent
программы application
. Ресурсы часто используются для указания параметров виджетов , создаваемых приложением. Поскольку эти виджеты расположены в виде дерева , последовательность имен компонентов/подкомпонентов используется для идентификации виджета путем указания его пути в дереве. Значением ресурса является значение атрибута этого виджета, например цвета фона и т. д.
Ресурсы X также используются для указания параметров программы, которые не связаны напрямую с ее виджетами, используя тот же синтаксис.
Ресурсы X предназначены для указания одного и того же параметра для более чем одной программы или компонента. Это реализуется путем разрешения использования подстановочных знаков в спецификации ресурса. В частности, ? символ используется для соответствия имени приложения или отдельного компонента. Символ * используется для обозначения любого количества компонентов. Эти два символа можно использовать где угодно, кроме конца имени ресурса. Другими словами, атрибут не может быть заменен подстановочным знаком.
Хотя ресурсы можно свободно указывать с помощью подстановочных знаков, запросы на получение значения ресурса должны точно указывать этот ресурс. Например, ресурс может указать, что фон каждого компонента xmail
программа должна быть красной:
xmail*background: red
Однако когда программа (например, сама программа xmail , когда она хочет узнать, какой цвет фона использовать) обращается к базе данных ресурсов через функции Xlib , она может запросить только значение определенного ресурса. В отличие от большинства баз данных , хранимые данные могут быть указаны свободно (с помощью подстановочных знаков), но запрос не может. Например, программа может запросить значение xmail.main.background
или из xmail.toc.buttons.background
, но не могу использовать ?
или *
чтобы проверить цвет фона сразу нескольких компонентов.
Ресурсы также можно указать для классов элементов: например, application.widget.widget.attribute: value
можно обобщить, заменив имя приложения его классом (например, Mail
вместо xmh
), каждый виджет со своим типом ( Pane
, Button
и т. д.), а также атрибут с его типом.
Расположение и использование
[ редактировать ]X Во время работы сервера отображения ресурсы X хранятся в двух стандартных местах, в зависимости от того, применяются ли они ко всем экранам или к конкретному:
- тот
RESOURCE_MANAGER
свойство корневого окна экрана 0 - тот
SCREEN_RESOURCES
свойство корневого окна произвольного экрана

Ресурсы X хранятся на сервере, а не в файле конфигурации, что позволяет программам, запускаемым с других компьютеров, использовать их. Действительно, программа, подключающаяся к серверу отображения X с другого компьютера, может получить доступ к ресурсам по X. протоколу Используя старую систему хранения параметров программы в .Xdefaults
file создает необходимость копирования этого файла на все остальные компьютеры, на которых можно запустить программу.
Ресурсами управляет программа xrdb . В частности, многие конфигурации X-сервера отображения запускают xrdb при запуске, предписывая ему читать ресурсы из .Xresources
пользователя файл в домашнем каталоге . С этого момента каждая другая программа находит ресурсы в двух стандартных местах.Вы можете просмотреть текущие ресурсы с консоли с помощью xrdb -query
.
Клиентские библиотеки
[ редактировать ]Xlib содержит ряд удобных функций для доступа к ресурсам на сервере и локального управления ими. Эти функции используются как xrdb, так и любой другой программой, которой нужны эти ресурсы. Большинство этих функций управляют базой данных ресурсов , которая представляет собой локальную структуру данных, представляющую набор спецификаций ресурсов. Функции Xlib для управления ресурсами:
- функции для чтения ресурсов на сервере в локальную строку (
XResourceManagerString
иXScreenResourceString
) - функции для создания, управления и уничтожения базы данных локальных ресурсов (
XrmInitialize
,XrmDestroyDatabase
,XrmGetFileDatabase
,XrmPutFileDatabase
,XrmGetStringDatabase
,XrmLocaleOfDatabase
,XrmSetDatabase
,XrmGetDatabase
,XrmCombineFileDatabase
,XrmCombineDatabase
,XrmMergeDatabases
,XrmParseCommand
) - функции для поиска ресурсов и хранения новых (
XrmGetResource
,XrmQGetResource
,XrmQGetSearchList
,XrmQGetSearchResource
,XrmPutResource
,XrmQPutResource
,XrmPutStringResource
,XrmQPutStringResource
,XrmPutLineResource
,XrmEnumerateDatabase
)
В частности, функция XrmParseCommand
разрешить анализ аргументов командной строки , чтение ресурсов, которые затем добавляются в локальную базу данных ресурсов. Таким образом, ресурсы можно считывать с сервера и использовать по умолчанию, которые переопределяются аргументами командной строки.
В целях эффективности целые числа, называемые кварками, определены для представления локальных строк. Кварки похожи на атомы , но они представляют собой строки, хранящиеся локально, а не на сервере. Ряд функций Xlib создают связь между струнами и кварками. Кварки можно использовать вместо имен компонентов при использовании одной из вышеперечисленных функций; поэтому имена ресурсов соответствуют спискам кварков.
См. также
[ редактировать ]Ссылки
[ редактировать ]Внешние ссылки
[ редактировать ]- Несущественные X-ресурсы для техно-дураков
- Функции диспетчера ресурсов клиентской Xlib библиотеки