NAME
mwm - The Motif Window Manager.

SYNOPSIS
mwm [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.

Options

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

-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 "X 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, e.g., -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

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

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 allow 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.

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.

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][Escape] 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

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-host
mwm 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|

|The default is chosen based on the visual type of the screen.
||Image name. See XmInstallImage(3X).
|||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|

|The default is chosen based on the visual type of the screen.
||See XmInstallImage(3X).

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. multi-click time enableWarp enableWarp T/F T enforceKeyFocus EnforceKeyFocus T/F T 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 left bottom iconPlacementMargin IconPlacementMargin pixels varies interactivePlacement InteractivePlacement T/F F keyBindings KeyBindings string "DefaultKeyBindings" keyboardFocusPolicy KeyboardFocusPolicy string explicit limitResize LimitResize T/F T lowerOnIconify LowerOnIconify T/F T maximumMaximumSize MaximumMaximumSize wxh (pixels)

2X screen
w&h 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 T 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

system
title transientFunctions TransientFunctions string

-minimize
-maximize useIconBox UseIconBox T/F F wMenuButtonClick WMenuButtonClick T/F T wMenuButtonClick2 WMenuButtonClick2 T/F T

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 (classCleanText)
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.

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.

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 left bottom (icons are placed left
to right 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 True.

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).

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 True.

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 mananged 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

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 menu title (that is, transient windows
have resize borders and a titlebar with a window menu
button).

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 -minimize -maximize.

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.

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 color

BottomShadow-
Pixmap

icon bottom
shadow pixmap iconImageForeground Foreground color varies iconImageTopShadowColor Background color

icon top
shadow color iconImageTopShadowPixmap color

TopShadow-
Pixmap

icon top
shadow pixmap matteBackground Background color background matteBottomShadowColor Foreground color

bottom
shadow color matteBottomShadowPixmap color

BottomShadow-
Pixmap

bottom shadow
pixmap matteForeground Foreground color foreground matteTopShadowColor Background color

top shadow
color matteTopShadowPixmap color

TopShadow-
Pixmap

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)

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

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 (i.e., 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.

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 new-
line 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 back-slash 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. 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}

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 an 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 (setup 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
(i.e., 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 root, 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
f.raise root, 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
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. The [Alt] key is frequently
labeled [Extend] or [Meta]. Alt and Meta can be used
interchangeably in event specification.

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

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

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
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. For more
information on the content of the .motifbind file, see
VirtualBindings(3X).

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/$LANG/system.mwmrc /usr/lib/X11/system.mwmrc
/usr/lib/X11/app-defaults/Mwm $HOME/Mwm $HOME/.Xdefaults
$HOME/$LANG/.mwmrc $HOME/.mwmrc $HOME/.motifbind

RELATED INFORMATION
VendorShell(3X), VirtualBindings(3X), X(1), and XmInstallImage(3X).