X Window 系统使用指南--进一步介绍uwm和如何定制它( 三 )


修饰键 (像META) 需被按下,或许作用只发生在指标位於一个表徵图上而非应
用程式视窗或背景视窗 。我们已实际的看过这些例子:此功能发生 ... 只有在这些 ... 只有指标在 ... 当这个
於... 修饰键被按下,此种型态的视窗 滑鼠事件发
而且... ,而且... 生时Resize META 一般视窗 按住中按钮
且移动WindowOps 没有 背景视窗 按住中按钮
选单WindowOps META 和 没有关系 按住中按钮
选单 SHIFT你藉著你的 .uwmrc(或其它的建构档)所包含的系结规格来指定系结 。规格
的格式和上面的表格类似,就像:uwm-function = modifIErs : window context : mouse events
( uwm 功能 = 修饰键 : 视窗的环境 : 滑鼠事件 )这些元素为:uwm 功能:uwm 的内建功能之一的名称 。例如功能f.move即是你用以移动视
窗的功能,f.lower 将视窗降低一层等等 。这些功能将於下更完整地描
述 。功能名称必需跟随著一个等号(=) 。修饰键:在运用上述功能时,当指定的滑鼠事件发生时,必需被按下的修饰键
表列 。正确的修饰键名称为:ctrl(或c),对CONTROL键 。meta(或m或mod1),对META键 。shift(或s),对SHIFT键 。lock(或l),对CAPSLOCK键 。这些名称必需正确的列出 。你可以使用一或二个修饰键,如果你使用两个
键,用一个 "|"符号来分开它们 。你可以省略整个修饰键表列 (即此功能对应於滑鼠事件发生时并没有修饰
键被按下),但尾端的冒号 ":" 不可省略 。视窗的环境:限制只有指标在萤幕上指定位置的型态符合特定条件时,功能
才会发生 。正确的环境如下:window(或w):指标必需位於一个应用视窗中 。icon(或i):指标必需位於一个表徵图中 。root(或r):指标必需位於根视窗或背景视窗中 。你可以指定任何数目的环境,用 "|" 来区隔它们 。如果你没有指定,则功能
的发生与指标位置无关 。滑鼠事件:何种滑鼠事件对应到此功能 。指定的事件为一个按钮名称 -- 任何的left(或l)middle(或m)right(或r)跟随著一个动作:down : 当按钮被按下时会符合 。
up : 当按钮被松开时会符合 。
delta : 当按钮被按下且移动超过一定数目的像素时会符合 。所有的这些你已实际使用过它们,在本章开头所描述的一些作用的系结为:f.resize = meta : window : middle delta
f.iconify = meta : icon : middle up
f.raise = meta : window|icon : right downuwm 的预设系结在档案 $TOP/clients/uwm/default.uwmrc,见图19 - 1 。┌————————————————————┐
│ p242-243 fig 19.1 │
│ │
│ 图19-1 预设的 .uwmrc 建构档 │
└————————————————————┘uwm 的内建功能uwm 的指南页列出可应用的功能 。你已经从图19 - 1见过其中大部份,你可以
看出,功能是和WindowOps及Preferences中的选项相关 。然而,有一个有关pushing视窗(f.pushleft, f.pushup等等)的功能集合你
从未见过 。pushing的意思为:你朝一个特定的方向移动一个视窗,移动的距离
固定 。这和f.move不同的是,後者以交谈的方式,指定视窗移动的方向和距离 。预设f.pushdown系结到同时按下CONTROL和META键,且按住中按钮 。试它几
次,你将发现你的视窗稍微移动了一点 -- push 功能对细部移动视窗非常有用 。另一个功能为f.moveopaque 。它也移动一个视窗,但不像f.move,它并不会
给你一个指示视窗新的位置的方格,你直接拖拽整个视窗本身 。这可以让整个萤
幕清爽些,但比较慢,且一般视窗移动时会有抖动的现像 。19.2.2 定义你自己的选单f.menu是一个非常强大的uwm 的功能:它让你定义你自己的选单 。此选单可选
用到uwm 本身的功能,或任何的shell 命令,或一个特定的动作,像是在一个

推荐阅读