第15章 定义应用程式的预设选项 -- Resources
大多数的X程式接受命令列选项,以便让你指定前景和背景的颜色、字型 、起始位置等等。这种需求是有必要的,因为如果你在程式内硬性规定使用某 种字型,而在执行此程式的机器上并没有这种字型,则将使得程式无法执行, 所以你不应硬性规定某些参数。
当你每次执行程式时不太可能在命令列中指定所有需要的选项,因为有太多种 可能的组合了,所以X提供了一个叫做resources 的一般性结构,用来传递预 设的设定给应用程式。当你阅读指南页时,你可能已经注意到要你参照resources ,但却不知道什麽是resources ,我们将在此解释。
你在系统中几乎所有的定制动作都将运用到resources ,事实上你为一 个应用程式所选择的每一个选项的设定都要用到resources ,从简单的项目例 如色彩或字型,到定制你的键盘或管理你的显示器如何工作,它非常的方便, 而且在系统中到处都用得到。
本章我们描述什麽是resources ,及关於它们是如何发展的资讯,接下来 我们描述X Toolkit(工具),它完全地使用到了resources 的结构;然後 告诉你一些resources 工作的细节,你该如何设定它们,及你能用它们设定哪些 型态。
这是相当长的一章,有几个新的观念被加进来,一开始会有些困难,但不 需太担心,原则上resources 结构非常地简单,只是第一眼看起来好像有许多 "魔术符号" 而已,也许你应该先很快地浏览一遍,然後再详细地重读一遍。
15.1 什麽是resources ?
在X的文献中,”resources ”有两种意义。第一种是相当低阶的,意指 被server管理或建立而被应用程式使用的东西。视窗、游标、字型等均属於这 种意义。
另一种意义也就是通常你在指南页中常看到”resources ”的意义:它是 一种传递预设设定、参数和其它值给应用程式的方法。在本章中我们局限於 讨论此种意义之resources 。在解释现行系统如何工作前,先回顾一下X的早 期版本是如何掌握这些功能的,因为现行的结构由此产生。
15.1.1 ”预设”的背景
在X较早的版本,对於像视窗背景颜色、视窗边界的颜色、应用程式所使 用的字型这类项目你可以轻易地设定其预设值。
预设值的设定方式很直接,你只需指定一个视窗的属性和它的预设值。例如:
.Border : red
意即所有的视窗均为红色的边(除非你在命令列中重新设定边的颜色),你也 可以把程式的名称放在属性之前,则只有被指名的程式才会改变,所以把以下 这个规格
xclock.Border:blue
和先前的规格结合在一起的意义为:预设所有视窗均为红色的边,只有xclock 的视窗为蓝色的边。
每当你设定预设值,程式会自动取用该值,所以你□需每次均指定你的选 择,它让你依照适合你的工作习惯来使用字型,不论是你要用较小的字型以获 得更多的资讯显示,或是用较大的字型以便阅读,它让你为特定的应用程式选 择颜色,你可以定义应用程式的起始位置,所以你可以自行设计一些启始萤 幕的布置,因为许多的预设值(字型、色彩等)实际上精确的意义为”resources” ,所以”resources ”的意义逐渐扩增为”预设值设定(default setting) ” 或”设定预设选项(setting default optio