📄 00000008.htm
字号:
<BR>连接目前在资料库中的值到档案myresf内存在的内容,它藉著比对resource指 <BR>定特徵值的部份做到这点:如果在档案中某一行和资料库中某一项特徵相同, <BR>则档案中值的部份会被在资料库中的值取代,用此方法,所有的以 #开头的列 <BR>和条件设定均会保留在档案中。 <BR> <BR> 注意:前处理器完全不可以使用-edit 选项,那会导致问题,我们看一 <BR> 下当我们使用venus ,且以前述档案初始化资料库时,会发生什麽 <BR> 情况,假设我们做了更动: <BR> <BR> venus% xrdb -merge <BR> XTerm*font: *-courier-medium-r-*-140-* <BR> <end-of-file> <BR> <BR> 然後用命令: <BR> <BR> xrdb -edit myresf <BR> <BR> 将设定更改的部份放回档案,我们看到两件事: <BR> <BR> 1 .前处理器符号在规格中值的部份会被字面(literal)值取代, <BR> 例如: <BR> <BR> xload*Width: 1152 会被 <BR> <BR> xload*Width: WIDTH 取代 <BR> <BR> 2 .在规格中只要特性符合,值均会被取代,甚至那些在条件段中 <BR> 目前尚未应用到的也不例外。例如,在前述档案,设定 <BR> XTerm*font的那两行(一行在高解析度那段,一行在正常显示 <BR> 器那段)都会被更改,即使我们只需要改变正常显示器也不例 <BR> 外。 <BR> <BR> <BR>16.3 一些常见的错误和如何修正它们 <BR> <BR> 特别是当你对系统是新手的时候,resource看起来相当的复杂。当有些状 <BR>况不能正常执行,而系统无法帮助你查觉是什麽错误,或你在何处犯了错误, <BR>这里列出一些常见错误的明细,并提出如何修正它们。 <BR> <BR> .如果你未设定一个应用程式的名称和类别,确定在你的resource规格之 <BR> 前加一个星号,(如果你省略这个星号,将没有任何东西会对应这个规 <BR> 格)这个错误在你使用-xrm时特别常见,例如: <BR> <BR> xclock -xrm "update:3" (错误) <BR> xclock -xrm "*update:3" (正确) <BR> <BR> .并非所有的应用程式均使用Toolkit ,非Toolkit 的程式不使用类别, <BR> 且它们的属性名称也可能不同。例如,规格 <BR> <BR> *geometry: 300*400+500+600 <BR> <BR> 对xclock,xlogo 有效,但对xcalc 无效,因它不使用Toolkit ,xcalc <BR> 使用属性名称Geometry(开头为大写的G ),因为在这种情况,Toolkit <BR> 类别名称和xcalc 的属性名称相同,所以单独一个规格 <BR> <BR> *Geometry: 300*400+500+600 <BR> <BR> 可以对所有这类的应用程式有效。 <BR> <BR> .你可能在规格中用了错误的属性或Widget的名称,特别是容易把类别名 <BR> 称和成员名称搞混,例如:以下两者均错: <BR> <BR> xclock*Update: 10 <BR> xclock*interval: 10 <BR> <BR> 其它常见的错误如: <BR> <BR> xterm*Text*background:blue <BR> <BR> 它不能执行的原因为xterm 并未使用Text widget ,xterm 正常的视窗 <BR> 和Tektronix 的视窗分别使用widget类别 VT100和Tek 。最後,当你 <BR> 知道一个widget是什麽类别,你可能对成员名称假设错误,不是widget <BR> 本身便是其中之一的属性。试著更换类别名称来修正这个问题。 <BR> <BR> .即使你已设定实际的widget和属性名称或类别,应用程式可能以不是你 <BR> 预期的方式使用它们。例如:你可能设定如下: <BR> <BR> xterm*Width: 40 <BR> xterm*Height: 10 <BR> <BR> 意图用比平常较小的视窗启动xterm ,但它不能执行,xterm 只能在 <BR> Tektronix window应用这些值,无法在正常的视窗。 <BR> <BR> .你可能所有的设定完全正确,但仍然什麽也没发生,例如: <BR> <BR> xmh -xrm "*inc.Label: Include" <BR> <BR> 是一个正确的方式,执行xmh 并指定label 为inc 盒的必须被"Include"。 <BR> 但在标准系统的发行版,是没有任何动作发生的,原因是xmh 有一个应 <BR> 用程式设定预设值档案/usr/lib/X11/app-defaults/Xmh ,其中有一行: <BR> <BR> xmh*inc.label:Incorporate New Mail <BR> <BR> 这个规格较我们的设定有较高优先。 <BR> <BR> .将规格 <BR> <BR> *Width: 200 <BR> <BR> 单独包含在资料库将导致大多数的Toolkit 程式启始失败,且有一个 <BR> 讯息说它的"shell widget has zero height or width" 。如果你设定 <BR> height和width 二者之一,你必须也设定另外一个。 <BR> <BR> .如果你用编辑器建立一个resource档案,你可能省略了最後一个new line <BR> 这将导致当你试图用xrdb载入它时整个档案均被忽略。为了避免如此, <BR> 当载入resource时,用一个命令列像: <BR> <BR> xrdb resfile; xrdb -query <BR> <BR> 如果xrdb无法列印出resfile 中的内容,就是有问题了。 <BR> <BR> .你可能忘了用-xrm选项的引数来获得resource规格,有时有人会把 <BR> resource规格放入一个档案,而以档案名称为-xrm的引数,预期它自此 <BR> 档案中读取resources。 <BR> <BR> .最後,一个非常人性的错误,当你发生问题,你通常会循环动作:编辑 <BR> resource档案... 储存它... 载入resource到资料库... 执行应用程式 <BR> 和看一看发生什麽状况。”其中载入resource到资料库”常常会被忽略 <BR> 以致你更为困惑。 <BR> <BR>16.4 结论 <BR> <BR> 本章中,你已看过了所有你能设定resource的地方,为何有这麽多种的方 <BR>法,如何决定设定放置在何处。你看到如何使用xrdb程式在server实际地储存 <BR>预设值,它们在何处被server所有的client存取,甚至它们可以在远方的机器 <BR>上执行。最後,有一些关於常见错误的实际提示,告诉你什麽需要注意。 <BR> <BR> 你现在处於实际使用resources ,和剪裁你的系统适合你的口味,resource <BR>结构功能非常强大且有无限的弹性,所以它可让你定制任何你需要的事。刚开 <BR>始不妨试一些像字型或色彩之类简单的设定,当你熟於基本的结构时,再转到 <BR>更高水准的例子。 <BR> <BR> 下一章将告诉你如何使用特别形式的resource规格 -- Translations(转 <BR>译),来剪裁你的键盘以适於特别的应用程式。 <BR> <BR>===== <BR> <BR>第17章 定制你的键盘和滑鼠 -- 转译 <BR> <BR> 电脑的键盘通常含有一些 "特殊功能" (special function)键,在此有一 <BR>些方法来 "制定"(program)这些特殊功能键,使它们能完成特定的功能以适合 <BR>你工作的方式。例如,你可以定义一些键来输入那些你常用的命令,或只需按 <BR>一个键便能够输入一些程式的片段。 <BR> <BR> 在X中,你能制定的不只是功能键而已,其它一般的键和滑鼠的按钮也都 <BR>可制定。对每一个应用程式,你均可指定特别的功能给键盘和滑鼠按钮,或两 <BR>者之组合。 (例如在 xedit中你可以结合SHIFT 键和滑鼠的右按钮来让你向前 <BR>移动一个单字)。 所有使用X Toolkit的程式均允许使用者利用一个被称之为 <BR>键盘转译 (translations) 的设施来执行此种定义,且此种定义藉著正规的 <BR>resources 结构传递给应用程式。 (那些不使用X Toolkit的应用程式,同样 <BR>地也可以用相同的设施来制定, 但它们需个别的定义所以不能广泛地应用,从 <BR>现在起,我们假设每当讨论有关转译的种种,均为对那些使用X Toolkit的应 <BR>用程式而言。) <BR> <BR> 就如同所有的 resources一样,转译是当应用程式执行时才被处置。例如 <BR>你可以拥有数个具备不同转译设定的 xedit,在同时一起执行。( 你可以让一 <BR>个xedit 适合编辑本文,另一个适合编辑程式码,而另一个适合编辑文书)。 <BR> <BR> 本章讨论转译 -- 包刮它们的定义格式,如何将它们设定到应用程式,和 <BR>它们所涵盖功能的范围。我们首先以实例来介绍,逐渐地导引你看到不同的角 <BR>度。而後比较正式和详细地讨论转译。最後,我们列出当你使用转译时常会碰 <BR>到的错误,并给你一些如何克服这些问题的提示。 <BR> <BR>17.1 实际使用转译 <BR> <BR> Toolkit 转译结构最简单的用途便是让你制定你键盘的键。例如,当你使 <BR>用xterm 为一个执行一般shell 命令的视窗时,你可能希望定义一些特殊功能 <BR>键来输入你常用的命令,且希望指定的关系如下: <BR> <BR> 当我按下这个键时... 我希望这个字串被输入 <BR> <BR> F1 rm core *.tmp&
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -