X Version 11 (Release 6.1)

mwm(X1)


mwm, pmwm -- the Motif Window Managers

Synopsis

mwm [options]
pmwm [options]

Description

mwm is an X Window System client that provides window management functionality and some session management functionality. It provides functions that facilitate control (by the user and the programmer) of elements of window states such as placement, size, icon/normal display, and input-focus ownership. It also provides session management functions such as stopping a client.

pmwm, the SCO Panorama (Panner) window manager, is an enhanced version of the OSF/Motif window manager that provides a working area that is larger than can be shown on the screen. The screen behaves as a viewport onto this much larger space -- you can move the viewport to change your view of the workspace. You can place your work anywhere you like on the workspace, organizing the layout of the applications you are running to suit your needs. Because much more space is available, the screen is less cluttered and you can keep many more windows open.

pmwm is a superset of mwm and accepts the same options and resources. Both run from the same binary. Unless otherwise indicated, statements concerning mwm also apply to pmwm.

mwm and pmwm window manager appearance and behavior is controlled by configuration and resource files:

file mwm pmwm
system configuration /usr/lib/X11/system.mwmrc /usr/lib/X11/system.pmwmrc
user configuration $HOME/.mwmrc $HOME/.pmwmrc
resource $HOME/Mwm $HOME/Pmwm

 file                   |   mwm                             pmwm
 -----------------------+--------------------------------------------------------------
 system configuration   |   /usr/lib/X11/system.mwmrc       /usr/lib/X11/system.pmwmrc
 user configuration     |   $HOME/.mwmrc                    $HOME/.pmwmrc
 resource               |   $HOME/Mwm                       $HOME/Pmwm
See the ``X defaults'' section below for more information.

Options


-display display
This option specifies the display to use; see X(X1M).

-xrm resourcestring
This option specifies a resource string to use.

-multiscreen
This option causes mwm to manage all screens on the display. The default is to manage only a single screen.

-name name
This option causes mwm to retrieve its resources using the specified name, as in name*resource.

-screens name [name [...]]
This option specifies the resource names to use for the screens managed by mwm. If mwm is managing a single screen, only the first name in the list is used. If mwm is managing multiple screens, the names are assigned to the screens in order, starting with screen 0. Screen 0 gets the first name, screen 1 the second name, and so on.

Appearance

The following sections describe the basic default behaviors of windows, icons, the icon box, input focus, and window stacking. The appearance and behavior of the window manager can be altered by changing the configuration of specific resources. Resources are defined under the heading ``Defaults''.

Screens

By default, mwm manages only the single screen specified by the -display option or the DISPLAY environment variable (by default, screen 0). If the -multiscreen option is specified or if the multiScreen resource is True, mwm tries to manage all the screens on the display.

When mwm is managing multiple screens, the -screens option can be used to give each screen a unique resource name. The names are separated by blanks, for example, -screens mwm0 mwm1. If there are more screens than names, resources for the remaining screens will be retrieved using the first name.

Windows

Default mwm window frames have distinct components with associated functions:

Title Area
In addition to displaying the client's title, the title area is used to move the window. To move the window, place the pointer over the title area, press button 1 and drag the window to a new location. A wire frame is moved during the drag to indicate the new location. When the button is released, the window is moved to the new location.

Title Bar
The title bar includes the title area, the minimize button, the maximize button, and the window menu button.

Minimize Button
To turn the window into an icon, click button 1 on the minimize button (the frame box with a small square in it).

Maximize Button
To make the window fill the screen (or enlarge to the largest size allowed by the configuration files), click button 1 on the maximize button (the frame box with a large square in it).

Window Menu Button
The window menu button is the frame box with a horizontal bar in it. To pull down the window menu, press button 1. While pressing, drag the pointer on the menu to your selection, then release the button when your selection is highlighted. Alternately, you can click button 1 to pull down the menu and keep it posted; then position the pointer and select.

Default window menu

Selection Accelerator Description
Restore Alt+F5 Restores the window to its size before minimizing or maximizing
Move Alt+F7 Allows the window to be moved with keys or mouse
Size Alt+F8 Allows the window to be resized
Minimize Alt+F9 Turns the window into an icon
Maximize Alt+F10 Makes the window fill the screen
Lower Alt+F3 Moves window to bottom of window stack
Close Alt+F4 Causes client to terminate

 +----------+-------------+-----------------------------------------+
 |Selection | Accelerator | Description                             |
 +----------+-------------+-----------------------------------------+
 |Restore   | Alt+F5      | Restores the window to its size before  |
 |          |             | minimizing or maximizing                |
 +----------+-------------+-----------------------------------------+
 |Move      | Alt+F7      | Allows the window to be moved with keys |
 |          |             | or mouse                                |
 +----------+-------------+-----------------------------------------+
 |Size      | Alt+F8      | Allows the window to be resized         |
 +----------+-------------+-----------------------------------------+
 |Minimize  | Alt+F9      | Turns the window into an icon           |
 +----------+-------------+-----------------------------------------+
 |Maximize  | Alt+F10     | Makes the window fill the screen        |
 +----------+-------------+-----------------------------------------+
 |Lower     | Alt+F3      | Moves window to bottom of window stack  |
 +----------+-------------+-----------------------------------------+
 |Close     | Alt+F4      | Causes client to terminate              |
 +----------+-------------+-----------------------------------------+

Resize Border Handles
To change the size of a window, move the pointer over a resize border handle (the cursor changes), press button 1, and drag the window to a new size. When the button is released, the window is resized. While dragging is being done, a rubber-band outline is displayed to indicate the new window size.

Matte
An optional matte decoration can be added between the client area and the window frame. A matte is not actually part of the window frame. There is no functionality associated with a matte.

Icons

Icons are small graphic representations of windows. A window can be minimized (iconified) using the minimize button on the window frame. Icons provide a way to reduce clutter on the screen.

Pressing mouse button 1 when the pointer is over an icon causes the icon's window menu to pop up. Releasing the button (press + release without moving mouse = click) causes the menu to stay posted. The menu contains the following selections:

Icon window menu

Selection Accelerator Description
Restore Alt+F5 Opens the associated window
Move Alt+F7 Allows the icon to be moved with keys
Size Alt+F8 Inactive (not an option for icons)
Minimize Alt+F9 Inactive (not an option for icons)
Maximize Alt+F10 Opens the associated window and makes it fill the screen
Lower Alt+F3 Moves icon to bottom of icon stack
Close Alt+F4 Removes client from mwm management

 +----------+-------------+------------------------------------------+
 |Selection | Accelerator | Description                              |
 +----------+-------------+------------------------------------------+
 |Restore   | Alt+F5      | Opens the associated window              |
 +----------+-------------+------------------------------------------+
 |Move      | Alt+F7      | Allows the icon to be moved with keys    |
 +----------+-------------+------------------------------------------+
 |Size      | Alt+F8      | Inactive (not an option for icons)       |
 +----------+-------------+------------------------------------------+
 |Minimize  | Alt+F9      | Inactive (not an option for icons)       |
 +----------+-------------+------------------------------------------+
 |Maximize  | Alt+F10     | Opens the associated window and makes it |
 |          |             | fill the screen                          |
 +----------+-------------+------------------------------------------+
 |Lower     | Alt+F3      | Moves icon to bottom of icon stack       |
 +----------+-------------+------------------------------------------+
 |Close     | Alt+F4      | Removes client from mwm management       |
 +----------+-------------+------------------------------------------+
Note that pressing button 3 over an icon also causes the icon's window menu to pop up. To make a menu selection, drag the pointer over the menu and release button 3 when the desired item is highlighted.

Double-clicking button 1 on an icon normalizes the icon into its associated window. Double-clicking button 1 on the icon box's icon opens the icon box and allows access to the contained icons. (In general, double-clicking a mouse button is a quick way to perform a function.) Double-clicking button 1 with the pointer on the window menu button closes the window.

Icon box

When icons begin to clutter the screen, they can be packed into an icon box. (To use an icon box, mwm must be started with the icon box configuration already set.) The icon box is a mwm window that holds client icons. It includes one or more scroll bars when there are more window icons than the icon box can show at the same time.

Icons in the icon box can be manipulated with the mouse. The following table summarizes the behavior of this interface. Button actions apply whenever the pointer is on any part of the icon. Note that invoking the f.raise function on an icon in the icon box raises an already open window to the top of the stack.

Button Action Description
Button 1 click Selects the icon
Button 1 double-click Normalizes (opens) the associated window
Button 1 double-click Raises an already open window to the top of the stack
Button 1 drag Moves the icon
Button 3 press Causes the menu for that icon to pop up
Button 3 drag Highlights items as the pointer moves across the menu

 +----------------------+----------------------------------------------+
 |Button Action         | Description                                  |
 +----------------------+----------------------------------------------+
 |Button 1 click        | Selects the icon                             |
 +----------------------+----------------------------------------------+
 |Button 1 double-click | Normalizes (opens) the associated window     |
 +----------------------+----------------------------------------------+
 |Button 1 double-click | Raises an already open window to the top of  |
 |                      | the stack                                    |
 +----------------------+----------------------------------------------+
 |Button 1 drag         | Moves the icon                               |
 +----------------------+----------------------------------------------+
 |Button 3 press        | Causes the menu for that icon to pop up      |
 +----------------------+----------------------------------------------+
 |Button 3 drag         | Highlights items as the pointer moves across |
 |                      | the menu                                     |
 +----------------------+----------------------------------------------+
Pressing mouse button 3 when the pointer is over an icon causes the menu for that icon to pop up.

Icon menu for the icon box

Selection Accelerator Description
Restore Alt+F5 Opens the associated window (if not already open)
Move Alt+F7 Allows the icon to be moved with keys
Size Alt+F8 Inactive
Minimize Alt+F9 Inactive
Maximize Alt+F10 Opens the associated window (if not already open) and maximizes its size
Lower Alt+F3 Inactive
Close Alt+F4 Removes client from mwm management

 +----------+-------------+---------------------------------------------------+
 |Selection | Accelerator | Description                                       |
 +----------+-------------+---------------------------------------------------+
 |Restore   | Alt+F5      | Opens the associated window (if not already open) |
 +----------+-------------+---------------------------------------------------+
 |Move      | Alt+F7      | Allows the icon to be moved with keys             |
 +----------+-------------+---------------------------------------------------+
 |Size      | Alt+F8      | Inactive                                          |
 +----------+-------------+---------------------------------------------------+
 |Minimize  | Alt+F9      | Inactive                                          |
 +----------+-------------+---------------------------------------------------+
 |Maximize  | Alt+F10     | Opens the associated window (if not already open) |
 |          |             | and maximizes its size                            |
 +----------+-------------+---------------------------------------------------+
 |Lower     | Alt+F3      | Inactive                                          |
 +----------+-------------+---------------------------------------------------+
 |Close     | Alt+F4      | Removes client from mwm management                |
 +----------+-------------+---------------------------------------------------+
To pull down the window menu for the icon box itself, press button 1 with the pointer over the menu button for the icon box. The window menu of the icon box differs from the window menu of a client window: The ``Close'' selection is replaced with the ``PackIcons Shift+Alt+F7'' selection. When selected, PackIcons packs the icons in the box to achieve neat rows with no empty slots.

Pressing <Shift> <Esc> when the icon box has the input focus causes the window menu of the icon box to pop up. Pressing F4 (the pop-up menu key) causes the window menu of the currently selected icon to pop up.

Input focus

mwm supports (by default) a keyboard input focus policy of explicit selection. This means when a window is selected to get keyboard input, it continues to get keyboard input until the window is withdrawn from window management, another window is explicitly selected to get keyboard input, or the window is iconified. Several resources control the input focus. The client window with the keyboard input focus has the active window appearance with a visually distinct window frame.

The following tables summarize the keyboard input focus selection behavior:

Button Action Object Function Description
Button 1 press Window / window frame Keyboard focus selection
Button 1 press Icon Keyboard focus selection

 +---------------+-----------------------+--------------------------+
 |Button Action  | Object                | Function Description     |
 +---------------+-----------------------+--------------------------+
 |Button 1 press | Window / window frame | Keyboard focus selection |
 +---------------+-----------------------+--------------------------+
 |Button 1 press | Icon                  | Keyboard focus selection |
 +---------------+-----------------------+--------------------------+

Key Action Function Description
<Alt> <Tab> Move input focus to next window in window stack
<Alt> <Shift> <Tab> Move input focus to previous window in window stack

 +--------------+-----------------------------------------------------+
 |Key Action    | Function Description                                |
 +--------------+-----------------------------------------------------+
 |Alt Tab       | Move input focus to next window in window stack     |
 +--------------+-----------------------------------------------------+
 |Alt Shift Tab | Move input focus to previous window in window stack |
 +--------------+-----------------------------------------------------+

X defaults

mwm is configured from its resource database. This database is built from the following sources. They are listed in order of precedence, low to high:

/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
RESOURCE_MANAGER root window property or
$HOME/.Xdefaults
XENVIRONMENT variable or $HOME/.Xdefaults-hostname
mwm command line options

The corresponding order of precedence for pmwm is:

/usr/lib/X11/app-defaults/Pmwm
$HOME/Pmwm
RESOURCE_MANAGER root window property or
$HOME/.Xdefaults
XENVIRONMENT variable or $HOME/.Xdefaults-hostname
pmwm command line options

The file names /usr/lib/X11/app-defaults/Mwm and $HOME/Mwm represent customary locations for these files. The actual location of the system-wide class resource file may depend on the XFILESEARCHPATH environment variable and the current language environment. The actual location of the user-specific class resource file may depend on the XUSERFILESEARCHPATH and XAPPLRESDIR environment variables and the current language environment.

Entries in the resource database may refer to other resource files for specific types of resources. These include files that contain bitmaps, fonts, and mwm specific resources such as menus and behavior specifications (for example, button and key bindings).

mwm is the resource class name of mwm and mwm is the resource name used by mwm to look up resources. (For looking up resources of multiple screens, the -screens command line option specifies resource names, such as ``mwm_b+w'' and ``mwm_color''.) In the following discussion of resource specification, ``Mwm'' and ``mwm'' (and the aliased mwm resource names) can be used interchangeably, but ``mwm'' takes precedence over ``Mwm''.

mwm uses the following types of resources:

Component Appearance Resources:

These resources specify appearance attributes of window manager user interface components. They can be applied to the appearance of window manager menus, feedback windows (for example, the window reconfiguration feedback window), client window frames, and icons.

Specific Appearance and Behavior Resources:

These resources specify mwm appearance and behavior (for example, window management policies). They are not set separately for different mwm user interface components.

Client Specific Resources:

These mwm resources can be set for a particular client window or class of client windows. They specify client-specific icon and client window frame appearance and behavior.

Resource identifiers can be either a resource name (for example, foreground) or a resource class (for example, Foreground). If the value of a resource is a filename and if the filename is prefixed by ``~/'', then it is relative to the path contained in the HOME environment variable (generally the user's home directory).

Component appearance resources

The syntax for specifying component appearance resources that apply to window manager icons, menus, and client window frames is

Mwm*resource_id

For example, Mwm*foreground is used to specify the foreground color for mwm menus, icons, client window frames, and feedback dialogs.

The syntax for specifying component appearance resources that apply to a particular mwm component is

Mwm*[menu|icon|client|feedback]*resource_id

If menu is specified, the resource is applied only to mwm If menu is specified, the resource is applied only to mwm menus; if icon is specified, the resource is applied to icons; and if client is specified, the resource is applied to client window frames. For example, Mwm*icon*foreground is used to specify the foreground color for mwm icons, Mwm*menu*foreground specifies the foreground color for mwm menus, and Mwm*client*foreground is used to specify the foreground color for mwm client window frames.

The appearance of the title area of a client window frame (including window management buttons) can be separately configured. The syntax for configuring the title area of a client window frame is

Mwm*client*title*resource_id

For example, Mwm*client*title*foreground specifies the foreground color for the title area. Defaults for title area resources are based on the values of the corresponding client window frame resources.

The appearance of menus can be configured based on the name of the menu. The syntax for specifying menu appearance by name is

Mwm*menu*menu_name*resource_id

For example, Mwm*menu*my_menu*foreground specifies the foreground color for the menu named my_menu.

The following component appearance resources that apply to all window manager parts can be specified:

Component appearance resources -- all window manager parts

Name Class Value Type Default
background Background color varies+
backgroundPixmap BackgroundPixmap string varies+
bottomShadowColor Foreground color varies+
bottomShadowPixmap BottomShadowPixmap string varies+
fontList FontList string++ "fixed"
foreground Foreground color varies+
saveUnder SaveUnder T/F F
topShadowColor Background color varies+
topShadowPixmap TopShadowPixmap string varies\(df

 +-------------------+--------------------+------------+---------+
 |Name               | Class              | Value Type | Default |
 +-------------------+--------------------+------------+---------+
 |background         | Background         | color      | varies  |
 +-------------------+--------------------+------------+---------+
 |backgroundPixmap   | BackgroundPixmap   | string     | varies  |
 +-------------------+--------------------+------------+---------+
 |bottomShadowColor  | Foreground         | color      | varies  |
 +-------------------+--------------------+------------+---------+
 |bottomShadowPixmap | BottomShadowPixmap | string     | varies  |
 +-------------------+--------------------+------------+---------+
 |fontList           | FontList           | string     | "fixed" |
 +-------------------+--------------------+------------+---------+
 |foreground         | Foreground         | color      | varies  |
 +-------------------+--------------------+------------+---------+
 |saveUnder          | SaveUnder          | T/F        | F       |
 +-------------------+--------------------+------------+---------+
 |topShadowColor     | Background         | color      | varies  |
 +-------------------+--------------------+------------+---------+
 |topShadowPixmap    | TopShadowPixmap    | string     | varies  |
 +-------------------+--------------------+------------+---------+
+ The default is chosen based on the visual type of the screen.
++ X11 R4 Font description.

background (class Background)
This resource specifies the background color. Any legal X color may be specified. The default value is chosen based on the visual type of the screen.

backgroundPixmap (class BackgroundPixmap)
This resource specifies the background Pixmap of the mwm decoration when the window is inactive (does not have the keyboard focus). The default value is chosen based on the visual type of the screen.

bottomShadowColor (class Foreground)
This resource specifies the bottom shadow color. This color is used for the lower and right bevels of the window manager decoration. Any legal X color may be specified. The default value is chosen based on the visual type of the screen.

bottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap. This Pixmap is used for the lower and right bevels of the window manager decoration. The default is chosen based on the visual type of the screen.

fontList (class FontList)
This resource specifies the font used in the window manager decoration. The character encoding of the font should match the character encoding of the strings that are used. The default is ``fixed.''

foreground (class Foreground)
This resource specifies the foreground color. The default is chosen based on the visual type of the screen.

saveUnder (class SaveUnder)
This is used to indicate whether ``save unders'' are used for mwm components. For this to have any effect, save unders must be implemented by the X server. If save unders are implemented, the X server saves the contents of windows obscured by windows that have the save under attribute set. If the saveUnder resource is True, mwm will set the save under attribute on the window manager frame of any client that has it set. If saveUnder is False, save unders will not be used on any window manager frames. The default value is False.

topShadowColor (class Background)
This resource specifies the top shadow color. This color is used for the upper and left bevels of the window manager decoration. The default is chosen based on the visual type of the screen.

topShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap. This Pixmap is used for the upper and left bevels of the window manager decoration. The default is chosen based on the visual type of the screen.

The following component appearance resources that apply to frame and icons can be specified:

Frame and icon components

Name Class Value Type Default
activeBackground Background color varies+
activeBackgroundPixmap BackgroundPixmap string varies+
activeBottomShadowColor Foreground color varies+
activeBottomShadowPixmap BottomShadowPixmap string varies+
activeForeground Foreground color varies+
activeTopShadowColor Background color varies+
activeTopShadowPixmap TopShadowPixmap string varies+

 +------------------------+------------------+----------+--------+
 |Name                    |Class             |Value Type|Default |
 +------------------------+------------------+----------+--------+
 |activeBackground        |Background        |color     |varies  |
 +------------------------+------------------+----------+--------+
 |activeBackgroundPixmap  |BackgroundPixmap  |string    |varies  |
 +------------------------+------------------+----------+--------+
 |activeBottomShadowColor |Foreground        |color     |varies  |
 +------------------------+------------------+----------+--------+
 |activeBottomShadowPixmap|BottomShadowPixmap|string    |varies  |
 +------------------------+------------------+----------+--------+
 |activeForeground        |Foreground        |color     |varies  |
 +------------------------+------------------+----------+--------+
 |activeTopShadowColor    |Background        |color     |varies  |
 +------------------------+------------------+----------+--------+
 |activeTopShadowPixmap   |TopShadowPixmap   |string    |varies  |
 +------------------------+------------------+----------+--------+
+ The default is chosen based on the visual type of the screen.


activeBackground (class Background)
This resource specifies the background color of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

activeBackgroundPixmap (class ActiveBackgroundPixmap)
This resource specifies the background Pixmap of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

activeBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

activeBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

activeForeground (class Foreground)
This resource specifies the foreground color of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

activeTopShadowColor (class Background)
This resource specifies the top shadow color of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

activeTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap of the mwm decoration when the window is active (has the keyboard focus). The default is chosen based on the visual type of the screen.

Specific appearance and behavior resources

The syntax for specifying specific appearance and behavior resources is

Mwm*resource_id

For example, Mwm*keyboardFocusPolicy specifies the window manager policy for setting the keyboard focus to a particular client window.

The following specific appearance and behavior resources can be specified:

Specific appearance and behavior resources

Name Class Value Type Default
autoKeyFocus AutoKeyFocus T/F T
autoRaiseDelay AutoRaiseDelay millisec 500
bitmapDirectory BitmapDirectory directory /usr/include/X11/bitmaps
buttonBindings ButtonBindings string "DefaultButtonBindings"
cleanText CleanText T/F T
clientAutoPlace ClientAutoPlace T/F T
colormapFocusPolicy ColormapFocusPolicy string keyboard
configFile ConfigFile file .mwmrc
deiconifyKeyFocus DeiconifyKeyFocus T/F T
doubleClickTime DoubleClickTime millisec. 500
enableWarp enableWarp T/F T
enforceKeyFocus EnforceKeyFocus T/F T
execShell ExecShell string null
fadeNormalIcon FadeNormalIcon T/F F
frameBorderWidth FrameBorderWidth pixels 5
iconAutoPlace IconAutoPlace T/F T
iconBoxGeometry IconBoxGeometry string 6x1+0-0
iconBoxName IconBoxName string iconbox
iconBoxSBDisplayPolicy IconBoxSBDisplayPolicy string all
iconBoxTitle IconBoxTitle XmString Icons
iconClick IconClick T/F T
iconDecoration IconDecoration string varies
iconImageMaximum IconImageMaximum wxh 50x50
iconImageMinimum IconImageMinimum wxh 16x16
iconPlacement IconPlacement string right bottom
iconPlacementMargin IconPlacementMargin pixels varies
interactivePlacement InteractivePlacement T/F F
keyBindings KeyBindings string "DefaultKeyBindings"
keyboardFocusPolicy KeyboardFocusPolicy string explicit
limitResize LimitResize T/F F
lowerOnIconify LowerOnIconify T/F T
maximumMaximumSize MaximumMaximumSize wxh (pixels) 2X screen w&h
moveOpaque MoveOpaque T/F F
moveThreshold MoveThreshold pixels 4
multiScreen MultiScreen T/F F
passButtons PassButtons T/F F
passSelectButton PassSelectButton T/F T
positionIsFrame PositionIsFrame T/F T
positionOnScreen PositionOnScreen T/F F
quitTimeout QuitTimeout millisec. 1000
raiseKeyFocus RaiseKeyFocus T/F F
resizeBorderWidth ResizeBorderWidth pixels 10
resizeCursors ResizeCursors T/F T
screens Screens string varies
showFeedback ShowFeedback string -kill
startupKeyFocus StartupKeyFocus T/F T
transientDecoration TransientDecoration string title border resizeh
transientFunctions TransientFunctions string move resize
useIconBox UseIconBox T/F F
wMenuButtonClick WMenuButtonClick T/F T
wMenuButtonClick2 WMenuButtonClick2 T/F T
xGranularity XGranularity pixels 0
yGranularity YGranularity pixels 0

 Name                    Class                   Value Type    Default
 autoKeyFocus            AutoKeyFocus            T/F           T
 autoRaiseDelay          AutoRaiseDelay          millisec      500
 bitmapDirectory         BitmapDirectory         directory     /usr/include/X11/bitmaps
 buttonBindings          ButtonBindings          string        "DefaultButtonBindings"
 cleanText               CleanText               T/F           T
 clientAutoPlace         ClientAutoPlace         T/F           T
 colormapFocusPolicy     ColormapFocusPolicy     string        keyboard
 configFile              ConfigFile              file          .mwmrc
 deiconifyKeyFocus       DeiconifyKeyFocus       T/F           T
 doubleClickTime         DoubleClickTime         millisec.     500
 enableWarp              enableWarp              T/F           T
 enforceKeyFocus         EnforceKeyFocus         T/F           T
 execShell               ExecShell               string        null
 fadeNormalIcon          FadeNormalIcon          T/F           F
 frameBorderWidth        FrameBorderWidth        pixels        5
 iconAutoPlace           IconAutoPlace           T/F           T
 iconBoxGeometry         IconBoxGeometry         string        6x1+0-0
 iconBoxName             IconBoxName             string        iconbox
 iconBoxSBDisplayPolicy  IconBoxSBDisplayPolicy  string        all
 iconBoxTitle            IconBoxTitle            XmString      Icons
 iconClick               IconClick               T/F           T
 iconDecoration          IconDecoration          string        varies
 iconImageMaximum        IconImageMaximum        wxh           50x50
 iconImageMinimum        IconImageMinimum        wxh           16x16
 iconPlacement           IconPlacement           string        right bottom
 iconPlacementMargin     IconPlacementMargin     pixels        varies
 interactivePlacement    InteractivePlacement    T/F           F
 keyBindings             KeyBindings             string        "DefaultKeyBindings"
 keyboardFocusPolicy     KeyboardFocusPolicy     string        explicit
 limitResize             LimitResize             T/F           F
 lowerOnIconify          LowerOnIconify          T/F           T
 maximumMaximumSize      MaximumMaximumSize      wxh (pixels)  2X screen w&h
 moveOpaque              MoveOpaque              T/F           F
 moveThreshold           MoveThreshold           pixels        4
 multiScreen             MultiScreen             T/F           F
 passButtons             PassButtons             T/F           F
 passSelectButton        PassSelectButton        T/F           T
 positionIsFrame         PositionIsFrame         T/F           T
 positionOnScreen        PositionOnScreen        T/F           F
 quitTimeout             QuitTimeout             millisec.     1000
 raiseKeyFocus           RaiseKeyFocus           T/F           F
 resizeBorderWidth       ResizeBorderWidth       pixels        10
 resizeCursors           ResizeCursors           T/F           T
 screens                 Screens                 string        varies
 showFeedback            ShowFeedback            string        -kill
 startupKeyFocus         StartupKeyFocus         T/F           T
 transientDecoration     TransientDecoration     string        title border resizeh
 transientFunctions      TransientFunctions      string        move resize
 useIconBox              UseIconBox              T/F           F
 wMenuButtonClick        WMenuButtonClick        T/F           T
 wMenuButtonClick2       WMenuButtonClick2       T/F           T
 xGranularity            XGranularity            pixels        0
 yGranularity            YGranularity            pixels        0

autoKeyFocus (class AutoKeyFocus)
This resource is available only when the keyboard input focus policy is explicit. If autoKeyFocus is given a value of True, then when a window with the keyboard input focus is withdrawn from window management or is iconified, the focus is set to the previous window that had the focus. If the value given is False, there is no automatic setting of the keyboard input focus. The default value is True.

autoRaiseDelay (class AutoRaiseDelay)
This resource is available only when the focusAutoRaise resource is True and the keyboard focus policy is pointer. The autoRaiseDelay resource specifies the amount of time (in milliseconds) that mwm will wait before raising a window after it gets the keyboard focus. The default value of this resource is 500 (ms).

bitmapDirectory (class BitmapDirectory)
This resource identifies a directory to be searched for bitmaps referenced by mwm resources. This directory is searched if a bitmap is specified without an absolute pathname. The default value for this resource is /usr/include/X11/bitmaps.

buttonBindings (class ButtonBindings)
This resource identifies the set of button bindings for window management functions. The named set of button bindings is specified in the mwm resource description file. These button bindings are merged with the built-in default bindings. The default value for this resource is ``DefaultButtonBindings.''

cleanText (class CleanText)
This resource controls the display of window manager text in the client title and feedback windows. If the default value of True is used, the text is drawn with a clear (no stipple) background. This makes text easier to read on monochrome systems where a backgroundPixmap is specified. Only the stippling in the area immediately around the text is cleared. If False, the text is drawn directly on top of the existing background.

clientAutoPlace (class ClientAutoPlace)
This resource determines the position of a window when the window has not been given a user-specified position. With a value of True, windows are positioned with the top left corners of the frames offset horizontally and vertically. A value of False causes the currently configured position of the window to be used. In either case, mwm will attempt to place the windows totally on-screen. The default value is True.

colormapFocusPolicy (class ColormapFocusPolicy)
This resource indicates the colormap focus policy that is to be used. If the resource value is explicit, a colormap selection action is done on a client window to set the colormap focus to that window. If the value is pointer, the client window containing the pointer has the colormap focus. If the value is keyboard, the client window that has the keyboard input focus has the colormap focus. The default value for this resource is keyboard.

configFile (class ConfigFile)
The resource value is the pathname for an mwm resource description file.

If the pathname begins with ``~/'', mwm considers it to be relative to the user's home directory (as specified by the HOME environment variable). If the LANG environment variable is set, mwm looks for $HOME/$LANG/configFile. If that file does not exist or if LANG is not set, mwm looks for $HOME/configFile.

If the configFile pathname does not begin with ``~/'', mwm considers it to be relative to the current working directory.

If the configFile resource is not specified or if that file does not exist, mwm uses several default paths to find a configuration file. If the LANG environment variable is set, mwm looks for the configuration file first in $HOME/$LANG/.mwmrc. If that file does not exist or if LANG is not set, mwm looks for $HOME/.mwmrc. If that file does not exist and if LANG is set, mwm next looks for /usr/lib/X11/$LANG/system.mwmrc. If that file does not exist or if LANG is not set, mwm looks for /usr/lib/X11/system.mwmrc.


deiconifyKeyFocus (class DeiconifyKeyFocus)
This resource applies only when the keyboard input focus policy is explicit. If a value of True is used, a window receives the keyboard input focus when it is normalized (deiconified). True is the default value.

doubleClickTime (class DoubleClickTime)
This resource is used to set the maximum time (in ms) between the clicks (button presses) that make up a double-click. The default value of this resource is the display's multi-click time.

enableWarp (class EnableWarp)
The default value of this resource, True, causes mwm to ``warp'' the pointer to the center of the selected window during keyboard-controlled resize and move operations. Setting the value to False causes mwm to leave the pointer at its original place on the screen, unless the user explicitly moves it with the cursor keys or pointing device.

enforceKeyFocus (class EnforceKeyFocus)
If this resource is given a value of True, the keyboard input focus is always explicitly set to selected windows even if there is an indication that they are ``globally active'' input windows. (An example of a globally active window is a scroll bar that can be operated without setting the focus to that client.) If the resource is False, the keyboard input focus is not explicitly set to globally active windows. The default value is True.

execshell (class ExecShell)
This resource indicates which shell mwm uses when it executes a new client. The possible shells are /bin/.sh, /bin/.ksh, or /bin/.csh. The default value is Null which indicates executing a client from the user's home shell.

fadeNormalIcon (class FadeNormalIcon)
If this resource is given a value of True, an icon is grayed out whenever it has been normalized (its window has been opened). The default value is False.

frameBorderWidth (class FrameBorderWidth)
This resource specifies the width (in pixels) of a client window frame border without resize handles. The border width includes the 3-D shadows. The default value is 5 pixels.

iconAutoPlace (class IconAutoPlace)
This resource indicates whether the window manager arranges icons in a particular area of the screen or places each icon where the window was when it was iconified. The value True indicates that icons are arranged in a particular area of the screen, determined by the iconPlacement resource. The value False indicates that an icon is placed at the location of the window when it is iconified. The default is True.

iconBoxGeometry (class IconBoxGeometry)
This resource indicates the initial position and size of the icon box. The value of the resource is a standard window geometry string with the following syntax:

[=][widthxheight][{+-}xoffset{+-}yoffset]

If the offsets are not provided, the iconPlacement policy is used to determine the initial placement. The units for width and height are columns and rows.

The actual screen size of the icon box window depends on the iconImageMaximum (size) and iconDecoration resources. The default value for size is (6 * iconWidth + padding) wide by (1 * iconHeight + padding) high. The default value of the location is +0 -0.


iconBoxName (class IconBoxName)
This resource specifies the name that is used to look up icon box resources. The default name is ``iconbox.''

iconBoxSBDisplayPolicy (class IconBoxSBDisplayPolicy)
This resource specifies the scroll bar display policy of the window manager in the icon box. The resource has three possible values: all, vertical, and horizontal. The default value, ``all'', causes both vertical and horizontal scroll bars always to appear. The value ``vertical'' causes a single vertical scroll bar to appear in the icon box and sets the orientation of the icon box to horizontal (regardless of the iconBoxGeometry specification). The value ``horizontal'' causes a single horizontal scroll bar to appear in the icon box and sets the orientation of the icon box to vertical (regardless of the iconBoxGeometry specification).

iconBoxTitle (class IconBoxTitle)
This resource specifies the name that is used in the title area of the icon box frame. The default value is ``Icons''.

iconClick (class IconClick)
When this resource is given the value of True, the system menu is posted and left posted when an icon is clicked. The default value is True.

iconDecoration (class IconDecoration)
This resource specifies the general icon decoration. The resource value is label (only the label part is displayed) or image (only the image part is displayed) or label image (both the label and image parts are displayed). A value of activelabel can also be specified to get a label (not truncated to the width of the icon) when the icon is selected. The default icon decoration for icon box icons is that each icon has a label part and an image part (label image). The default icon decoration for stand alone icons is that each icon has an active label part, a label part, and an image part (activelabel label image).

iconImageMaximum (class IconImageMaximum)
This resource specifies the maximum size of the icon image. The resource value is widthxheight (for example, 64x64). The maximum supported size is 128x128. The default value of this resource is 50x50.

iconImageMinimum (class IconImageMinimum)
This resource specifies the minimum size of the icon image. The resource value is widthxheight (for example, 32x50). The minimum supported size is 16x16. The default value of this resource is 16x16.

iconPlacement (class IconPlacement)
This resource specifies the icon placement scheme to be used. The resource value has the following syntax:

primary_layout secondary_layout

The layout values are one of the following:

Value Description
top Lay the icons out top to bottom.
bottom Lay the icons out bottom to top.
left Lay the icons out left to right.
right Lay the icons out right to left.

 Value    Description
 top      Lay the icons out top to bottom.
 bottom   Lay the icons out bottom to top.
 left     Lay the icons out left to right.
 right    Lay the icons out right to left.

A horizontal (vertical) layout value should not be used for both the primary_layout and the secondary_layout (for example, don't use top for the primary_layout and bottom for the secondary_layout). The primary_layout indicates whether, when an icon placement is done, the icon is placed in a row or a column and the direction of placement. The secondary_layout indicates where to place new rows or columns. For example, top right indicates that icons should be placed top to bottom on the screen and that columns should be added from right to left on the screen. The default placement is ``right bottom'' (icons are placed right to left on the screen, with the first row on the bottom of the screen, and new rows added from the bottom of the screen to the top of the screen).


iconPlacementMargin (class IconPlacementMargin)
This resource sets the distance between the edge of the screen and the icons that are placed along the edge of the screen. The value should be greater than or equal to 0. A default value (see below) is used if the value specified is invalid. The default value for this resource is equal to the space between icons as they are placed on the screen (this space is based on maximizing the number of icons in each row and column).

interactivePlacement (class InteractivePlacement)
This resource controls the initial placement of new windows on the screen. If the value is True, the pointer shape changes before a new window is placed on the screen to indicate to the user that a position should be selected for the upper-left hand corner of the window. If the value is False, windows are placed according to the initial window configuration attributes. The default value of this resource is False.

keyBindings (class KeyBindings)
This resource identifies the set of key bindings for window management functions. If specified, these key bindings replace the built-in default bindings. The named set of key bindings is specified in mwm resource description file. The default value for this resource is DefaultKeyBindings.

keyboardFocusPolicy (class KeyboardFocusPolicy)
If set to pointer, the keyboard focus policy is to have the keyboard focus set to the client window that contains the pointer (the pointer could also be in the client window decoration that mwm adds). If set to explicit, the policy is to have the keyboard focus set to a client window when the user presses button 1 with the pointer on the client window or any part of the associated mwm decoration. The default value for this resource is explicit.

limitResize (class LimitResize)
If this resource is True, the user is not allowed to resize a window to greater than the maximum size. The default value for this resource is False.

lowerOnIconify (class LowerOnIconify)
If this resource is given the default value of True, a window's icon appears on the bottom of the window stack when the window is minimized (iconified). A value of False places the icon in the stacking order at the same place as its associated window. The default value of this resource is True.

maximumMaximumSize (class MaximumMaximumSize)
This resource is used to limit the maximum size of a client window as set by the user or client. The resource value is widthxheight (for example, 1024x1024) where the width and height are in pixels. The default value of this resource is twice the screen width and height.

moveThreshold (class MoveThreshold)
This resource is used to control the sensitivity of dragging operations that move windows and icons. The value of this resource is the number of pixels that the locator is moved with a button down before the move operation is initiated. This is used to prevent window/icon movement when you click or double-click and there is unintentional pointer movement with the button down. The default value of this resource is 4 (pixels).

moveOpaque (class MoveOpaque)
This resource is used to control the appearance of a window while it is being dragged. When True, the entire window moves instead of just the wire frame. The default value is False.

multiScreen (class MultiScreen)
This resource, if True, causes mwm to manage all the screens on the display. If False, mwm manages only a single screen. The default value is False.

passButtons (class PassButtons)
This resource indicates whether or not button press events are passed to clients after they are used to do a window manager function in the client context. If the resource value is False, the button press is not passed to the client. If the value is True, the button press is passed to the client window. The window manager function is done in either case. The default value for this resource is False.

passSelectButton (class PassSelectButton)
This resource indicates whether or not to pass the select button press events to clients after they are used to do a window manager function in the client context. If the resource value is False, then the button press will not be passed to the client. If the value is True, the button press is passed to the client window. The window manager function is done in either case. The default value for this resource is True.

positionIsFrame (class PositionIsFrame)
This resource indicates how client window position information (from the WM_NORMAL_HINTS property and from configuration requests) is to be interpreted. If the resource value is True, the information is interpreted as the position of the mwm client window frame. If the value is False, it is interpreted as being the position of the client area of the window. The default value of this resource is True.

positionOnScreen (class PositionOnScreen)
This resource is used to indicate that windows should initially be placed (if possible) so that they are not clipped by the edge of the screen (if the resource value is True). If a window is larger than the size of the screen, at least the upper-left corner of the window is on-screen. If the resource value is False, windows are placed in the requested position even if totally off-screen. The default value of this resource is False.

quitTimeout (class QuitTimeout)
This resource specifies the amount of time (in milliseconds) that mwm will wait for a client to update the WM_COMMAND property after mwm has sent the WM_SAVE_YOURSELF message. This protocol is used only for those clients that have a WM_SAVE_YOURSELF atom and no WM_DELETE_WINDOW atom in the WM_PROTOCOLS client window property. The default value of this resource is 1000 (ms). (Refer to the f.kill function for additional information.)

raiseKeyFocus (class RaiseKeyFocus)
This resource is available only when the keyboard input focus policy is explicit. When set to True, this resource specifies that a window raised by means of the f.normalize_and_raise function also receives the input focus. The default value of this resource is False.

resizeBorderWidth (class ResizeBorderWidth)
This resource specifies the width (in pixels) of a client window frame border with resize handles. The specified border width includes the 3-D shadows. The default is 10 (pixels).

resizeCursors (class ResizeCursors)
This is used to indicate whether the resize cursors are always displayed when the pointer is in the window size border. If True, the cursors are shown, otherwise the window manager cursor is shown. The default value is True.

screens (class Screens)
This resource specifies the resource names to use for the screens managed by mwm. If mwm is managing a single screen, only the first name in the list is used. If mwm is managing multiple screens, the names are assigned to the screens in order, starting with screen 0. Screen 0 gets the first name, screen 1 the second name, and so on. The default screen names are 0, 1, and so on.

showFeedback (class ShowFeedback)
This resource controls when feedback information is displayed. It controls both window position and size feedback during move or resize operations and initial client placement. It also controls window manager message and dialog boxes.

The value for this resource is a list of names of the feedback options to be enabled or disabled; the names must be separated by a space. If an option is preceded by a minus sign, that option is excluded from the list. The sign of the first item in the list determines the initial set of options. If the sign of the first option is minus, mwm assumes all options are present and starts subtracting from that set. If the sign of the first decoration is plus (or not specified), mwm starts with no options and builds up a list from the resource.

The names of the feedback options are shown below:

Name Description
all Show all feedback (Default value)
behavior Confirm behavior switch
kill Confirm on receipt of KILL signal
move Show position during move
none Show no feedback
placement Show position and size during initial placement
quit Confirm quitting mwm
resize Show size during resize
restart Confirm mwm restart

 Name        Description
 all         Show all feedback (Default value)
 behavior    Confirm behavior switch
 kill        Confirm on receipt of KILL signal
 move        Show position during move
 none        Show no feedback
 placement   Show position and size during initial
             placement
 quit        Confirm quitting mwm
 resize      Show size during resize
 restart     Confirm mwm restart
The following command line illustrates the syntax for showFeedback:

Mwm*showFeedback: placement resize behavior restart

This resource specification provides feedback for initial client placement and resize, and enables the dialog boxes to confirm the restart and set behavior functions. It disables feedback for the move function. The default value for this resource is all.


startupKeyFocus (class StartupKeyFocus)
This resource is available only when the keyboard input focus policy is explicit. When given the default value of True, a window gets the keyboard input focus when the window is mapped (that is, initially managed by the window manager).

transientDecoration (class TransientDecoration)
This controls the amount of decoration that mwm puts on transient windows. The decoration specification is exactly the same as for the clientDecoration (client specific) resource. Transient windows are identified by the WM_TRANSIENT_FOR property, which is added by the client to indicate a relatively temporary window. The default value for this resource is ``title border resizeh''.

transientFunctions (class TransientFunctions)
This resource is used to indicate which window management functions are applicable (or not applicable) to transient windows. The function specification is exactly the same as for the clientFunctions (client specific) resource. The default value for this resource is ``move resize''.

useIconBox (class UseIconBox)
If this resource is given a value of True, icons are placed in an icon box. When an icon box is not used, the icons are placed on the root window (default value).

wMenuButtonClick (class WMenuButtonClick)
This resource indicates whether a click of the mouse when the pointer is over the window menu button posts and leaves posted the window menu. If the value given this resource is True, the menu remains posted. True is the default value for this resource.

wMenuButtonClick2 (class WMenuButtonClick2)
When this resource is given the default value of True, a double-click action on the window menu button does an f.kill function.

xGranularity (class XGranularity)
This resource indicates where your window should be redrawn when you have moved the sides of it to a non-standard location on the desktop. This feature improves the redraw rate of your window. The new location is specified as a value (x) that represents the number of horizontal pixels that comprise an interval between standard redraw locations. For example, if you moved your window to horizontal pixel number 15 and the xGranularity value is 9, the window would be redrawn at pixel number 18, the nearest location that is a multiple of nine. The default value is 0.

yGranularity (class YGranularity)
This resource indicates where your window should be redrawn when you have moved either the top or bottom of it to a non-standard location on the desktop. This feature improves the redraw rate of your window. The new location is specified as a value (x) that represents the number of vertical pixels that comprise an interval between standard redraw locations. For example, if you moved your window to vertical pixel number 7 and the yGranularity value is 3, the window would be redrawn at pixel number 6, the nearest location that is a multiple of 3. The default value is 0.

Client specific resources

The syntax for specifying client specific resources is

Mwm*client_name_or_class*resource_id

For example, Mwm*mterm*windowMenu is used to specify the window menu to be used with mterm clients.

The syntax for specifying client specific resources for all classes of clients is

Mwm*resource_id

Specific client specifications take precedence over the specifications for all clients. For example, Mwm*windowMenu is used to specify the window menu to be used for all classes of clients that don't have a window menu specified.

The syntax for specifying resource values for windows that have an unknown name and class (that is, windows that do not have a WM_CLASS property associated with them) is

Mwm*defaults*resource_id

For example, Mwm*defaults*iconImage is used to specify the icon image to be used for windows that have an unknown name and class.

The following client specific resources can be specified:

Client specific resources

Name Class Value Type Default
clientDecoration ClientDecoration string all
clientFunctions ClientFunctions string all
focusAutoRaise FocusAutoRaise T/F varies
iconImage IconImage pathname (image)
iconImageBackground Background color icon background
iconImageBottomShadowColor Foreground color icon bottom shadow
iconImageBottomShadowPixmap BottomShadowPixmap color icon bottom shadow
pixmap
iconImageForeground Foreground color varies
iconImageTopShadowColor Background color icon top shadow color
iconImageTopShadowPixmap TopShadowPixmap color icon top shadow
pixmap
matteBackground Background color background
matteBottomShadowColor Foreground color bottom shadow color
matteBottomShadowPixmap BottomShadowPixmap color bottom shadow pixmap
matteForeground Foreground color foreground
matteTopShadowColor Background color top shadow color
matteTopShadowPixmap TopShadowPixmap color top shadow pixmap
matteWidth MatteWidth pixels 0
maximumClientSize MaximumClientSize wxh fill the screen
useClientIcon UseClientIcon T/F F
windowMenu WindowMenu string DefaultWindowMenu

 Name                         Class               Value Type  Default
 clientDecoration             ClientDecoration    string      all
 clientFunctions              ClientFunctions     string      all
 focusAutoRaise               FocusAutoRaise      T/F         varies
 iconImage                    IconImage           pathname    (image)
 iconImageBackground          Background          color       icon background
 iconImageBottomShadowColor   Foreground          color       icon bottom shadow
 iconImageBottomShadowPixmap  BottomShadowPixmap  color       icon bottom shadow
                                                              pixmap
 iconImageForeground          Foreground          color       varies
 iconImageTopShadowColor      Background          color       icon top shadow color
 iconImageTopShadowPixmap     TopShadowPixmap     color       icon top shadow
                                                              pixmap
 matteBackground              Background          color       background
 matteBottomShadowColor       Foreground          color       bottom shadow color
 matteBottomShadowPixmap      BottomShadowPixmap  color       bottom shadow pixmap
 matteForeground              Foreground          color       foreground
 matteTopShadowColor          Background          color       top shadow color
 matteTopShadowPixmap         TopShadowPixmap     color       top shadow pixmap
 matteWidth                   MatteWidth          pixels      0
 maximumClientSize            MaximumClientSize   wxh         fill the screen
 useClientIcon                UseClientIcon       T/F         F
 windowMenu                   WindowMenu          string      DefaultWindowMenu

clientDecoration (class ClientDecoration)
This resource controls the amount of window frame decoration. The resource is specified as a list of decorations to specify their inclusion in the frame. If a decoration is preceded by a minus sign, that decoration is excluded from the frame. The sign of the first item in the list determines the initial amount of decoration. If the sign of the first decoration is minus, mwm assumes all decorations are present and starts subtracting from that set. If the sign of the first decoration is plus (or not specified), then mwm starts with no decoration and builds up a list from the resource.

Name Description
all Include all decorations (default value)
border Window border
maximize Maximize button (includes title bar)
minimize Minimize button (includes title bar)
none No decorations
resizeh Border resize handles (includes border)
menu Window menu button (includes title bar)
title Title bar (includes border)

 Name       Description
 all        Include all decorations (default value)
 border     Window border
 maximize   Maximize button (includes title bar)
 minimize   Minimize button (includes title bar)
 none       No decorations
 resizeh    Border resize handles (includes border)
 menu       Window menu button (includes title bar)
 title      Title bar (includes border)
Examples:

Mwm*XClock.clientDecoration: -resizeh -maximize

This removes the resize handles and maximize button from XClock windows.

Mwm*XClock.clientDecoration: menu minimize border

This does the same thing as above. Note that either menu or minimize implies title.


clientFunctions (class ClientFunctions)
This resource is used to indicate which mwm functions are applicable (or not applicable) to the client window. The value for the resource is a list of functions. If the first function in the list has a minus sign in front of it, then mwm starts with all functions and subtracts from that set. If the first function in the list has a plus sign in front of it, then mwm starts with no functions and builds up a list. Each function in the list must be preceded by the appropriate plus or minus sign and separated from the next function by a space.

The table below lists the functions available for this resource:

Name Description
all Include all functions (default value)
none No functions
resize f.resize
move f.move
minimize f.minimize
maximize f.maximize
close f.kill

 Name       Description
 all        Include all functions (default value)
 none       No functions
 resize     f.resize
 move       f.move
 minimize   f.minimize
 maximize   f.maximize
 close      f.kill

focusAutoRaise (class FocusAutoRaise)
When the value of this resource is True, clients are raised when they get the keyboard input focus. If the value is False, the stacking of windows on the display is not changed when a window gets the keyboard input focus. The default value is True when the keyboardFocusPolicy is explicit and False when the keyboardFocusPolicy is pointer.

iconImage (class IconImage)
This resource can be used to specify an icon image for a client (for example, ``Mwm*myclock*iconImage''). The resource value is a pathname for a bitmap file. The value of the (client specific) useClientIcon resource is used to determine whether or not user supplied icon images are used instead of client supplied icon images. The default value is to display a built-in window manager icon image.

iconImageBackground (class Background)
This resource specifies the background color of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon background color (that is, specified by Mwm*background or Mwm*icon*background).

iconImageBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon bottom shadow color (that is, specified by Mwm*icon*bottomShadowColor).

iconImageBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon bottom shadow Pixmap (that is, specified by Mwm*icon*bottomShadowPixmap).

iconImageForeground (class Foreground)
This resource specifies the foreground color of the icon image that is displayed in the image part of an icon. The default value of this resource varies depending on the icon background.

iconImageTopShadowColor (class Background)
This resource specifies the top shadow color of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon top shadow color (that is, specified by Mwm*icon*topShadowColor).

iconImageTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap of the icon image that is displayed in the image part of an icon. The default value of this resource is the icon top shadow pixmap (that is, specified by Mwm*icon*topShadowPixmap).

matteBackground (class Background)
This resource specifies the background color of the matte, when matteWidth is positive. The default value of this resource is the client background color (that is, specified by Mwm*background or Mwm*client*background).

matteBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of the matte, when matteWidth is positive. The default value of this resource is the client bottom shadow color (that is, specified by Mwm*bottomShadowColor or Mwm*client*bottomShadowColor).

matteBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of the matte, when matteWidth is positive. The default value of this resource is the client bottom shadow pixmap (that is, specified by Mwm*bottomShadowPixmap or Mwm*client*bottomShadowPixmap).

matteForeground (class Foreground)
This resource specifies the foreground color of the matte, when matteWidth is positive. The default value of this resource is the client foreground color (that is, specified by Mwm*foreground or Mwm*client*foreground).

matteTopShadowColor (class Background)
This resource specifies the top shadow color of the matte, when matteWidth is positive. The default value of this resource is the client top shadow color (that is, specified by Mwm*topShadowColor or Mwm*client*topShadowColor).

matteTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow pixmap of the matte, when matteWidth is positive. The default value of this resource is the client top shadow pixmap (that is, specified by Mwm*topShadowPixmap or Mwm*client*topShadowPixmap).

matteWidth (class MatteWidth)
This resource specifies the width of the optional matte. The default value is 0, which effectively disables the matte.

maximumClientSize (class MaximumClientSize)
This is a size specification that indicates the client size to be used when an application is maximized. The resource value is specified as widthxheight. The width and height are interpreted in the units that the client uses (for example, for terminal emulators this is generally characters). If this resource is not specified, the maximum size from the WM_NORMAL_HINTS property is used if set. Otherwise the default value is the size where the client window with window management borders fills the screen. When the maximum client size is not determined by the maximumClientSize resource, the maximumMaximumSize resource value is used as a constraint on the maximum size.

useClientIcon (class UseClientIcon)
If the value given for this resource is True, a client-supplied icon image takes precedence over a user-supplied icon image. The default value is False, giving the user-supplied icon image higher precedence than the client-supplied icon image.

windowMenu (class WindowMenu)
This resource indicates the name of the menu pane that is posted when the window menu is popped up (usually by pressing button 1 on the window menu button on the client window frame). Menu panes are specified in the mwm resource description file. Window menus can be customized on a client class basis by specifying resources of the form Mwm*client_name_or_class*windowMenu (see ``Mwm Resource Description File Syntax''). The default value of this resource is ``DefaultWindowMenu.''

Resource description file

The mwm resource description file is a supplementary resource file that contains resource descriptions that are referred to by entries in the defaults files (.Xdefaults, app-defaults/Mwm). It contains descriptions of resources that are to be used by mwm, and that cannot be easily encoded in the defaults files (a bitmap file is an analogous type of resource description file). A particular mwm resource description file can be selected using the configFile resource.

See the corresponding pmwm files for examples of SCO Panorama resource descriptions.

The following types of resources can be described in the mwm resource description file:


Buttons
Window manager functions can be bound (associated) with button events.

Keys
Window manager functions can be bound (associated) with key press events.

Menus
Menu panes can be used for the window menu and other menus posted with key bindings and button bindings.

mwm resource description file syntax

The mwm resource description file is a standard text file that contains items of information separated by blanks, tabs, and newline characters. Blank lines are ignored. Items or characters can be quoted to avoid special interpretation (for example, the comment character can be quoted to prevent it from being interpreted as the comment character). A quoted item can be contained in double quotes ("). Single characters can be quoted by preceding them by the backslash character (\). All text from an unquoted ``#'' to the end of the line is regarded as a comment and is not interpreted as part of a resource description. If ``!'' is the first character in a line, the line is regarded as a comment. Window manager functions can be accessed with button and key bindings, and with window manager menus..P
Functions are indicated as part of the specifications for button and key binding sets, and menu panes. The function specification has the following syntax:

function = function_name [function_args]
function_name = window manager function
function_args = {quoted_item | unquoted_item}

 function =        function_name [function_args]
 function_name =   window manager function
 function_args =   {quoted_item | unquoted_item}
The following functions are supported. If a function is specified that isn't one of the supported functions, then it is interpreted by mwm as f.nop.

f.beep
This function causes a beep.

f.circle_down [icon | window]
This function causes the window or icon that is on the top of the window stack to be put on the bottom of the window stack (so that it no longer obscures any other window or icon). This function affects only those windows and icons that obscure other windows and icons, or that are obscured by other windows and icons. Secondary windows (that is, transient windows) are restacked with their associated primary window. Secondary windows always stay on top of the associated primary window and there can be no other primary windows between the secondary windows and their primary window. If an icon function argument is specified, the function applies only to icons. If a window function argument is specified, the function applies only to windows.

f.circle_up [icon | window]
This function raises the window or icon on the bottom of the window stack (so that it is not obscured by any other windows). This function affects only those windows and icons that obscure other windows and icons, or that are obscured by other windows and icons. Secondary windows (that is, transient windows) are restacked with their associated primary window. If an icon function argument is specified, the function applies only to icons. If a window function argument is specified, the function applies only to windows.

f.exec or !
This function causes command to be executed (using the value of the MWMSHELL environment variable if it is set, otherwise the value of the SHELL environment variable if it is set, otherwise /bin/sh). The ! notation can be used in place of the f.exec function name.

f.focus_color
This function sets the colormap focus to a client window. If this function is done in a root context, the default colormap (set up by the X Window System for the screen where mwm is running) is installed and there is no specific client window colormap focus. This function is treated as f.nop if colormapFocusPolicy is not explicit.

f.focus_key
This function sets the keyboard input focus to a client window or icon. This function is treated as f.nop if keyboardFocusPolicy is not explicit or the function is executed in a root context.

f.kill
This function is used to terminate a client. If the WM_DELETE_WINDOW protocol is set up, the client is sent a client message event, indicating that the client window should be deleted. If the WM_SAVE_YOURSELF protocol is set up and the WM_DELETE_WINDOW protocol is not set up, the client is sent a client message event, indicating that the client needs to prepare to be terminated. If the client does not have the WM_DELETE_WINDOW or WM_SAVE_YOURSELF protocol set up, this function causes a client's X connection to be terminated (usually resulting in termination of the client). Refer to the description of the quitTimeout resource and the WM_PROTOCOLS property.

f.lower [-client]
This function lowers a client window to the bottom of the window stack (where it obscures no other window). Secondary windows (that is, transient windows) are restacked with their associated primary window. The client argument indicates the name or class of a client to lower. If the client argument is not specified, the context that the function was invoked in indicates the window or icon to lower.

f.maximize
This function causes a client window to be displayed with its maximum size.

f.menu
This function associates a cascading (pull-right) menu with a menu pane entry or a menu with a button or key binding. The menu_name function argument identifies the menu to be used.

f.minimize
This function causes a client window to be minimized (iconified). When a window is minimized when no icon box is used, its icon is placed on the bottom of the window stack (so that it obscures no other window). If an icon box is used, the client's icon changes to its iconified form inside the icon box. Secondary windows (that is, transient windows) are minimized with their associated primary window. There is only one icon for a primary window and all its secondary windows.

f.move
This function causes a client window to be interactively moved.

f.next_cmap
This function installs the next colormap in the list of colormaps for the window with the colormap focus.

f.next_key [icon | window | transient]
This function sets the keyboard input focus to the next window/icon in the set of windows/icons managed by the window manager (the ordering of this set is based on the stacking of windows on the screen).

This function is treated as f.nop if keyboardFocusPolicy is not explicit. The keyboard input focus is moved only to windows that do not have an associated secondary window that is application modal. If the transient argument is specified, transient (secondary) windows are traversed (otherwise, if only window is specified, traversal is done only to the last focused window in a transient group). If an icon function argument is specified, the function applies only to icons. If a window function argument is specified, the function applies only to windows.


f.nop
This function does nothing.

f.normalize
This function causes a client window to be displayed with its normal size. Secondary windows (that is, transient windows) are placed in their normal state along with their associated primary window.

f.normalize_and_raise
This function causes the corresponding client window to be displayed with its normal size and raised to the top of the window stack. Secondary windows (that is, transient windows) are placed in their normal state along with their associated primary window.

f.pack_icons
This function is used to relayout icons (based on the layout policy being used) on the root window or in the icon box. In general this causes icons to be ``packed'' into the icon grid.

f.pass_keys
This function is used to enable/disable (toggle) processing of key bindings for window manager functions. When it disables key binding processing, all keys are passed on to the window with the keyboard input focus and no window manager functions are invoked. If the f.pass_keys function is invoked with a key binding to disable key-binding processing, the same key binding can be used to enable key-binding processing.

f.post_wmenu
This function is used to post the window menu. If a key is used to post the window menu and a window menu button is present, the window menu is automatically placed with its top-left corner at the bottom-left corner of the window menu button for the client window. If no window menu button is present, the window menu is placed at the top-left corner of the client window.

f.prev_cmap
This function installs the previous colormap in the list of colormaps for the window with the colormap focus.

f.prev_key [icon | window | transient]
This function sets the keyboard input focus to the previous window/icon in the set of windows/icons managed by the window manager (the ordering of this set is based on the stacking of windows on the screen).

This function is treated as f.nop if keyboardFocusPolicy is not explicit. The keyboard input focus is moved only to windows that do not have an associated secondary window that is application modal. If the transient argument is specified, transient (secondary) windows are traversed (otherwise, if only window is specified, traversal is done only to the last focused window in a transient group). If an icon function argument is specified, the function applies only to icons. If an window function argument is specified, the function applies only to windows.


f.quit_mwm
This function terminates mwm (but NOT the X window system).

f.raise [-client]
This function raises a client window to the top of the window stack (where it is obscured by no other window). Secondary windows (that is, transient windows) are restacked with their associated primary window. The client argument indicates the name or class of a client to raise. If the client argument is not specified, the context that the function was invoked in indicates the window or icon to raise.

f.raise_lower
This function raises a client window to the top of the window stack if it is partially obscured by another window, otherwise it lowers the window to the bottom of the window stack. Secondary windows (that is, transient windows) are restacked with their associated primary window.

f.refresh
This function causes all windows to be redrawn.

f.refresh_win
This function causes a client window to be redrawn.

f.resize
This function causes a client window to be interactively resized.

f.restart
This function causes mwm to be restarted (effectively terminated and re-executed).

f.send_msg message_number
This function sends a client message of the type _MOTIF_WM_MESSAGES with the message_type indicated by the message_number function argument. The client message is sent only if message_number is included in the client's _MOTIF_WM_MESSAGES property. A menu item label is grayed out if the menu item is used to do f.send_msg of a message that is not included in the client's _MOTIF_WM_MESSAGES property.

f.separator
This function causes a menu separator to be put in the menu pane at the specified location (the label is ignored).

f.set_behavior
This function causes the window manager to restart with the default behavior (if a custom behavior is configured) or revert to the custom behavior. By default this is bound to <Shift> <Ctrl> <Meta> <Key>!.

f.title
This function inserts a title in the menu pane at the specified location.

Each function may be constrained as to which resource types can specify the function (for example, menu pane) and also what context the function can be used in (for example, the function is done to the selected client window). Function contexts are:

root
No client window or icon has been selected as an object for the function.

window
A client window has been selected as an object for the function. This includes the window's title bar and frame. Some functions are applied only when the window is in its normalized state (for example, f.maximize) or its maximized state (for example, f.normalize).

icon
An icon has been selected as an object for the function.
If a function's context has been specified as icon|window and the function is invoked in an icon box, the function applies to the icon box, not to the icons inside.

If a function is specified in a type of resource where it is not supported or is invoked in a context that does not apply, the function is treated as f.nop. The following table indicates the resource types and function contexts in which window manager functions apply.

Function Contexts Resources
f.beep root, icon, window button, key, menu
f.circle_down root, icon, window button, key, menu
f.circle_up root, icon, window button, key, menu
f.exec root, icon, window button, key, menu
f.focus_color root, icon, window button, key, menu
f.focus_key root, icon, window button, key, menu
f.kill icon, window button, key, menu
f.lower icon, window button, key, menu
f.maximize icon, window(normal) button, key, menu
f.menu root, icon, window button, key, menu
f.minimize window button, key, menu
f.move icon, window button, key, menu
f.next_cmap root, icon, window button, key, menu
f.next_key root, icon, window button, key, menu
f.nop root, icon, window button, key, menu
f.normalize icon, window(maximized) button, key, menu
f.normalize_and_raise icon, window button, key, menu
f.pack_icons root, icon, window button, key, menu
f.pass_keys root, icon, window button, key, menu
f.post_wmenu root, icon, window button, key
f.prev_cmap root, icon, window button, key, menu
f.prev_key root, icon, window button, key, menu
f.quit_mwm root button, key, menu (root only)
f.raise icon, window button, key, menu
f.raise_lower icon, window button, key, menu
f.refresh root, icon, window button, key, menu
f.refresh_win window button, key, menu
f.resize window button, key, menu
f.restart root button, key, menu (root only)
f.send_msg icon, window button, key, menu
f.separator root, icon, window menu
f.set_behavior root, icon, window button, key, menu
f.title root, icon, window menu

 +----------------------+-------------------------+-------------------------------+
 |Function              | Contexts                | Resources                     |
 +----------------------+-------------------------+-------------------------------+
 |f.beep                | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.circle_down         | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.circle_up           | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.exec                | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.focus_color         | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.focus_key           | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.kill                | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.lower               | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.maximize            | icon, window(normal)    | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.menu                | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.minimize            | window                  | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.move                | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.next_cmap           | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.next_key            | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.nop                 | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.normalize           | icon, window(maximized) | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.normalize_and_raise | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.pack_icons          | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.pass_keys           | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.post_wmenu          | root, icon, window      | button, key                   |
 +----------------------+-------------------------+-------------------------------+
 |f.prev_cmap           | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.prev_key            | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.quit_mwm            | root                    | button, key, menu (root only) |
 +----------------------+-------------------------+-------------------------------+
 |f.raise               | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.raise_lower         | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.refresh             | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.refresh_win         | window                  | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.resize              | window                  | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.restart             | root                    | button, key, menu (root only) |
 +----------------------+-------------------------+-------------------------------+
 |f.send_msg            | icon, window            | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.separator           | root, icon, window      | menu                          |
 +----------------------+-------------------------+-------------------------------+
 |f.set_behavior        | root, icon, window      | button, key, menu             |
 +----------------------+-------------------------+-------------------------------+
 |f.title               | root, icon, window      | menu                          |
 +----------------------+-------------------------+-------------------------------+

Window manager event specification

Events are indicated as part of the specifications for button and key-binding sets, and menu panes.

Button events have the following syntax:

button = [modifier_list]<button_event_name>
modifier_list = modifier_name {modifier_name}

All modifiers specified are interpreted as being exclusive (this means that only the specified modifiers can be present when the button event occurs). The following table indicates the values that can be used for modifier_name.[1]

Modifier Description
Ctrl Control Key
Shift Shift Key
Alt Alt/Meta Key
Meta Meta/Alt Key
Lock Lock Key
Mod1 Modifier1
Mod2 Modifier2
Mod3 Modifier3
Mod4 Modifier4
Mod5 Modifier5

 +---------+--------------+
 |Modifier | Description  |
 +---------+--------------+
 |Ctrl     | Control Key  |
 +---------+--------------+
 |Shift    | Shift Key    |
 +---------+--------------+
 |Alt      | Alt/Meta Key |
 +---------+--------------+
 |Meta     | Meta/Alt Key |
 +---------+--------------+
 |Lock     | Lock Key     |
 +---------+--------------+
 |Mod1     | Modifier1    |
 +---------+--------------+
 |Mod2     | Modifier2    |
 +---------+--------------+
 |Mod3     | Modifier3    |
 +---------+--------------+
 |Mod4     | Modifier4    |
 +---------+--------------+
 |Mod5     | Modifier5    |
 +---------+--------------+
The following table indicates the values that can be used for button_event_name.

Button Description
Btn1Down Button 1 Press
Btn1Up Button 1 Release
Btn1Click Button 1 Press and Release
Btn1Click2 Button 1 Double-Click
Btn2Down Button 2 Press
Btn2Up Button 2 Release
Btn2Click Button 2 Press and Release
Btn2Click2 Button 2 Double-Click
Btn3Down Button 3 Press
Btn3Up Button 3 Release
Btn3Click Button 3 Press and Release
Btn3Click2 Button 3 Double-Click
Btn4Down Button 4 Press
Btn4Up Button 4 Release
Btn4Click Button 4 Press and Release
Btn4Click2 Button 4 Double-Click
Btn5Down Button 5 Press
Btn5Up Button 5 Release
Btn5Click Button 5 Press and Release
Btn5Click2 Button 5 Double-Click

 +-----------+----------------------------+
 |Button     | Description                |
 +-----------+----------------------------+
 |Btn1Down   | Button 1 Press             |
 +-----------+----------------------------+
 |Btn1Up     | Button 1 Release           |
 +-----------+----------------------------+
 |Btn1Click  | Button 1 Press and Release |
 +-----------+----------------------------+
 |Btn1Click2 | Button 1 Double-Click      |
 +-----------+----------------------------+
 |Btn2Down   | Button 2 Press             |
 +-----------+----------------------------+
 |Btn2Up     | Button 2 Release           |
 +-----------+----------------------------+
 |Btn2Click  | Button 2 Press and Release |
 +-----------+----------------------------+
 |Btn2Click2 | Button 2 Double-Click      |
 +-----------+----------------------------+
 |Btn3Down   | Button 3 Press             |
 +-----------+----------------------------+
 |Btn3Up     | Button 3 Release           |
 +-----------+----------------------------+
 |Btn3Click  | Button 3 Press and Release |
 +-----------+----------------------------+
 |Btn3Click2 | Button 3 Double-Click      |
 +-----------+----------------------------+
 |Btn4Down   | Button 4 Press             |
 +-----------+----------------------------+
 |Btn4Up     | Button 4 Release           |
 +-----------+----------------------------+
 |Btn4Click  | Button 4 Press and Release |
 +-----------+----------------------------+
 |Btn4Click2 | Button 4 Double-Click      |
 +-----------+----------------------------+
 |Btn5Down   | Button 5 Press             |
 +-----------+----------------------------+
 |Btn5Up     | Button 5 Release           |
 +-----------+----------------------------+
 |Btn5Click  | Button 5 Press and Release |
 +-----------+----------------------------+
 |Btn5Click2 | Button 5 Double-Click      |
 +-----------+----------------------------+
Key events that are used by the window manager for menu mnemonics and for binding to window manager functions are single key presses; key releases are ignored. Key events have the following syntax:

key = [modifier_list]<Key>key_name
modifier_list = modifier_name {modifier_name}

All modifiers specified are interpreted as being exclusive (this means that only the specified modifiers can be present when the key event occurs). Modifiers for keys are the same as those that apply to buttons. The key_name is an X11 keysym name. Keysym names can be found in the keysymdef.h file (remove the XK_ prefix).

Button bindings

The buttonBindings resource value is the name of a set of button bindings that are used to configure window manager behavior. A window manager function can be done when a button press occurs with the pointer over a framed client window, an icon, or the root window. The context for indicating where the button press applies is also the context for invoking the window manager function when the button press is done (significant for functions that are context sensitive).

The button binding syntax is:

Buttons bindings_set_name
{
button context function
button context function
.
.
button context function
}

The syntax for the context specification is

context = object[|context]
object = root | icon | window | title | frame | border | app

 context =   object[|context]
 object =    root | icon | window | title | frame | border | app
The context specification indicates where the pointer must be for the button binding to be effective. For example, a context of window indicates that the pointer must be over a client window or window management frame for the button binding to be effective. The frame context is for the window management frame around a client window (including the border and titlebar), the border context is for the border part of the window management frame (not including the titlebar), the title context is for the title area of the window management frame, and the app context is for the application window (not including the window management frame).

If an f.nop function is specified for a button binding, the button binding is not done.

Key bindings

The keyBindings resource value is the name of a set of key bindings that are used to configure window manager behavior. A window manager function can be done when a particular key is pressed. The context in which the key binding applies is indicated in the key binding specification. The valid contexts are the same as those that apply to button bindings.

The key binding syntax is:

Keys bindings_set_name
{
key context function
key context function
.
.
key context function
}

If an f.nop function is specified for a key binding, the key binding is not done. If an f.post_wmenu or f.menu function is bound to a key, mwm will automatically use the same key for removing the menu from the screen after it has been popped up.

The context specification syntax is the same as for button bindings. For key bindings, the frame, title, border, and app contexts are equivalent to the window context. The context for a key event is the window or icon that has the keyboard input focus (root if no window or icon has the keyboard input focus).

Menu panes

Menus can be popped up using the f.post_wmenu and f.menu window manager functions. The context for window manager functions that are done from a menu is root, icon or window depending on how the menu was popped up. In the case of the window menu or menus popped up with a key binding, the location of the keyboard input focus indicates the context. For menus popped up using a button binding, the context of the button binding is the context of the menu.

The menu pane specification syntax is

Menu menu_name
{
label [mnemonic] [accelerator] function
label [mnemonic] [accelerator] function
.
.
label [mnemonic] [accelerator] function
}

Each line in the Menu specification identifies the label for a menu item and the function to be done if the menu item is selected. Optionally a menu button mnemonic and a menu button keyboard accelerator may be specified. Mnemonics are functional only when the menu is posted and keyboard traversal applies.

The label may be a string or a bitmap file. The label specification has the following syntax:


label =

text | bitmap_file

bitmap_file =

@file_name

text =

quoted_item | unquoted_item

The string encoding for labels must be compatible with the menu font that is used. Labels are greyed out for menu items that do the f.nop function or an invalid function or a function that doesn't apply in the current context.

A mnemonic specification has the following syntax:

mnemonic = _character

The first matching character in the label is underlined. If there is no matching character in the label, no mnemonic is registered with the window manager for that label. Although the character must exactly match a character in the label, the mnemonic does not execute if any modifier (such as Shift) is pressed with the character key.

The accelerator specification is a key event specification with the same syntax as is used for key bindings to window manager functions.

Environment variables

mwm uses the environment variable HOME specifying the user's home directory.

mwm uses the environment variable LANG specifying the user's choice of language for the mwm message catalog and the mwm resource description file.

mwm uses the environment variables XFILESEARCHPATH, XUSERFILESEARCHPATH, XAPPLRESDIR, XENVIRONMENT, LANG, and HOME in determining search paths for resource defaults files.

mwm reads the $HOME/.motifbind file if it exists to install a virtual key bindings property on the root window.

mwm uses the environment variable MWMSHELL (or SHELL, if MWMSHELL is not set), specifying the shell to use when executing commands via the f.exec function.

Files

/usr/lib/X11/system.mwmrc
/usr/lib/X11/system.pmwmrc
/usr/lib/X11/app-defaults/Mwm
/usr/lib/X11/app-defaults/Pmwm
$HOME/Mwm
$HOME/Pmwm
$HOME/.Xdefaults-hostname
$HOME/.mwmrc
$HOME/.pmwmrc
$HOME/.motifbind

References

X(X1M)


Footnotes

[1]
The [Alt] key is frequently labeled [Extend] or [Meta]. Alt and Meta can be used interchangeably in event specification.

© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004