Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

X(X)


 mwm(X)                        06 January 1993                         mwm(X)


 Name

    mwm - the Motif Window Manager

 Syntax

    mwm [options]

 Description

    mwm is an X Window System client that provides window management func-
    tionality and some session management functionality.  It provides func-
    tions that facilitate control (by the user and the programmer) of ele-
    ments 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(X).

    -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 config-
    uration 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, 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 func-
    tions:

    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 but-
                     ton, 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 horizon-
                     tal bar in it.  To pull down the window menu, press but-
                     ton 1.  While pressing, drag the pointer on the menu to
                     your selection, then release the button when your selec-
                     tion is highlighted.  Alternately, you can click button
                     1 to pull down the menu and keep it posted; then posi-
                     tion 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 indi-
                     cate the new window size.

    Matte            An optional matte decoration can be added between the
                     client area and the window frame.  A matte is not actu-
                     ally part of the window frame.  There is no func-
                     tionality 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 associ-
    ated 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 configu-
    ration 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> <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


    _________________________________________________________________________
    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 cus-
    tomary locations for these files.  The actual location of the system-wide
    class resource file may depend on the XFILESEARCHPATH environment vari-
    able 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 environ-
    ment.

    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 specifica-
    tions (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, fore-
    ground) 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 (gen-
    erally 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 speci-
    fied, the resource is applied to icons; and if client is specified, the
    resource is applied to client window frames.  For example, Mwm*icon*fore-
    ground 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 win-
    dow 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(Xt).
    [+][+][+] 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 key-
              board 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 imple-
              mented, 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(Xt).

    activeBackground (class Background)
              This resource specifies the background color of the mwm decora-
              tion 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 decora-
              tion 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 decora-
              tion 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 speci-
    fied:

    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
    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        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
    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           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
    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 mil-
              liseconds) 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) back-
              ground.  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 win-
              dow 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 con-
              taining 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 descrip-
              tion 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 con-
              siders 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 con-
              figuration 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 dur-
              ing keyboard-controlled resize and move operations.  Setting
              the value to False causes mwm to leave the pointer at its ori-
              ginal 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 win-
              dow 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 possi-
              ble 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 iconBox-
              Geometry 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 activela-
              bel 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 decora-
              tion 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 second-
              ary_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 decora-
              tion 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 but-
              ton 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 but-
              ton 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 win-
              dow 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 pro-
              perty 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 addi-
              tional 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 win-
              dow 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 cur-
              sor 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

              The following command line illustrates the syntax for showFeed-
              back:

                 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 tran-
              sient windows.  The decoration specification is exactly the
              same as for the clientDecoration (client specific) resource.
              Transient windows are identified by the WM_TRANSIENT_FOR pro-
              perty, 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 func-
              tions 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.

    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 win-
    dow 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 pro-
    perty 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"


    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 sub-
              tracting 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 spe-
              cific) useClientIcon resource is used to determine whether or
              not user supplied icon images are used instead of client sup-
              plied 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*fore-
              ground 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 inter-
              preted in the units that the client uses (for example, for ter-
              minal 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 manage-
              ment borders fills the screen.  When the maximum client size is
              not determined by the maximumClientSize resource, the maximum-
              MaximumSize 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 newline characters.
    Blank lines are ignored.  Items or characters can be quoted to avoid spe-
    cial 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.  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 win-
              dows 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 func-
              tion 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 run-
              ning) is installed and there is no specific client window
              colormap focus.  This function is treated as f.nop if colormap-
              FocusPolicy 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 keyboard-
              FocusPolicy 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 (usu-
              ally 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 win-
              dow stack (where it obscures no other window).  Secondary win-
              dows (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 (iconi-
              fied).  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 minim-
              ized 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 color-
              maps 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 second-
              ary window that is application modal.  If the transient argu-
              ment 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 func-
              tion 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 dis-
              played 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 pri-
              mary 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 second-
              ary window that is application modal.  If the transient argu-
              ment 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 func-
              tion 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.  Sec-
              ondary 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 ter-
              minated 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 func-
              tion.  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 func-
    tion 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 sup-
    ported 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_raiseicon, 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

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

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

    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 indi-
    cating 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 indi-
    cates 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 bind-
    ing 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 key-
    board 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 speci-
    fied.  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 win-
    dow 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 direc-
    tory.

    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 con-
    tent of the .motifbind file, see VirtualBindings(Xt).

    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


 See also

    VendorShell(Xt), VirtualBindings(Xt), X(X), XmInstallImage(Xt)


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026