运行 AIXwindows 窗口管理器(MWM)。
mwm -display Host:Display:ScreenID -xrm ResourceString -multiscreen -name Name -screens Name [ Name ... ]
mwm 命令运行 AIXwindows 窗口管理器(MWM)并且常常由显示或会话管理器启动。 AIXwindows 窗口管理器(MWM)是 X Window System 客户机,它提供窗口管理功能和一些会话管理功能。 它提供(由用户和程序员)方便控制窗口状态元素例如布局、大小、图标或正常显示,以及输入焦点所有权的功能。 它也提供会话管理功能例如停止一个客户机。
窗口管理器的外观和行为能通过改变特定资源的配置来更改。 资源在 X Defaults 下定义。
在缺省情况下,mwm 命令仅能管理由 -display 选项或 DISPLAY 环境变量(在缺省情况下,屏幕 0 )指定的单一屏幕。 如果指定 -multiscreen 选项或者 multiScreen 资源是 True,mwm 命令尝试管理显示器上的所有屏幕。
当 mwm 命令管理多个屏幕时,-screens 选项能用来给每个屏幕命名一个唯一的资源名。 名称由空格分开,例如,-screens mwm0 mwm1。如果屏幕数多于名称,剩余屏幕的资源使用第一个名字检索。 在缺省情况下,屏幕号用作屏幕名称。
有关窗口、图标、资源、事件、按钮和键绑定、菜单和变量的信息,请参阅以下部分:
缺省窗口管理器窗口框架有以下含相关功能的不同的组件:
图标是窗口的小型图形表示。 窗口能用窗口框架上的最小化按钮图标化(最小化)。图标提供一种减少屏幕上的混乱的方法。
当指针在图标上的时候按下鼠标左键会使图标的窗口菜单打开。 释放按钮(按下+不移动鼠标释放=单击)会使菜单保持张贴。 菜单包含以下选择:
选择 | 加速键 | 描述 |
---|---|---|
恢复 | Alt+F5 | 打开有关的窗口。 |
移动 | Alt+F7 | 允许图标和键一起移动。 |
大小 | Alt+F8 | 不活动的(不是图标的选项)。 |
最小化 | Alt+F9 | 不活动的(不是图标的选项)。 |
最大化 | Alt+F10 | 打开有关的窗口使之填充屏幕。 |
降低 | Alt+F3 | 把图标移动到图标栈的底部。 |
关闭 | Alt+F4 | 从窗口管理器管理中删除客户机。 |
在图标上按下按钮 3 也会使图标的窗口菜单打开。 要进行菜单选择,把指针拖动到菜单上,当所期望的项突出显示时释放按钮 3。
在图标上双击按钮 1 调用 f.restore_and_raise 函数,并且恢复图标的有关窗口到先前的状态。 例如,如果图标化最大化窗口,双击按钮 1 将它恢复到最大化状态。 在图标框的图标上双击按钮 1 打开图标框并允许访问所包含的图标。 (双击鼠标按钮是执行功能的快速方法。)按下 Shift+Esc 按键顺序或弹出菜单键会使当前选定图标的图标窗口菜单打开。
当图标开始混乱屏幕时,它们可以被压缩到图标框中。 (要使用图标框,窗口管理器必须在图标框配置已设置的情况下启动。) 图标框是保留客户机图标的窗口管理器窗口。 当窗口图标多于图标框同时能显示的图标时,该图标框就包含一个或多个滚动条。
图标框中的图标能由鼠标操作。 下列按钮操作的描述总结了该界面的行为。 一旦指针在图标的任意部分,按钮操作就能应用。双击图标框中的图标调用 f.restore_and_raise 函数。
按钮操作 | 描述 |
---|---|
单击按钮 1 | 选择图标。 |
双击按钮 1 | 规格化(打开)有关的窗口。 |
双击按钮 1 | 使已经打开的窗口出现在栈的顶部。 |
拖动按钮 1 | 移动图标。 |
按下按钮 3 | 使此图标的菜单打开。 |
拖动按钮 3 | 当指针移过菜单时突出显示各项。 |
当指针在图标上的时候按下鼠标按钮 3 会使图标菜单打开。
选择 | 加速键 | 描述 |
---|---|---|
恢复 | Alt+F5 | 打开有关的窗口(如果还未打开)。 |
移动 | Alt+F7 | 允许图标和键一起移动。 |
大小 | Alt+F8 | 不活动的。 |
最小化 | Alt+F9 | 不活动的。 |
最大化 | Alt+F10 | 打开有关的窗口(如果还未打开)且最大化其大小。 |
降低 | Alt+F3 | 不活动的。 |
关闭 | Alt+F4 | 从窗口管理器管理中删除客户机。 |
要下拉图标框本身的窗口菜单,当指针在图标框的菜单按钮时按下按钮 1。 图标框的窗口菜单与客户机窗口的窗口菜单不同:关闭选择由压缩图标(Shift+Alt+F7)选择替换。当被选定时,压缩图标选项压缩框中的图标以达到行整洁且没有空位。
也能够通过按 Shift+Esc 或 Alt+Space 按键顺序来张贴窗口菜单。按下弹出菜单键会使当前选定图标的图标窗口菜单打开。
mwm 命令支持(在缺省情况下)显式选择的键盘输入焦点策略。这意味着当窗口被选定来获取键盘输入时,它能继续获取键盘输入直至该窗口从窗口管理中撤销,另一个窗口被显式选定来获取键盘输入,或该窗口图标化为止。 一些资源控制输入焦点。带键盘输入焦点的客户机窗口具有活动的窗口外观,该窗口上有视觉上明显的窗口框架。
下表和键操作描述总结了键盘输入焦点选择的行为:
按钮操作 | 对象 | 功能描述 |
---|---|---|
按下按钮 1 | 窗口或窗口框架 | 键盘焦点选择 |
按下按钮 1 | 图标 | 键盘焦点选择 |
键操作 | 功能描述 |
---|---|
Alt+Tab | 把输入焦点移动到窗口堆栈的下一个窗口。 |
Alt+Shift+Tab | 把输入焦点移动到窗口堆栈的前一个窗口(仅在显式焦点方式中可用)。 |
有两种类型的窗口堆栈:全局的窗口堆栈和应用程序的本地系列窗口堆栈。
窗口的全局堆栈顺序可更改为设置键盘输入焦点、图标化窗口或执行窗口管理器窗口堆栈功能的结果。 当键盘焦点策略是显式时,focusAutoRaise 资源的缺省值是 True。当它接收输入焦点时,例如在标题栏中按下按钮 1,会使窗口出现在栈的顶端。 在先前列表中已定义的键操作,使得接收焦点的窗口出现在栈的顶端。
在指针方式下,focusAutoRaise 资源的缺省值是 False;即,当窗口接收到键盘输入焦点时,不会改变窗口堆栈顺序。 以下键操作能用来通过全局窗口堆栈循环:
键操作 | 功能描述 |
---|---|
Alt+Esc | 把顶上的窗口放在堆栈的底部。 |
Alt+Shift+Esc | 把底部的窗口放在堆栈的顶端。 |
在缺省情况下,当窗口图标化时,窗口的图标放置在堆栈的底部;然而,缺省值可由 lowerOnIconify 资源更改。
瞬态窗口(象对话框那样的辅助窗口)缺省情况下在其父窗口的上面。 然而,应用程序的本地系列堆栈顺序能够更改,从而允许瞬态窗口放置在父顶级窗口的下面。 以下参数值显示了对 f.lower 函数的堆放顺序的修改:
f.lower | 降低系列中的瞬态窗口(停留在父窗口的上面)并且降低全局窗口堆栈中的系列。 |
f.lower [within] | 降低系列中的瞬态窗口(停留在父代的上面)但不降低全局窗口堆栈中的系列。 |
f.lower [freeFamily] | 降低从其系列堆栈中分离出来的窗口(在父代下面),但不降低全局窗口堆栈中的系列。 |
within 和 freeFamily 参数值也能用于 f.raise 和 f.raise_lower 函数。
mwm 命令从其资源数据库中进行配置。该数据库从以下源中进行构建。 它们以优先顺序列出。
/usr/lib/X11/app-defaults/Mwm 和 $HOME/Mwm 文件名表示这些文件的习惯位置。 系统范围类资源文件的实际位置可能取决于 XFILESEARCHPATH 环境变量和当前的语言环境。特定于用户的类资源文件的实际位置可能取决于 XUSERFILESEARCHPATH 和 XAPPLRESDIR 环境变量以及当前的语言环境。
资源数据库中的条目能参考其它特定类型资源的资源文件。 这包括包含位图、字体、和 mwm 特定资源诸如菜单和行为规范(例如,按钮和键绑定)的文件。
Mwm 是 mwm 命令的资源类名称且 mwm 是 mwm 命令用来查找资源的资源名称。(为了查找多个屏幕的资源, -screens 命令行选项指定资源名诸如 mwm_b+w 和 mwm_color。)在以下资源规范的讨论中, “Mwm”和“mwm”(mwm 资源名的别名)可以互换使用, 但“mwm”优先于“Mwm”。mwm 命令使用资源的以下类型:
组件外观资源设置 | 这些资源指定窗口管理器用户界面组件的外观属性。 它们能应用于窗口管理器菜单、反馈窗口(例如,窗口重新配置反馈窗口)、客户机窗口框架和图标的外观。 |
框架和图标组件的资源设置 | 此组件外观资源的子集指定那些特定于框架和图标组件的属性。 |
常规外观和行为资源设置 | 这些资源指定 mwm 命令的外观和行为(例如,窗口管理策略)。 它们并不是单独为不同的 mwm 命令用户界面组件而设置的。 |
客户机特定资源设置 | 这些 mwm 资源能为特定的客户机窗口或客户机窗口类设置。 它们指定客户机特定的图标和客户机窗口框架的外观和行为。 |
资源标识可以是资源名(例如, foreground)或资源类(例如,Foreground)。如果资源值是一个文件名且该文件名以 ~/ 字符(代字号后面跟着斜线号)作为前缀,它就相对于包含在 HOME 环境变量(通常是用户的主目录)中的路径。
指定适用于窗口管理器图标、菜单和客户机窗口框架组件外观资源的语法如下:
Mwm*ResourceID
例如,Mwm*foreground 用于为 mwm 命令菜单、图标、客户机窗口框架和反馈对话框指定前景颜色。
指定适用于特定 mwm 组件的组件外观资源的语法如下:
Mwm*[Menu|Icon|Client|Feedback]*ResourceID
如果指定 Menu,资源仅应用于 Mwm 菜单; 如果指定 Icon,资源适用于图标; 而如果指定 Client,资源适用于客户机窗口框架。 例如,Mwm*Icon*foreground 用来为 mwm 命令图标指定前景颜色,Mwm*Menu*foreground 为 mwm 命令菜单指定前景颜色,Mwm*Client*foreground 用来为 mwm 命令客户机窗口框架指定前景颜色。
客户机窗口框架(包含窗口管理按钮)的标题区域外观能单独配置。 配置客户机窗口框架标题区域的语法如下:
Mwm*Client*Title*ResourceID
例如,Mwm*Client*Title*foreground 为标题区域指定前景颜色。标题区域资源的缺省值基于相应的客户机窗口框架资源值。
菜单的外观能基于菜单名来进行配置。 通过名称来指定菜单外观的语法如下:
Mwm*Menu*MenuName*ResourceID
例如,Mwm*Menu*MyMenu*foreground 为命名为 MyMenu 的菜单指定前景颜色。
用户也能为窗口管理器菜单组件(组成菜单的配件)指定资源。 例如,这些可能包含菜单标题、标题分隔符、一个或多个按钮以及分隔符。 如果菜单包含不止一个类的实例,比如多个 PushButtonGadget 配件,则第一个实例的名称是 PushButtonGadget1,第二个是 PushButtonGadget2,等等。下表标识了窗口管理器菜单组件使用的命名约定:
TitleName | 菜单标题 LabelGadget |
TitleSeparator | 菜单标题 SeparatorGadget |
CascadeButtonGadgetn | CascadeButtonGadget |
PushButtonGadgetn | PushButtonGadget |
SeparatorGadgetn | SeparatorGadget |
可以指定适用于所有窗口管理器部件的以下组件外观资源。
Mwm*ResourceID
例如,Mwm*keyboardFocusPolicy 为设置键盘焦点到一个特定的客户机窗口指定窗口管理器策略。
autoKeyFocus(类 AutoKeyFocus) | 控制是否将焦点设置到前一个已拥有焦点的窗口。 如果 autoKeyFocus 资源给定了 True 值,且具有键盘输入焦点的窗口从窗口管理中撤销或图标化,那么将焦点设置到前一个已拥有焦点的窗口。 如果给定的值为 False,那么就不存在键盘输入焦点的自动设置。 建议把 autoKeyFocus 资源和 startupKeyFocus 资源都设置为 True 值来处理浮动菜单。缺省值是 True。 该资源仅当键盘输入焦点策略设置为显式值时可用。 |
autoRaiseDelay(类 AutoRaiseDelay) | 以毫秒(ms)为单位指定 mwm 命令从获取键盘焦点后到提高窗口前等待的时间量。 该资源的缺省值是 500(毫秒)。该资源仅当 focusAutoRaise 资源为 True,且键盘焦点策略是指针值时可用。 |
bitmapDirectory(类 BitmapDirectory) | 标识用来搜索 mwm 资源所引用的位图的目录。如果位图没有指定绝对路径名,就搜索该目录。 该资源的缺省值是 /usr/include/X11/bitmaps。/usr/include/X11/bitmaps 目录代表该目录的习惯位置。该目录的实际位置在一些系统中可能有变化。 如果在指定的目录中没有找到位图, 就搜索 XBMLANGPATH 环境变量。 |
buttonBindings(类 ButtonBindings) | 标识窗口管理函数的按钮绑定集合。 按钮绑定的指定集合在 mwm 资源描述文件中进行指定。这些按钮绑定与内置缺省的绑定相合并。 该资源的缺省值是 DefaultButtonBindings。 |
cleanText(类 CleanText) | 控制客户机标题中的窗口管理器文本和反馈窗口的显示。 如果使用缺省值 True,则文本用空白(没有点画)背景绘制。 这使得文本在指定 backgroundPixmap 的单色系统中更易于读取。只有直接环绕在文本周围的区域中的点画是已清除的。 如果为 False,那么文本直接在现有背景的顶部进行绘制。 |
clientAutoPlace(类 ClientAutoPlace) | 当窗口没有用户指定的位置时,确定窗口位置。 如果值为 True,窗口就在水平垂直方向上偏移定位到框架的左上角。 如果值为 False,就使得当前配置的窗口位置得以使用。 在任一情况下,mwm 命令都试图把窗口完全放置在屏幕上。 缺省值是 True。 |
colormapFocusPolicy(类 ColormapFocusPolicy) | 表示将要使用的颜色映像图焦点策略。如果资源值是显式的,那么就在客户机窗口上进行颜色映像图选择操作来设置颜色映像图焦点到那个窗口。 如果值是指针,那么包含指针的客户机窗口具有颜色映像图焦点。 如果值是键盘,那么具有键盘输入焦点的客户机窗口拥有颜色映像图焦点。 该资源的缺省值是键盘。 |
configFile(类 ConfigFile) | 包含 mwm 资源描述文件的路径名。
如果路径名以 ~/ 字符开始,那么 mwm 命令认为它相对于用户的主目录(由 HOME 环境变量指定)。 如果设置了 LANG 环境变量,那么 mwm 命令寻找 $HOME/$LANG/configFile。如果该文件不存在或如果没有设置 LANG,那么 mwm 寻找 $HOME/configFile。 如果 configFile 路径名不以 ~/ 字符开始,那么 mwm 认为它与当前工作目录相关。 如果没有指定 configFile 资源或者如果该文件不存在,那么 mwm 命令使用一些缺省路径来查找配置文件。 如果设置了 LANG 环境变量,那么 mwm 命令寻找 $HOME/$LANG/.mwmrc 文件中第一个配置文件。如果该文件不存在或者如果没有设置 LANG 环境变量,那么 mwm 命令寻找 $HOME/.mwmrc 文件。如果 $HOME/.mwmrc 文件不存在且如果设置了 LANG 环境变量,那么 mwm 命令下一步寻找 /usr/lib/X11/$LANG/system.mwmrc 文件。如果 /usr/lib/X11/$LANG/system.mwmrc 文件不存在或者如果没有设置 LANG 环境变量,那么 mwm 命令寻找 /usr/lib/X11/system.mwmrc。 |
deiconifyKeyFocus(类 DeiconifyKeyFocus) | 当窗口是非图标化(规范化的)的时候,确定窗口是否接收键盘输入焦点。 缺省值是 True。该资源仅当键盘输入焦点策略设置为显式值时适用。 |
doubleClickTime(类 DoubleClickTime) | 设置形成双击的单击(按键按下)之间的最大时间(以 ms 为单位)。 该资源的缺省值是显示器的 multiclick 时间。 |
enableWarp(类 EnableWarp) | 使 mwm 命令在键盘控制调整大小和移动操作时把指针转向选定的窗口中间。 把值设置为 False 会导致 mwm 命令把指针放置到屏幕原来的位置上,除非用户显式地用光标键或定位设备把它移开。 该资源的缺省值是 True。 |
enforceKeyFocus(类 EnforceKeyFocus) | 确定键盘输入焦点是否总是显式地设置为选定的窗口,即使存在指示表明它们时全局活动的输入窗口。(全局活动窗口的一个示例是滚动条,它可以不需要为客户机设置焦点而进行操作。) 如果资源是 False,键盘输入焦点并不是显式地设置为全局活动窗口。 缺省值是 True。 |
fadeNormalIcon(类 FadeNormalIcon) | 确定图标无论何时规范化(其窗口打开)是否都不可用。 缺省值是 False。 |
feedbackGeometry(类 FeedbackGeometry) | 设置移动和调整反馈窗口的位置。如果没有指定该资源,缺省是把反馈窗口定位到屏幕中央。
该资源值是具有下列语法的标准窗口几何学字符串:
[=][{+-}XOffset{+-}YOffset] |
frameBorderWidth(类 FrameBorderWidth) | 以像素为单位指定客户机窗口框架边界的宽度,而不做调整大小的处理。 边界宽度包含三维(3-D)阴影。 缺省值基于屏幕大小和分辨率。 |
iconAutoPlace(类 IconAutoPlace) | 表示窗口管理器是否重排在屏幕特定区域的图标或将每个图标放置到窗口图标化时的位置。 True 值表示根据 iconPlacement 资源来决定图标排列在特定的屏幕区域。False 值表示把图标放置到窗口图标化时所在的位置。 缺省值是 True。 |
iconBoxGeometry(类 IconBoxGeometry) | 表示图标框初始位置和大小。该资源的值具有以下语法的标准窗口几何学字符串:
[=][WidthxHeight][{+-}XOffset{+-}YOffset] 如果没有提供偏移量,iconPlacement 策略用来决定初始位置。 宽度和高度的单元是列和行。 图标框窗口的真实屏幕大小取决于 iconImageMaximum(大小)和 iconDecoration 资源。 大小的缺省值是(6 倍的 iconWidth + padding)宽乘以 (1 倍的 iconHeight + padding)高。位置的缺省值是 +0 -0。 |
iconBoxName(类 IconBoxName) | 指定用于查找图标框资源的名称。缺省名称是 iconbox。 |
iconBoxSBDisplayPolicy(类 IconBoxSBDisplayPolicy) | 指定图标框中窗口管理器的滚动条显示策略。 资源具有以下三种可能值:全部、垂直和水平。 缺省值“全部”会导致垂直和水平滚动条始终都显示。 垂直值会导致单个垂直滚动条在图标框中显示,且设置图标框的方向为水平(不管 iconBoxGeometry 规范)。水平值会导致单个水平滚动条在图标框中显示,且设置图标框的方向为垂直(不管 iconBoxGeometry 规范)。 |
iconBoxTitle(类 IconBoxTitle) | 指定在图标框框架的标题栏中使用的名称。 缺省值是“图标”。 |
iconClick(类 IconClick) | 指定是否传递系统菜单,以及是否在单击图标时保持传递。 缺省值是 True。 |
iconDecoration(类 IconDecoration) | 指定常规图标修饰。资源值是标号(仅标号部分显示)或图像(仅图像部分显示)或标号图像(标号和图像都显示)。 活动标号值也可以指定为当图标选中时获取标号(不截短图标宽度)。 图标框的图标缺省修饰是每个图标都有一个标号部分和图像部分(标号图像)。 独立图标的缺省修饰是每个图标都有一个活动标号部分、一个标号部分和一个图像部分(活动标号、标号和图像)。 |
iconImageMaximum(类 IconImageMaximum) | 指定图标图像的最大尺寸。资源值是宽度 x 高度(例如,64x64)。所支持的最大尺寸是 128x128。该资源的缺省值是 50x50。 |
iconImageMinimum(类 IconImageMinimum) | 指定图标图像最小尺寸。资源值是宽度 x 高度(例如,32x50)。所支持的最小尺寸是 16x16。该资源的缺省值是 16x16。 |
iconPlacement(类 IconPlacement) | 指定使用图标放置安排。资源值有以下语法:
PrimaryLayout SecondaryLayout [Tight] 布局值如下之一进行描述: |
PrimaryLayout 和 SecondaryLayout 都不需要使用水平(垂直)布局(例如,请勿对 PrimaryLayout 使用顶部以及对 SecondaryLayout 使用底部)。 PrimaryLayout 表示在放置图标时图标是否放置在一行上或一列上,并表示了放置的方向。 SecondaryLayout 表示在何处放置新的行或列。 |
|
例如,右上值表示图标应该从上至下放置到屏幕上并且行应该从右至左添加到屏幕上。 缺省的放置是左下值(图标从左至右放置到屏幕上,并且第一行放置到屏幕的底部,新的行从屏幕底部向屏幕顶部添加)。 紧值是图标之间无空格放置图标。 该值的使用是为美观的原因,也是为小屏幕终端。 |
|
下面是 iconPlacement 值的选项列表:
|
|
iconPlacementMargin(类 IconPlacementMargin) | 设置屏幕边和沿着屏幕边放置的图标之间的距离。值应该大于或等于 0。如果指定的值无效,就使用缺省值。 该资源的缺省值等于放置在屏幕上的图标之间的空间(该空间基于每行和每列的图标的最大数目)。 |
interactivePlacement(类 InteractivePlacement) | 控制屏幕上新窗口的初始放置。如果值是 True,在新窗口放置到屏幕上之前更改指针的形状向用户表示窗口的左上角位置需要被选定。 如果值是 False,窗口根据初始窗口配置属性放置。 该资源的缺省值是 False。 |
keyBindings(类 KeyBindings) | 识别窗口管理函数的键绑定设置。 如果该值指定,这些键绑定替换内置缺省绑定。键绑定的指定设置由 mwm 资源描述文件指定。 该资源的缺省值是 DefaultKeyBindings。 |
keyboardFocusPolicy(类 KeyboardFocusPolicy) | 确定键盘焦点策略。如果设置为指针值,键盘焦点策略把键盘焦点设置到包含指针的客户机窗口(该指针也可能在 mwm 命令添加的客户机窗口修饰中)。如果设置为显式值,当用户在与客户机窗口上的指针或与 mwm 修饰相关的任意部分同时按下鼠标左键时,该策略把键盘焦点设置到客户机窗口上。 该资源的缺省值是显式的。 |
limitResize(类 LimitResize) | 确定是否允许用户把窗口大小调整到比最大尺寸更大。 如果该资源是 True,用户不允许把窗口大小调整到比最大尺寸更大。 该资源的缺省值是 True。 |
lowerOnIconify(类 LowerOnIconify) | 确定当窗口图标化(最小化)时窗口图标是否显示在窗口堆栈的底部。 值 False 把图标放置到与其相关窗口相同位置的堆栈序列中。 该资源的缺省值是 True。 |
maximumMaximumSize(类 MaximumMaximumSize) | 根据用户或客户机设置限制客户机窗口的最大尺寸。 资源值是宽度 x 高度(例如,1024x1024),宽度和高度是以像素为单位。 该资源的缺省值是屏幕宽度和高度的两倍。 |
moveOpaque(类 MoveOpaque) | 控制实际窗口是否移动或窗口的矩形轮廓是否移动。 缺省值 False 显示移动操作的矩形轮廓。 |
moveThreshold(类 MoveThreshold) | 控制移动窗口和图标的拖动操作的灵敏度。 该资源值是移动操作触发前定位器按下按钮移动的像素量。 这用于防止单击或双击时的窗口和图标的移动,这里的移动是指按钮按下时无意识的指针移动。 该资源的缺省值是 4(像素)。 |
multiScreen(类 MultiScreen) | 确定 mwm 命令是否管理所有显示器上的屏幕。 如果为 False,mwm 命令只管理单一屏幕。 缺省值是 False。 |
passButtons(类 PassButtons) | 表示在按钮按下事件用于执行客户机上下文中的窗口管理器函数后,是否把它们传递给客户机。 如果该资源值是 False,按钮按下事件不传递给客户机。如果值为 True,按钮按下事件传递给客户机窗口。窗口管理器函数在任何情况下都要执行。 该资源的缺省值是 False。 |
passSelectButton(类 PassSelectButton) | 表示在选择按钮按下事件用于执行客户机上下文中的窗口管理器函数后,是否把它们传递到客户机。 如果该资源值是 False,按钮按下事件不传递给客户机。如果值为 True,按钮按下事件传递给客户机窗口。窗口管理器函数在任何情况下都要执行。 该资源的缺省值是 True。 |
positionIsFrame(类 PositionIsFrame) | 表示如何解释窗口位置信息(来自 WM_NORMAL_HINTS 属性和配置请求)。 如果该资源值是 True,则信息解释为 MWM 客户机窗口框架的位置。如果值是 False,则将其解释为是窗口的客户机区域位置。 该资源的缺省值是 True。 |
positionOnScreen(类 PositionOnScreen) | 表示窗口应该初始放置(如果可能)以使它们不会被屏幕边缘剪切(如果资源值是 True)。 如果窗口比屏幕尺寸大,那么窗口的左上角至少要在屏幕范围中。 如果资源值是 False,即使窗口完全偏离屏幕,也应该放置在请求的位置。 该资源的缺省值是 True。 |
quitTimeout(类 QuitTimeout) | 以毫秒为单位指定 mwm 命令发送 WM_SAVE_YOURSELF 消息后,mwm 命令等待客户机更新 WM_COMMAND 属性的时间数。此协议仅用于那些在 WM_PROTOCOLS 客户机窗口属性中具有 WM_SAVE_YOURSELF 原子而没有 WM_DELETE_WINDOW 原子的客户机。该资源的缺省值是 1000(毫秒)。 请参阅 f.kill 函数以获得其它信息。 |
raiseKeyFocus(类 RaiseKeyFocus) | 指定通过 f.normalize_and_raise 函数提升的窗口是否也接收输入焦点。该资源的缺省值是 False。该资源仅当键盘输入焦点策略设置为显式值时可用。 |
resizeBorderWidth(类 ResizeBorderWidth) | 用调整大小句柄指定客户机窗口框架边框的宽度(以像素为单位)。 指定的边框宽度包含三维阴影。缺省值基于屏幕大小和分辨率。 |
resizeCursors(类 ResizeCursors) | 表示当指针在窗口大小边框内时调整大小的光标是否始终能够显示。 如果为 True,显示光标;否则,显示窗口管理器光标。 缺省值是 True。 |
screens(类 Screens) | 为 mwm 命令管理的屏幕指定使用的资源名。如果 mwm 命令管理单一屏幕,仅有列表中的第一个名称在使用。 如果 mwm 命令管理多个屏幕,从屏幕 0 开始按序把名称分配给屏幕。例如,屏幕 0 获取第一个名称,而屏幕 1 获取第二个名称。 缺省屏幕名称的示例是 0 和 1。 |
showFeedback(类 ShowFeedback) | 控制何时显示反馈信息。它控制在移动或调整大小的操作过程中的窗口位置和大小的反馈信息以及初始客户机放置。
它也控制窗口管理器消息和对话框。
该资源的值是启用或禁用的反馈选项的名称列表;名称必须用空格隔开。 如果一个选项的前面有一个减号标记,那么该选项排除在列表外。列表中的第一项标记确定选项的初始设置。 如果第一选项的标记是 -(减标记),那么 mwm 命令假定所有选项都有,并开始从集合中减去。 如果第一修饰的标记是 +(加标记)或者不指定,那么 mwm 命令开始没有任何选项,然后从资源中逐步建立一个列表。 反馈选项的名称如下:
以下命令行说明 showFeedback 资源的语法: Mwm*showFeedback: placement resize behavior restart 该资源规范提供初始客户机的放置和调整大小的反馈,且它使对话框能够确认重新启动和设置行为函数。 它禁用移动函数的反馈。 以上所有是该资源的缺省值。 |
startupKeyFocus(类 StartupKeyFocus) | 确定当窗口映射时(也就是说,由窗口管理器初始管理)窗口是否获取键盘输入焦点。 建议 autoKeyFocus 资源和 startupKeyFocus 资源都设置为 True 值来处理浮动菜单。 缺省值是 True。该资源仅当键盘输入焦点策略设置为显式值时可用。 |
transientDecoration(类 TransientDecoration) | 控制 Mwm 放置于瞬态窗口的修饰数目。
修饰规范完全与 clientDecoration(客户机特定的)资源相同。瞬态窗口由
WM_TRANSIENT_FOR 属性识别,该属性由客户机添加来表示有关的临时窗口。
该资源的缺省值是菜单标题值(即,瞬态窗口具有带窗口菜单按钮的调整大小的边框和标题栏)。
应用程序也能指定窗口管理器应该将哪种修饰应用于其窗口。 如果这么做了,那么窗口管理器只应用由应用程序和 transientDecoration 资源共同表示的那些修饰。否则,窗口管理器只应用由 transientDecoration 资源表示的修饰。 |
transientFunctions(类 TransientFunctions) | 表示哪些窗口管理函数可适用(或不可适用)于瞬态窗口。
函数规范完全与 clientFunctions(客户机特定的)资源相同。
该资源的缺省值是 -minimize -maximize。
应用程序也能指定窗口管理器应该对其窗口应用哪些功能。 如果这么做了,那么窗口管理器只应用由应用程序和 transientFunctions 资源共同表示的那些函数。 否则,窗口管理器只应用 transientFunctions 资源表示的函数。 |
useIconBox(类 UseIconBox) | 确定是否将图标放置在图标框中。如果该资源给定值为 True,则图标放置在图标框中。当不使用图标框时,图标放置在根窗口上(缺省值)。 |
wMenuButtonClick(类 WMenuButtonClick) | 表示当指针指向窗口菜单按钮时,窗口菜单是否被传递并且在鼠标单击后仍保持传递。如果该资源给定值是 True,菜单保持传递。 True 是该资源的缺省值。 |
wMenuButtonClick2(类 WMenuButtonClick2) | 表示窗口菜单按钮上的双击操作是否执行 f.kill 函数。 当该资源给定缺省值是 True 时,窗口菜单按钮上的双击操作执行 f.kill 函数。 |
指定客户机特定资源的语法如下:
Mwm*ClientNameOrClass*ResourceID
例如,Mwm*mterm*windowMenu 用于指定 mterm 客户机使用的窗口菜单。
为所有客户机类指定客户机特定资源的语法如下:
Mwm*ResourceID
特定的客户机规范优先于所有客户机的规范。 例如,Mwm*windowMenu 用于指定没有指定窗口菜单的全部客户机类使用的窗口菜单。
为未知名称和类(即,没有与它们相关的 WM_CLASS 属性的窗口)的窗口指定资源值的语法如下:
Mwm*defaults*ResourceID
例如,Mwm*defaults*iconImage 用于指定未知名称和类的窗口使用的图标图像。
名称 | 类 | 值类型 | 缺省值 |
---|---|---|---|
clientDecoration | ClientDecoration | 全部 | |
clientFunctions | ClientFunctions | 字符串 | 全部 |
focusAutoRaise | FocusAutoRaise | True 或 False | 变更 |
iconImage | IconImage | 路径名 | (图像) |
iconImageBackground | Background | 颜色 | 图标背景 |
iconImageBottomShadowColor | Foreground | 颜色 | 图标底部阴影 |
iconImageBottomShadowPixmap | BottomShadowPixmap | 颜色 | 图标底部阴影像素图 |
iconImageForeground | Foreground | 颜色 | 变更 |
iconImageTopShadowColor | Background | 颜色 | 图标顶部阴影色 |
iconImageTopShadoPixmap | TopShadowPixmap | 颜色 | 图标顶部阴影像素图 |
matteBackground | Background | 颜色 | 背景 |
matteBottomShadowColor | Foreground | 颜色 | 底部阴影色 |
matteBottomShadowPixmap | BottomShadowPixmap | 颜色 | 底部阴影像素图 |
matteForeground | Foreground | 颜色 | 前景 |
matteTopShadowColor | Background | 颜色 | 顶部阴影色 |
matteTopShadowPixmap | TopShadowPixmap | 颜色 | 顶部阴影像素图 |
matteWidth | MatteWidth | 像素 | 0 |
maximumClientSize | MaximumClientSize | wxh、垂直、水平 | 填充屏幕 |
useClientIcon | UseClientIcon | True 或 False | False |
usePPosition | UsePPosition | 字符串 | 非零 |
windowMenu | WindowMenu | 字符串 | DefaultWindowMenu |
clientDecoration(类 ClientDecoration) | 控制窗口框架修饰的数目。该资源指定为修饰列表来指定其框架中的包含物。
如果修饰以 -(减标记)开头,该修饰排除在框架之外。
列表中的第一项标记确定修饰的初始数目。
如果第一个修饰的标记为减号,那么 mwm 命令假定所有的修饰都有,并开始从集合中减去。
如果第一个修饰的标记为加号(或不指定),那么
mwm 命令不以任何修饰开始,并从资源中建立一个列表。
应用程序也能指定 mwm 命令应该将哪种修饰应用于其窗口。如果这么做了, mwm 命令只应用由应用程序和 clientDecoration 资源共同表示的那些修饰。 否则,mwm 命令应用由 clientDecoration 资源表示的修饰。以下是一个窗口框架修饰的列表:
以下是窗口框架修饰命令的示例: Mwm*XClock.clientDecoration: -resizeh -maximize 它从 XClock 窗口删除调整大小句柄和“最大化”按钮。 Mwm*XClock.clientDecoration: menu minimize border 它从 XClock 窗口删除调整大小句柄和“最大化”按钮。注:任一菜单 或者最小化意味着标题。 |
clientFunctions(类 ClientFunctions) | 表示哪些 mwm 函数适用(或不适用)于客户机窗口。
该资源值是函数列表。
如果列表中的第一个函数之前有 -(减标记),那么 mwm 命令开始时包含所有的函数,并从集合中减去。
如果列表中的第一个函数之前有 +(加标记),那么 mwm 命令开始时没有函数,并构建一个列表。
列表中的每个函数必须以相应的 +(加)或 -(减)标记开始,并用空格与下一个函数隔开。
应用程序也能指定 mwm 命令应该将哪种函数应用于其窗口。 如果这么做了,mwm 命令只应用由应用程序和 clientFunctions 资源共同表示的那些函数。否则,mwm 命令应用由 clientFunctions 资源表示的函数。 以下是该资源可用的函数列表: |
focusAutoRaise(类 FocusAutoRaise) | 确定当客户机获取键盘输入焦点时是否唤醒客户机。 如果值是 False,那么当窗口获取键盘输入焦点时不更改显示的窗口堆栈。 当 keyboardFocusPolicy 是显式值时缺省值是 True,而当 keyboardFocusPolicy 是指针值时是 False。 |
iconImage(类 IconImage) | 为客户机指定图标图像(例如,Mwm*myclock*iconImage)。资源值是位图文件的路径名。 (客户机特定的)useClientIcon 资源值用于确定用户提供的图标图像是否代替客户机提供的图标图像使用。 缺省值是显示内置窗口管理器图标图像。 |
iconImageBackground(类 Background) | 指定在图标图像部分显示的图标图像背景色。 该资源的缺省值是图标背景色(即,由 Mwm*background 或 Mwm*icon*background 指定)。 |
iconImageBottomShadowColor(类 Foreground) | 指定在图标图像部分显示的图标图像底部阴影色。 该资源的缺省值是图标底部阴影色(即, 由 Mwm*icon*bottomShadowColor 指定)。 |
iconImageBottomShadowPixmap(类 BottomShadowPixmap) | 指定在图标图像部分显示的图标图像底部阴影像素图。 该资源的缺省值是图标底部阴影像素图(即,由 Mwm*icon*bottomShadowPixmap 指定)。 |
iconImageForeground(类 Foreground) | 指定在图标图像部分显示的图标图像前景色。 该资源的缺省值可根据图标背景变更。 |
iconImageTopShadowColor(类 Background) | 指定在图标图像部分显示的图标图像顶部阴影色。 该资源的缺省值是图标顶部阴影色(即,由 Mwm*icon*topShadowColor 指定)。 |
iconImageTopShadowPixmap(类 TopShadowPixmap) | 指定在图标图像部分显示的图标图像顶部阴影像素图。 该资源的缺省值是图标顶部阴影像素图(即,由 Mwm*icon*topShadowPixmap 指定)。 |
matteBackground(类 Background) | 指定 matteWidth 资源是正值时的 matte 背景色。该资源的缺省值是客户机背景色(即,由 Mwm*background 或 Mwm*client*background 指定)。 |
matteBottomShadowColor(类 Foreground) | 指定 matteWidth 资源是正值时的 matte 底部阴影色。该资源的缺省值是客户机底部阴影色(即,由 Mwm*bottomShadowColor 或 Mwm*client*bottomShadowColor 指定)。 |
matteBottomShadowPixmap(类 BottomShadowPixmap) | 指定 matteWidth 是正值时的 matte 底部阴影像素图。该资源的缺省值是客户机底部阴影像素图(即,由 Mwm*bottomShadowPixmap 或 Mwm*client*bottomShadowPixmap 指定)。 |
matteForeground(类 Foreground) | 指定 matteWidth 资源是正值时的 matte 前景色。该资源的缺省值是客户机前景色(即,由 Mwm*foreground 或 Mwm*client*foreground 指定)。 |
matteTopShadowColor(类 Background) | 指定 matteWidth 资源是正值时的 matte 顶部阴影色。该资源的缺省值是客户机顶部阴影色(即,由 Mwm*topShadowColor 或 Mwm*client*topShadowColor 指定)。 |
matteTopShadowPixmap(类 TopShadowPixmap) | 指定 matteWidth 资源是正值时的 matte 顶部阴影像素图。该资源的缺省值是客户机顶部阴影像素图(即,由 Mwm*topShadowPixmap 或 Mwm*client*topShadowPixmap 指定)。 |
matteWidth(类 MatteWidth) | 指定可选 matte 的宽度。缺省值是 0,它有效禁用 matte。 |
maximumClientSize(类 MaximumClientSize) | 表示当应用程序最大化时所使用的客户机大小。 该资源值指定为宽度 x 高度。宽度和高度在客户机使用的部件中得以解释(例如,通常是指字符终端仿真器)。 作为选择,垂直或水平值能指定来表示客户机最大化的方向。 如果没有指定该资源,那么使用 WM_NORMAL_HINTS 属性设置的最大尺寸如果已对其进行了设置。 否则,缺省值是窗口管理边框填充屏幕时的客户机窗口的大小。 当客户机最大尺寸不是当最大客户机大小未由 maximumClientSize 资源确定时,maximumMaximumSize 资源值就用于对最大尺寸的约束。 |
useClientIcon(类 UseClientIcon) | 确定客户机提供的图标图像是否优先于用户提供的图标图像。 缺省值是 False,给予用户提供的图标图像比客户机提供的图标图像更高的优先权。 |
usePPosition(类 UsePPosition) | 指定窗口管理器在缺少用户指定的位置的情况下,是否使用在 WM_NORMAL_HINTS 属性中指定的程序特定的 PPosition 位置。 设置该资源为“打开”会导致 mwm 命令始终获得程序特定的位置。 设置该资源为“关闭”会导致 mwm 命令忽略程序特定的位置。 设置该资源为非零的缺省值会导致 mwm 命令获得程序特定的位置而不是 (0,0)。 |
windowMenu(类 WindowMenu) | 表示当窗口菜单打开时(通常通过按下位于客户机窗口框架的“窗口菜单”按钮上的按钮 1)传递的菜单窗格名称。在 mwm 资源描述文件中指定菜单窗格。可以通过指定格式 Mwm*ClientNameOrClass*windowMenu 的资源来在客户机基础上定制窗口菜单(请参阅 mwm Resource Description File Syntax 获取更多信息。)该资源的缺省值是 DefaultWindowMenu。 |
mwm 资源描述文件是一个增补资源文件,包含缺省文件(.Xdefaults、app-defaults/Mwm)中的条目所引用的资源描述。它包含 mwm 命令将要使用的资源描述,并且在缺省文件(位图文件是资源描述文件的模拟类型)中不易编码。 特殊的 mwm 资源描述文件可以通过使用 configFile 资源来选择。
以下资源类型可以在 mwm 资源描述文件中描述:
buttons | 窗口管理器函数可以和按钮事件绑定(相关)。 |
keys | 窗口管理器函数可以和按键事件绑定(相关)。 |
menus | 菜单窗格可以用于窗口菜单和其它用按键绑定和按钮绑定进行传递的其它菜单。 |
mwm 资源描述文件是包含用空格、制表符和换行符分隔的信息的项的标准文本文件。 忽略空白行。可以引用项或字符以避免特殊的解释(例如,#(注释符)可以引用来防止误解释为注释字符)。 引用的项可以包含在“”(双引号)。在单个字符前添加 \ (反斜杠) 就可以引用。 所有从非引用的 #(注释符)开始到行末尾的文本被当作注释,而且不会解释为资源描述的一部分。 如果 !(感叹号)是一行的首字符,该行就认作是注释。 如果一行以 \ (反斜杠) 结束,下一行就认为是该行的延续。
窗口管理器功能可以通过按钮和键绑定以及窗口管理器菜单来访问。 功能表示为按钮和键绑定设置以及菜单窗格规范的一部分。 功能规范语法如下:
Function = FunctionName [FunctionArguments] FunctionName = Window Manager Function FunctionArguments = {QuotedItem | UnquotedItem}
支持以下功能。如果所指定的功能不是所支持的功能之一,那么 mwm 命令将其解释为 f.nop 函数。
f.beep | 导致蜂鸣声。 |
f.circle_down [Icon | Window] | 使在窗口堆栈顶部的窗口或图标放到窗口堆栈底部(因此就不再会隐盖任何其它窗口或图标)。 该函数只影响那些隐盖其它窗口和图标的窗口和图标或者被其它窗口和图标隐盖的窗口和图标。 辅助窗口(即,瞬态窗口)和它们相关的主窗口一起重新压入堆栈。 辅助窗口通常停在相关主窗口的顶部,且在辅助窗口和它们的主窗口中间没有其它主窗口。 如果指定了图标函数参数,该函数只能应用于图标。 如果指定了窗口函数参数,该函数只能应用于窗口。 |
f.circle_up [Icon | Window] | 将窗口或图标从窗口堆栈底部提出(因此不会被任何其它窗口隐盖)。 该函数只影响那些隐盖其它窗口和图标的窗口和图标或者被其它窗口和图标隐盖的窗口和图标。 辅助窗口(即,瞬态窗口)和它们相关的主窗口一起重新压入堆栈。 如果指定了图标函数参数,该函数只能应用于图标。 如果指定了窗口函数参数,该函数只能应用于窗口。 |
f.exec 或 ! | 导致命令运行(使用 MWMSHELL 环境变量的值,如果已设置;否则,使用 SHELL 环境变量的值,如果已设置;再则,使用 /usr/bin/sh)。! 符号可以在 f.exec 函数名称中使用。 |
f.focus_color | 设置颜色映像图焦点至客户机窗口。如果该函数在 root 用户上下文中使用,那么缺省的颜色映像图(在运行 MWM 的屏幕上由 X Window System 安装)会被安装,且没有特定的客户机窗口颜色映像图焦点。该函数当作 f.nop,如果 colormapFocusPolicy 没有设置为显式值。 |
f.focus_key | 为客户机窗口或图标设置键盘输入焦点。如果 keyboardFocusPolicy 没有设置为显式值或该函数在 root 用户上下文中运行,则该函数被当作 f.nop。 |
f.kill | 停止客户机。如果 WM_DELETE_WINDOW 协议已安装,那么客户机会收到客户机消息事件表明需要删除客户机窗口。
如果 WM_SAVE_YOURSELF
协议已安装,而 WM_DELETE_WINDOW 协议没有安装,那么客户机会收到客户机消息事件说明需要准备停止客户机。
如果客户机没有安装 WM_DELETE_WINDOW 或 WM_SAVE_YOURSELF
,那么该功能导致客户机的 X 连接将停止(通常导致客户机的终止)。
请参阅 quitTimeout 资源的描述。 |
f.lower [-Client | within | freeFamily] | 将客户机窗口降低至窗口堆栈的底部(该处不会隐盖其它窗口)。 辅助窗口(即,瞬态窗口)和它们相关的主窗口一起重新压入堆栈。 客户机参数表示要压入的客户机名或类。如果客户机参数没有指定,函数启动的上下文表示要压入的窗口或图标。 |
f.maximize | 导致客户机窗口以最大尺寸显示。 |
f.menu | 将级联(右拉)菜单与菜单窗格条目或与带有按钮或按键绑定的菜单相关联。 menu_name 函数参数标识将使用的菜单。 |
f.minimize | 导致客户机窗口图标化(最小化)。当窗口最小化且没有使用图标框时,它的图标放置在窗口堆栈的底部(因此不会隐盖其它窗口)。 如果使用图标框,客户机的图标将更改为其图标框中的图标化形式。 辅助窗口(即,瞬态窗口)和它们相关的主窗口一起最小化。 主窗口及其所有辅助窗口只有一个图标。 |
f.move | 导致客户机窗口交互移动。 |
f.next_cmap | 为带有颜色映像图焦点的窗口在颜色映像图列表中安装下一个颜色映像图。 |
f.next_key [ Icon | Window | Transient ] | 在由窗口管理器管理的窗口和图标设置中设置下一个窗口的键盘输入焦点(此设置的顺序基于屏幕上的窗口堆栈)。 该函数当作 f.nop,如果 keyboardFocusPolicy 不是显式值。键盘输入焦点只移动到没有应用模式的关联辅助窗口的窗口。 如果指定了瞬态参数,瞬态(辅助)窗口会交叉(否则,如果只指定了窗口参数,则只移动到瞬态组中最后的焦点窗口)。 如果指定了图标函数参数 ,那么该函数就只能应用于图标。如果指定了窗口函数参数,那么该函数就只能应用于窗口。 |
f.nop | 什么也不做。如果为函数指定了一种不被支持的或在启动的上下文中不能应用的资源,那么该函数就被当作 f.nop。 |
f.normalize | 使客户机窗口以正常大小显示。辅助窗口(即,瞬态窗口)和它们相关的主窗口放置在其正常状态。 |
f.normalize_and_raise | 使相应的客户机窗口以其正常大小显示,并弹出到窗口堆栈的顶部。 辅助窗口(即,瞬态窗口)和它们相关的主窗口放置在其正常状态。 |
f.pack_icons | 使图标压缩到图标网格中。该函数用来重新布局根窗口或者图标框中的图标(根据使用的布局策略)。 |
f.pass_keys | 为窗口管理器功能启用或禁用(切换)键绑定处理。 当禁用键绑定处理时,所有的键都随着键盘输入焦点传递到窗口而没有启动窗口管理器函数。 如果 f.pass_keys 函数以键绑定启动来禁用键绑定处理,那么相同的键绑定可以用来启用键绑定处理。 |
f.post_wmenu | 公布窗口菜单。如果键用来公布窗口菜单,而且有“窗口菜单”按钮,那么窗口菜单自动放置到客户机窗口位于“窗口菜单”按钮左下角的左上角。 如果没有“窗口菜单”按钮,那么窗口菜单就放置于客户机窗口的左上角。 |
f.prev_cmap | 为带有颜色映像图焦点的窗口在颜色映像图列表中安装先前的颜色映像图。 |
f.prev_key [Icon | Window | Transient] | 在由窗口管理器管理的窗口和图标设置中设置前一个窗口或图标的键盘输入焦点(此设置的顺序基于屏幕上窗口堆栈)。 该函数当作 f.nop,如果 keyboardFocusPolicy 不是显式值。键盘输入焦点只移动到没有应用模式的关联辅助窗口的窗口。 如果指定了瞬态参数,瞬态(辅助)窗口会交叉(否则,如果只指定了窗口,则只移动到瞬态组中最后的焦点窗口)。如果指定了图标函数参数,该函数只能应用于图标。 如果指定了窗口函数参数,该函数只能应用于窗口。 |
f.quit_mwm | 停止 mwm 命令(而非 X Window System 客户机)。 |
f.raise [-Client | within | freeFamily] | 将客户机窗口提升到窗口堆栈的顶部(该处不会被其它窗口隐盖)。 在客户机系列中弹出辅助窗口(瞬态窗口或对话框)。 该函数的参数是互相排斥的。 客户机参数表示要弹出的客户机名或类。 如果没有指定客户机 参数,那么该函数启动的上下文表示要弹出的窗口或图标。 指定 within 弹出系列中的辅助窗口但不弹出全局窗口堆栈中的客户机系列。 指定 freeFamily 弹出窗口到其本地系列堆栈的顶部,并弹出该系列至全局窗口堆栈的顶部。 |
f.raise_lower [within | freeFamily] | 如果主窗口部分被其它窗口部分隐盖,则把主窗口提升到窗口堆栈的顶部;否则,把它降低到窗口堆栈的底部。
该函数的参数是互相排斥的。
如果系列中的辅助窗口(置于父窗口之上)被应用程序系列中的其它窗口部分隐盖,那么指定 within 提升它;否则,把窗口降低到系列堆栈的底部。 对全局堆栈序列没有影响。 如果窗口被其它窗口隐盖,那么指定 freeFamily 把窗口提升到其本地系列堆栈的顶部,并且把该系列也提升到全局窗口堆栈的顶部;否则,把窗口降低到其本地系列堆栈的底部,并且把该系列降低到全局窗口堆栈的底部。 |
f.refresh | 使重画所有的窗口。 |
f.refresh_win | 使重画客户机窗口。 |
f.resize | 使交互性地调整客户机窗口大小。 |
f.restart | 使重新启动 mwm 命令(有效停止和重新启动)。 |
f.restore | 恢复与窗口相关图标的先前状态。如果图标化最大化窗口,f.restore 函数把它恢复到其最大化状态。 如果图标化一个规格化窗口,f.restore 把它恢复到其规格化状态。 |
f.restore_and_raise | 恢复图标相关窗口的先前状态并把窗口提升到窗口堆栈的顶部。 如果图标化一个最大化窗口,f.restore_and_raise 函数把它恢复到其最大化状态,并把它提升到窗口堆栈的顶部。 如果图标化一个规格化窗口,f.restore_and_raise 函数把它恢复到其规格化状态,并把它提升到窗口堆栈的顶部。 |
f.screen [next | prev | back | ScreenNumber] | 使指针转向特定的屏幕号或者下一个、前一个、或最近一个访问过的屏幕。 该函数的参数是互相排斥的。 以下参数是可用的: |
f.send_msg MessageNumber | 发送 _MOTIF_WM_MESSAGES 类型的客户机消息,MessageType 由 MessageNumber 函数参数表示。只有当 MessageNumber 包含在 _MOTIF_WM_MESSAGES 属性中时才发送客户机消息。如果菜单项用于执行不包含在客户机 _MOTIF_WM_MESSAGES 属性的消息的 f.send_msg 函数,该菜单项标号不可用。 |
f.separator | 使菜单分隔符被放置到指定位置的菜单窗格内(忽略标号)。 |
f.set_behavior | 使窗口管理器根据缺省行为重新启动(如果配置了定制行为)或着回复定制行为。
在缺省情况下这绑定到 Shift+Ctrl+Meta+! 按键顺序。
Shift+Ctrl+Meta+! 按键顺序在缺省和定制行为之间进行切换(即,切换)。 当用户切换到缺省 MWM 行为时,mwm 资源的数目假定为它们的缺省值,并且 mwm 命令重新启动。当用户切换回定制行为,那些更改到缺省值的资源值用定制值重新设置,且 mwm 命令重新启动。 当执行 f.set_behavior 函数时,发生以下用户交互作用: 当设置缺省 MWM 行为时,缺省资源值得以应用,且如果已指定,则应用控制窗口管理器行为的客户机属性。 这包含 _MOTIF_WM_HINTS 和 _MOTIF_WM_MENU 属性。这些属性可能改变缺省 MWM 行为,但只在对所有用户都一致的情况下才这么做。 |
f.title | 把标题插入到指定位置的菜单窗格里。 |
每个函数都可能被约束关于哪些资源类型能指定函数(例如,菜单窗格),还有函数能使用什么上下文(例如,在选定的客户机窗口完成函数)。 以下是函数上下文:
root | 没有客户机窗口或图标选定为函数的对象。 |
window | 选定一个客户机窗口作为函数对象。这包含窗口的标题栏和框架。 仅当窗口在其规格化状态下(例如,f.maximize)或最大化状态下(例如,f.normalize)时才能应用一些函数。 |
icon | 选定一个图标作为函数的对象。 |
如果函数的上下文指定为 icon|window 且函数在图标框中启动,那么该函数应用到图标框,而不是图标内部。
如果给函数指定了一种该函数不支持的资源类型或者函数在不应用该函数的上下文中启动,那么函数被视为 f.nop。下表显示资源类型和窗口管理器函数所应用的函数上下文:
函数 | 上下文 | 资源 |
---|---|---|
f.beep | root 用户、图标、窗口 | 按钮、键、菜单 |
f.circle_down | root 用户、图标、窗口 | 按钮、键、菜单 |
f.circle_up | root 用户、图标、窗口 | 按钮、键、菜单 |
f.exec | root 用户、图标、窗口 | 按钮、键、菜单 |
f.focus_color | root 用户、图标、窗口 | 按钮、键、菜单 |
f.focus_key | root 用户、图标、窗口 | 按钮、键、菜单 |
f.kill | 图标、窗口 | 按钮、键、菜单 |
f.lower | 图标、窗口 | 按钮、键、菜单 |
f.maximize | 图标、窗口(正常) | 按钮、键、菜单 |
f.menu | root 用户、图标、窗口 | 按钮、键、菜单 |
f.minimize | 窗口 | 按钮、键、菜单 |
f.move | 图标、窗口 | 按钮、键、菜单 |
f.next_cmap | root 用户、图标、窗口 | 按钮、键、菜单 |
f.next_key | root 用户、图标、窗口 | 按钮、键、菜单 |
f.nop | root 用户、图标、窗口 | 按钮、键、菜单 |
f.normalize | 图标、窗口(最大化) | 按钮、键、菜单 |
f.normalize_and_raise | 图标、窗口 | 按钮、键、菜单 |
f.pack_icons | root 用户、图标、窗口 | 按钮、键、菜单 |
f.pass_keys | root 用户、图标、窗口 | 按钮、键、菜单 |
f.post_wmenu | root 用户、图标、窗口 | 按钮、键 |
f.prev_cmap | root 用户、图标、窗口 | 按钮、键、菜单 |
f.prev_key | root 用户、图标、窗口 | 按钮、键、菜单 |
f.quit_mwm | root 用户、图标、窗口 | 按钮、键、菜单(仅 root 用户) |
f.raise | 图标、窗口 | 按钮、键、菜单 |
f.raise_lower | 图标、窗口 | 按钮、键、菜单 |
f.refresh | root 用户、图标、窗口 | 按钮、键、菜单 |
f.refresh_win | 窗口 | 按钮、键、菜单 |
f.resize | 窗口 | 按钮、键、菜单 |
f.restart | root 用户、图标、窗口 | 按钮、键、菜单 |
f.restore | 图标、窗口 | 按钮、键、菜单 |
f.restore_and_raise | 图标、窗口 | 按钮、键、菜单 |
f.screen | root 用户、图标、窗口 | 按钮、键、菜单 |
f.send_msg | 图标、窗口 | 按钮、键、菜单 |
f.separator | root 用户、图标、窗口 | 菜单 |
f.set_behavior | root 用户、图标、窗口 | 按钮、键、菜单 |
f.title | root 用户、图标、窗口 | 菜单 |
事件表示为按钮和键绑定集合以及菜单窗格规范的一部分。
按钮事件有以下语法:
Button = [ModifierList]<ButtonEventName> ModifierList = Modifier Name {ModifierName}
所有指定的修饰符都解释为互斥的(也就是说当按钮事件发生时,只有指定的修饰符)。 以下是表示能用于 ModifierName 参数的值的列表。Alt 键常被标记为 Extend 或 Meta。Alt 和 Meta 在事件规范中可以互换使用。
修饰符 | 描述 |
Ctrl | 控制键 |
Shift | Shift 键 |
Alt | Alt 或 Meta 键 |
Meta | Meta 或 Alt 键 |
Lock | Lock 键 |
Mod1 | 修饰符 1 |
Mod2 | 修饰符 2 |
Mod3 | 修饰符 3 |
Mod4 | 修饰符 4 |
Mod5 | 修饰符 5 |
以下是表示能用于 ButtonEventName 参数的值的列表。
窗口管理器所用来进行菜单助记和绑定窗口管理函数的按键事件是单一的按下按键;忽略释放按键。 按键事件有以下语法:
Key = [ModifierList] <Key> KeyName ModifierList = ModifierName {ModifierName}
所有指定的修饰符都被解释为互斥的(也就是说当按键事件发生时,只有指定的修饰符)。 按键修饰符和应用于按钮的那些修饰符相同。 KeyName 参数是 X11 键码名称。按键符号名称在 keysymdef.h 文件中(删除 XK_ 前缀)。
按键符号名称在启动过程中会被“窗口管理器”解析为单一的特定键控代码,且不会更改,除非“窗口管理器”重新启动。
buttonBindings 资源值是按钮绑定的一系列名称,用来配置窗口管理器行为。 当按钮按下时伴随指针移过框架客户机窗口、图标或根窗口时,可以使用窗口管理器函数。 用于表示按钮按下应用位置的上下文也是按钮按下时启动窗口管理器函数的上下文(对上下文敏感的函数很重要)。
以下是按钮绑定的语法:
Buttons BindingsSetName
{
Button Context Function
Button Context Function
.
.
Button Context Function
}
以下是上下文规范的语法:
Context = Object[|Context] Object = root | icon | window | title | frame | border | app
上下文规范表示要使按钮绑定有效,指针必须在何处。 例如,window 上下文表示要使按钮绑定有效,指针必须在客户机窗口或窗口管理框架上。 frame 上下文是关于客户机窗口周围的窗口管理框架(包括边框和标题栏),border 上下文是关于窗口管理框架的边界部分(不包括标题栏),title 上下文是关于窗口管理框架的标题栏,app 上下文是关于应用窗口(不包括窗口管理框架)。
如果 f.nop 函数是为按钮绑定而指定的, 就不进行按钮绑定。
keyBindings 资源值是用来配置窗口管理器行为的键绑定集合的名称。 当按下特定键时窗口管理函数就会执行。 键绑定应用的上下文是以键绑定规范来表示的。 有效的上下文与那些应用于按钮绑定的上下文一样。
以下是键绑定的语法:
Keys BindingsSetName
{
Key Context Function
Key Context Function
.
.
Key Context Function
}
如果 f.nop 函数是为键绑定而指定的,就不进行键绑定。 如果 f.post_wmenu 或 f.menu 函数绑定到键,mwm 命令在打开后自动使用同样的键从屏幕删除菜单。
上下文规范语法对于按钮绑定是一样的。 对键绑定,frame、title、 border 和 app 上下文等同于 window 上下文。按键事件的上下文是具有键盘输入焦点的窗口或图标 (root 如果窗口或图标都没有键盘输入焦点)。
可以使用 f.post_wmenu 和 f.menu 窗口管理器函数打开菜单。从菜单执行的窗口管理器函数的上下文是 root、icon 或 window,取决于菜单如何打开。 在窗口菜单或与键绑定时菜单打开的情况下,键盘输入焦点的位置表示上下文。 对于用按钮绑定打开的菜单,按钮绑定的上下文是菜单的上下文。
以下是菜单窗格规范语法:
Menu MenuName { Label [Mnemonic] [Accelerator] Function Label [Mnemonic] [Accelerator] Function . . Label [Mnemonic] [Accelerator] Function }
如果选定了菜单项,那么在菜单规范中的每一行标识了菜单项的标号和需要完成的函数。 有选择地,可以指定菜单按钮助记符和菜单按钮键盘快捷键。 仅当传递菜单和键盘遍历应用时,助记符才发挥作用。
标号可以是字符串或位图文件。标号规范有以下语法:
Label = Text | BitmapFile BitmapFile = @FileName Text = QuotedItem | UnquotedItem
标号的字符串编码必须和使用的菜单字体兼容。 标号对于使用 f.nop 函数、无效函数或不在当前上下文中应用的函数的菜单项不可用。
助记符规范有以下语法:
Mnemonic = _Character
标号中第一个匹配的字符带下划线。 如果标号中没有匹配的字符,没有在窗口管理器中为标号注册助记符。 虽然字符必须和标号中的字符准确匹配,但是如果任何修饰符(例如 Shift 键)和字符键一起按下,助记符就不会执行。
快捷键规范是和用于至窗口管理器函数的键绑定具有相同语法的按键事件规范。
mwm 命令如下:
0 | 表示成功完成。 |
>1 | 表示发生错误。 |
/usr/lib/X11/$LANG/system.mwmrc
/usr/lib/X11/system.mwmrc
/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
$HOME/.Xdefaults
$HOME/$LANG/.mwmrc
$HOME/.mwmrc
$HOME/.motifbind
《AIX 5L V5.2 命令参考大全》中的 X 命令。