⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 00000008.htm

📁 一份很好的linux入门资料
💻 HTM
📖 第 1 页 / 共 3 页
字号:
剪缓冲区插入本文。&nbsp;<BR>令列选&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;在你的建构档中定义一个选单共有两个步骤。首先你定义选单上所需的&nbsp;<BR>系结,其次你定义选单本身的内容。系结的部份像我们先前所用过的,但在尾&nbsp;<BR>端增加了一栏选单名称。例如WindowOps&nbsp;选单&nbsp;(藉著在背景视窗中按下中按钮&nbsp;<BR>来呼叫)的系结是:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;f.menu&nbsp;=&nbsp;:&nbsp;root&nbsp;:&nbsp;middle&nbsp;down&nbsp;:&nbsp;&quot;WindowOps&quot;&nbsp;<BR>&nbsp;<BR>在此,选单名称既是用以显示选单出现时的名称,也连结到建构档中的选单内&nbsp;<BR>容规格。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;选单内容的格式很简单:对每一个选择项,包含了一列当选择项出现在选&nbsp;<BR>单的&nbsp;&quot;名称&quot;&nbsp;,和当它被选择到时所做的动作。让我们观察一个缩水的WindowOps&nbsp;<BR>定义:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;menu&nbsp;=&nbsp;&quot;WindowOps&quot;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;New&nbsp;Window&nbsp;:&nbsp;!&quot;xterm&nbsp;&amp;&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;RefreshScreen&nbsp;:&nbsp;f.refresh&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Redraw&nbsp;:&nbsp;f.redraw&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;:&nbsp;f.move&nbsp;<BR>令列}□&nbsp;<BR>从这里,我们可以看到其语法为:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;menu&nbsp;=&nbsp;&quot;menu&nbsp;name&quot;&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;selection&nbsp;lines&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;<BR>选单名称和系结所指定的相同。选择项列包含了选择项名称,分隔的冒号,和&nbsp;<BR>负责的动作。这些动作为下列三者之一:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;1.一个uwm&nbsp;的功能:只用到它们的名称,在上例为move那一列。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;2.一个shell&nbsp;命令:命令包含在双引号中间&nbsp;(用shell&nbsp;的&amp;&nbsp;语法使其在背&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;景视窗中执行)&nbsp;且在前面加一个惊叹号。在上例为xterm&nbsp;那一列。&nbsp;(如&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;果你省&amp;&nbsp;,uwm&nbsp;将被悬置&nbsp;(hang)&nbsp;起来,等待命令的完成,如果此程式&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;为X的应用程式,它需要uwm&nbsp;来安排它的视窗,这将会招致麻烦)。&nbsp;<BR>&nbsp;<BR>令列3.一个本文字串:这将插入到一个&nbsp;&quot;剪&quot;&nbsp;的缓冲区,而後你可以像平常一&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;样的&nbsp;&quot;贴&quot;&nbsp;它。&nbsp;<BR>&nbsp;<BR>多种的选单连结到同一个键系结&nbsp;<BR>&nbsp;<BR>通常你对一个特定的键/按钮的组合,只会系结到一个选单,但你可以对同一个&nbsp;<BR>系结有多种选单:如果你在一个选单中不选择任何项目且把指标移动到选单的&nbsp;<BR>边上,你将得到下一个选单。你已经实际地看过这种例子:在同时按下META和&nbsp;<BR>SHIFT&nbsp;键的情况下按下中按钮,你可以得到WindowOps&nbsp;选单,然後是Preferences&nbsp;<BR>选单。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;系结多种选单非常的容易,只要在定义每一个系结时当作其它的系结并不&nbsp;<BR>存在,而在定义选单的内容时用标准的方式即可。例如uwm&nbsp;的预设设定包含了&nbsp;<BR>系结:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;f.menu&nbsp;=&nbsp;meta&nbsp;|&nbsp;shift&nbsp;:&nbsp;:&nbsp;middle&nbsp;down&nbsp;:&nbsp;&quot;WindowOps&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;f.menu&nbsp;=&nbsp;meta&nbsp;|&nbsp;shift&nbsp;:&nbsp;:&nbsp;middle&nbsp;down&nbsp;:&nbsp;&quot;Preferences&quot;&nbsp;<BR>&nbsp;<BR>注意一个选单只能定义一次,但你可以用它来做任意多次的系结。&nbsp;(查看预设&nbsp;<BR>设定,你将看到WindowOps&nbsp;选单被定义了一次但使用到两次)。&nbsp;<BR>令列&nbsp;<BR>指定选单的颜色&nbsp;<BR>&nbsp;<BR>你可以指定在一个选单中所用的色彩。对选单名称标题、每一个选择项、指标&nbsp;<BR>所在的高亮度选择项,你都可以指定一个前景和背景色彩。一个有色彩的选单&nbsp;<BR>的格式如下:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;menu&nbsp;=&nbsp;&quot;menu&nbsp;name&quot;&nbsp;(head-fg&nbsp;:&nbsp;head-bg&nbsp;:&nbsp;hilite-bg&nbsp;:&nbsp;hilite-fg)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;selection-name&nbsp;:&nbsp;(item-fg&nbsp;:&nbsp;item-bg)&nbsp;:&nbsp;action&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;...&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;<BR>&nbsp;<BR>以下为一个混合的□例,使你的WindowOps&nbsp;能拥有更多的色彩:&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;menu&nbsp;=&nbsp;&quot;WindowOps&quot;&nbsp;(yellow&nbsp;:&nbsp;blue&nbsp;:&nbsp;red&nbsp;:&nbsp;green)&nbsp;{&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;New&nbsp;Window&nbsp;:&nbsp;!&quot;xterm&nbsp;&amp;&quot;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;RefreshScreen&nbsp;:&nbsp;f.refresh&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Redraw&nbsp;:&nbsp;(navy&nbsp;:&nbsp;magenta)&nbsp;:&nbsp;f.redraw&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;:&nbsp;f.move&nbsp;<BR>令列}&nbsp;<BR>&nbsp;<BR>此选单标题为蓝底黄字,大多数的选择项为白底黑字&nbsp;(预设值),只有&nbsp;&quot;Move&quot;&nbsp;<BR>选择项为紫红色底海蓝色字,而目前指标所在的选择项为绿底红字。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;19.2.3&nbsp;控制uwm&nbsp;的参数变数&nbsp;<BR>&nbsp;<BR>到目前为止,你可以用指定滑鼠和键的前後关系,来改变所指定的功能。在此&nbsp;<BR>有一个另一种型态的uwm&nbsp;的定制:你可以藉此改变许多内建功能操作的作法&nbsp;(&nbsp;<BR>mode)&nbsp;和风格&nbsp;(style),例如你可以指定在resize或move操作下,指示视窗新&nbsp;<BR>的位置的九宫格,改变为只是一个外框而已。在指南页中有列出所有的变数和&nbsp;<BR>它的意义,在此我们只提一些特别有用的,和解释一些比较模糊的。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;让预设建构档中的设定无效:uwm&nbsp;并没有结构抑制读取系统和使用者建构&nbsp;<BR>档。(-b&nbsp;不会影响&nbsp;$HOME/.uwmrc)。欲取消早先档案中的设定,可以含入uwm&nbsp;<BR>的变数resetbinding、resetmenus和resetvariables,将会分别的取消早先定&nbsp;<BR>义的系结、选单和变数。&nbsp;(确定你将这些变数放在档案的顶端,否则它将取消&nbsp;<BR>在档案中所有在它之前的定义)。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;限制视窗和表徵图在萤幕的□围以内:X允许你指定你的视窗位於萤幕的&nbsp;<BR>任何位置,甚至部份或全部在萤幕之外,这样有时会引起麻烦。当你建立一个&nbsp;<BR>视窗,uwm&nbsp;并未提供任何的帮助。但当你使用f.newiconify对一个表徵图作解&nbsp;<BR>除表徵图化,如果变数normalw&nbsp;被设定,则视窗会被完整的放在萤幕中,且尽&nbsp;<BR>量接近你用指标指定的位置。&nbsp;(如果你包含了normali&nbsp;变数,同样可用於表徵&nbsp;<BR>图)。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;控制push作用:预设f.pushxxx&nbsp;功能将一个视窗往适当的方向推动一个像&nbsp;<BR>素的距离。你可以藉著指定&nbsp;push=num&nbsp;来推动num&nbsp;个像素。你也可以完全地改&nbsp;<BR>变操作的作法:取代通常的推动固定数目的像素的作法&nbsp;(叫做pushabsolute)&nbsp;<BR>,你可以指定pushrelative:这种情况视窗会被推动num&nbsp;分之一大小的视窗。&nbsp;<BR>例如如果你指定&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;push=5&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;pushrelative&nbsp;<BR>&nbsp;<BR>则一个f.pushup将把视窗向上推动视窗本身高度五分之一的距离。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;防止uwm&nbsp;功能锁定应用程式:预设一些uwm&nbsp;的操作,像resize和move会导&nbsp;<BR>致所有其它的client应用程式被冻结,也就是说,防止它们输出到它们的视窗&nbsp;<BR>。你可以藉著指定nofreeze取消它。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;如果你需要获得一些uwm&nbsp;所属短暂视窗的视窗倾印,则这是必需的&nbsp;(如在&nbsp;<BR>图6&nbsp;-&nbsp;6&nbsp;的resize盒)。&nbsp;它的副作用为当使用resize和move时,外框格会大量&nbsp;<BR>的闪动你以致难以看到。&nbsp;<BR>&nbsp;<BR>19.3&nbsp;结论&nbsp;<BR>&nbsp;<BR>&nbsp;<BR>本章告诉你如何使用一些更多的uwm&nbsp;的功能,现在你对系统有更多的经验且可&nbsp;<BR>以利用它们。特别是看到不用预设选单如何建构视窗,它使你工作的更迅速。&nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;本章的第二个部份,列出你如何能定制uwm&nbsp;:如何附属uwm&nbsp;的内建功能到&nbsp;<BR>指定修饰键和滑鼠动作的组合,如何定义一般性的选单,如何使用uwm&nbsp;的参数&nbsp;<BR>变数修改操作的作法。&nbsp;<BR>&nbsp;<BR>在结束之前说一点题外话,uwm&nbsp;和&nbsp;xterm、xclock、xedit等一样,只是server&nbsp;<BR>的一个client程式而已。所以,远端地执行uwm&nbsp;是可能的,例如在saturn执行&nbsp;<BR>uwm&nbsp;,但是指定&nbsp;-display&nbsp;venus:0,所以它是venus&nbsp;的视窗管理器。这解释&nbsp;<BR>了网路元素深殖於系统,在一般工作站,这只是好奇,但在X终端机&nbsp;(它不提&nbsp;<BR>供一般性目的的处理&nbsp;(processes))&nbsp;它实际地需要。&nbsp;<BR>&nbsp;<BR>我们现在接近尾声:你已有所有你执行视窗系统的所需的功能。你有视窗管理&nbsp;<BR>器、应用程式、便利的工具、视窗有关的公用程式、大□围的设施所以可以修&nbsp;<BR>改以适合你的显示器、你网路上的建构和你比较喜欢的工作。下一章,我们将&nbsp;<BR>会把目前所学的放在一起,告诉你如何管理你完整的工作周期,且我们将包含&nbsp;<BR>定义uwm&nbsp;选单和perferences的实际的□例。&nbsp;<BR>&nbsp;<BR><CENTER><H1>BBS水木清华站∶精华区</H1></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -