MWM(X) UNIX System V MWM(X)
NAME
mwm - A Window Manager
SYNOPSIS
mwm [options]
DESCRIPTION
mwm is an X11 client that provides window management
functionality and some session management functionality. It
provides functions that facilitate control (by the user and
the programmer) of elements of window states such as
placement, size, icon/normal display, input focus ownership,
etc. It also provides session management functions such as
stopping a client.
OPTIONS
-display display
This option specifies the display to use; see X(1).
-xrm resourcestring
This option specifies a resource string to use.
Appearance
The following sections describe the basic default behaviors
of windows, icons, the icon box, input focus, and window
stacking. The appearance and behavior of the window manager
can be altered by changing the configuration of specific
resources. Resources are defined under the heading "X
DEFAULTS."
Windows
Default mwm window frames have distinct components with
associated functions:
Title Area In addition to displaying the client's
title, the title area is used to move the
window. To move the window, place the
pointer over the title area, press button 1
and drag the window to a new location. A
wire frame is moved during the drag to
indicate the new location. When the button
is released, the window is moved to the new
location.
Title Bar The title bar includes the title area, the
minimize button, the maximize button and
the window menu button.
Minimize Button To turn the window back into its icon, do a
button 1 click 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), do a button 1 click
on the maximize button (the frame box with
a large square in it).
Window Menu Button
The window menu button is the frame box
with a horizontal bar in it. To pop up the
window menu, press button 1. While
pressing, drag the pointer on the menu to
your selection, then release the button
when your selection is highlighted.
Alternately, you can click button 1 to pop
up the menu and keep it posted; then
position the pointer and select.
___________________________________________________________________
Default Window Menu
___________________________________________________________________
Selection Accelerator Description
___________________________________________________________________
___________________________________________________________________
Restore Alt+F5 Inactive (not an option for windows).
___________________________________________________________________
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+F11 Moves window to bottom of window stack.
___________________________________________________________________
Close Alt+F4 Removes client from mwm management.
___________________________________________________________________
Resize Border Handles
To change the size of a window, move the
pointer over a resize border handle (the
cursor will change), press button 1, and
drag the window to a new size. When the
button is released, the window is resized.
While dragging is being done, a rubber-band
outline is displayed to indicate the new
window size.
Matte An optional matte decoration can be added
between the client area and the window
frame. A matte is not actually part of the
window frame. There is no functionality
associated with a matte.
Icons
Icons are small graphic representations of windows. A
window can be minimized (iconified) using the minimize
button on the window frame. Icons provide a way to reduce
clutter on the screen.
Pressing mouse button 1 when the pointer is over an icon
will cause the icon's window menu to pop up. Releasing the
button (press + release without moving mouse = click) will
cause 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+F11 Moves icon to bottom of icon stack.
___________________________________________________________________
Close Alt+F4 Removes client from mwm management.
___________________________________________________________________
Double-clicking button 1 on an icon normalizes the icon into
its associated window. Double-clicking button 1 on the icon
box's icon opens the icon box and allow access to the
contained icons. (In general, double-clicking a mouse
button offers a quick way to have a function performed.
Another example is double-clicking button 1 with the pointer
on the window menu button. This closes the window.)
Icon Box
When icons begin to clutter the screen, they can be packed
into an "icon box." (To use an icon box, mwm must be
started with the icon box configuration already set.) The
icon box is a window manager window that holds client icons.
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.
___________________________________________________________________
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.
___________________________________________________________________
The window menu of the icon box differs from the window menu
of a client window: The "Close" selection is replaced with
the "PackIcons Alt+F12" selection. When selected, PackIcons
packs the icons in the box to achieve neat rows with no
empty slots.
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. There are numerous resources that
control the input focus. The client window with the
keyboard input focus has the active window appearance with a
visually distinctive 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.
__________________________________________________________________________
Window stacking
The stacking order of windows may be changed as a result of
setting the keyboard input focus, iconifying a window, or by
doing a window manager window stacking function.
When a window is iconified, the window's icon is placed on
the bottom of the stack.
The following table summarizes the default window stacking
behavior of the window manager:
________________________________________________________
Key Action Function Description
________________________________________________________
________________________________________________________
[Alt][ESC] Put bottom window on top of stack.
________________________________________________________
[Alt][Shift][ESC] Put top window on bottom of stack.
________________________________________________________
A window can also be raised to the top when it gets the
keyboard input focus (e.g., by doing a button 1 press on the
window or by using [Alt][Tab]) if this auto-raise feature is
enabled with the focusAutoRaise resource.
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:
app-defaults/Mwm
RESOURCE_MANAGER root window property or $HOME/.Xdefaults
XENVIRONMENT variable or $HOME/.Xdefaults-host
mwm command line options
Entries in the resource database may refer to other resource
files for specific types of resources. These include files
that contain bitmaps, fonts, and mwm specific resources such
as menus and behavior specifications (i.e., 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. In the
following discussion of resource specification "Mwm" and
"mwm" can be used interchangeably.
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
(e.g., the window reconfiguration feedback window), client
window frames, and icons.
Specific Appearance and Behavior Resources:
These resources specify mwm appearance and behavior (e.g.,
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 (e.g.,
foreground) or a resource class (e.g., Foreground). If the
value of a resource is a filename and if the filename is
prefixed by "~/", then it is relative to the path contained
in the $HOME environment variable (generally the user's home
directory). This is the only environment variable mwm uses
directly ($XENVIRONMENT is used by the resource manager).
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, and client window
frames.
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
menus; if icon is specified, the resource is applied to
icons; and if client is specified, the resource is applied
to client window frames. For example, Mwm*icon*foreground
is used to specify the foreground color for mwm icons,
Mwm*menu*foreground specifies the foreground color for mwm
menus, and Mwm*client*foreground is used to specify the
foreground color for mwm client window frames.
The appearance of the title area of a client window frame
(including window management buttons) can be separately
configured. The syntax for configuring the title area of a
client window frame is:
Mwm*client*title*resource_id
For example, Mwm*client*title*foreground specifies the
foreground color for the title area. Defaults for title
area resources are based on the values of the corresponding
client window frame resources.
The appearance of menus can be configured based on the name
of the menu. The syntax for specifying menu appearance by
name is:
Mwm*menu*menu_name*resource_id
For example, Mwm*menu*mymenu*foreground specifies the
foreground color for the menu named mymenu.
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. **Pixmap image name. See XmInstallImage(3X).
***X11 R3 Font description.
background (class Background)
This resource specifies the background color. Any
legal X color may be specified. The default value
is chosen based on the visual type of the screen.
backgroundPixmap (class BackgroundPixmap)
This resource specifies the background Pixmap of the
mwm decoration when the window is inactive (does not
have the keyboard focus). The default value is
chosen based on the visual type of the screen.
bottomShadowColor (class Foreground)
This resource specifies the bottom shadow color.
This color is used for the lower and right bevels of
the window manager decoration. Any legal X color may
be specified. The default value is chosen based on
the visual type of the screen.
bottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap.
This Pixmap is used for the lower and right bevels
of the window manager decoration. The default is
chosen based on the visual type of the screen.
fontList (class Font)
This resource specifies the font used in the window
manager decoration. The character encoding of the
font should match the character encoding of the
strings that are used. The default is "fixed."
foreground (class Foreground)
This resource specifies the foreground color. The
default is chosen based on the visual type of the
screen.
saveUnder (class SaveUnder)
This is used to indicate whether "save unders" are
used for mwm components. For this to have any
effect, save unders must be implemented by the X
server. If save unders are implemented, the X
server will save the contents of windows obscured by
windows that have the save under attribute set. If
the saveUnder resource is True, mwm will set the
save under attribute on the window manager frame of
any client that has it set. If saveUnder is False,
save unders will not be used on any window manager
frames. The default value is False.
topShadowColor (class Background)
This resource specifies the top shadow color. This
color is used for the upper and left bevels of the
window manager decoration. The default is chosen
based on the visual type of the screen.
topShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap. This
Pixmap is used for the upper and left bevels of the
window manager decoration. The default is chosen
based on the visual type of the screen.
The following component appearance resources that apply to
frame and icons can be specified:
_________________________________________________________________
Frame and Icon Components
_________________________________________________________________
Name Class Value Type Default
_________________________________________________________________
_________________________________________________________________
activeBackground Background color varies*
_________________________________________________________________
activeBackgroundPixmap BackgroundPixmap string** varies*
_________________________________________________________________
activeBottomShadowColor Foreground color varies*
_________________________________________________________________
activeBottomShadowPixmap BottomShadowPixmap string** varies*
_________________________________________________________________
activeForeground Foreground color varies*
_________________________________________________________________
activeTopShadowColor Background color varies*
_________________________________________________________________
activeTopShadowPixmap TopShadowPixmap string** varies*
_________________________________________________________________
*The default is chosen based on the visual type of the
screen. **See XmInstallImage(3X).
activeBackground (class Background)
This resource specifies the background color of the
mwm decoration when the window is active (has the
keyboard focus). The default is chosen based on the
visual type of the screen.
activeBackgroundPixmap (class ActiveBackgroundPixmap)
This resource specifies the background Pixmap of the
mwm decoration when the window is active (has the
keyboard focus). The default is chosen based on the
visual type of the screen.
activeBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of
the mwm decoration when the window is active (has
the keyboard focus). The default is chosen based on
the visual type of the screen.
activeBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of
the mwm decoration when the window is active (has
the keyboard focus). The default is chosen based on
the visual type of the screen.
activeForeground (class Foreground)
This resource specifies the foreground color of the
mwm decoration when the window is active (has the
keyboard focus). The default is chosen based on the
visual type of the screen.
activeTopShadowColor (class Background)
This resource specifies the top shadow color of the
mwm decoration when the window is active (has the
keyboard focus). The default is chosen based on the
visual type of the screen.
activeTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap of the
mwm decoration when the window is active (has the
keyboard focus). The default is chosen based on the
visual type of the screen.
Specific Appearance And Behavior Resources
The syntax for specifying specific appearance and behavior
resources is
Mwm*resource_id
For example, Mwm*keyboardFocusPolicy specifies the window
manager policy for setting the keyboard focus to a
particular client window.
The following specific appearance and behavior resources can
be specified:
____________________________________________________________________________
Specific Appearance and Behavior Resources
____________________________________________________________________________
Name Class Value Type Default
____________________________________________________________________________
____________________________________________________________________________
autoKeyFocus AutoKeyFocus T/F T
____________________________________________________________________________
autoRaiseDelay AutoRaiseDelay millisec 500
____________________________________________________________________________
bitmapDirectory BitmapDirectory directory /usr/include/X11/bitmaps
____________________________________________________________________________
buttonBindings ButtonBindings string NULL
____________________________________________________________________________
cleanText CleanText T/F T
____________________________________________________________________________
clientAutoPlace ClientAutoPlace T/F T
____________________________________________________________________________
colormapFocusPolicy ColormapFocusPolicy string keyboard
____________________________________________________________________________
configFile ConfigFile file .mwmrc
____________________________________________________________________________
deiconifyKeyFocus DeiconifyKeyFocus T/F T
____________________________________________________________________________
doubleClickTime DoubleClickTime millisec. 500
____________________________________________________________________________
enforceKeyFocus EnforceKeyFocus T/F T
____________________________________________________________________________
fadeNormalIcon FadeNormalIcon T/F F
____________________________________________________________________________
frameBorderWidth FrameBorderWidth pixels 5
____________________________________________________________________________
iconAutoPlace IconAutoPlace T/F T
____________________________________________________________________________
iconBoxGeometry IconBoxGeometry string 6x1+0-0
____________________________________________________________________________
iconBoxName IconBoxName string iconbox
____________________________________________________________________________
iconBoxTitle IconBoxTitle string Icons
____________________________________________________________________________
iconClick IconClick T/F T
____________________________________________________________________________
iconDecoration IconDecoration string varies
____________________________________________________________________________
iconImageMaximum IconImageMaximum wxh 50x50
____________________________________________________________________________
iconImageMinimum IconImageMinimum wxh 32x32
____________________________________________________________________________
iconPlacement IconPlacement string left bottom
____________________________________________________________________________
iconPlacementMargin IconPlacementMargin pixels varies
____________________________________________________________________________
interactivePlacementInteractivePlacementT/F F
____________________________________________________________________________
keyBindings KeyBindings string system
____________________________________________________________________________
keyboardFocusPolicy KeyboardFocusPolicy string explicit
____________________________________________________________________________
limitResize LimitResize T/F T
____________________________________________________________________________
lowerOnIconify LowerOnIconify T/F T
____________________________________________________________________________
maximumMaximumSize MaximumMaximumSize wxh (pixels)2X screen w&h
____________________________________________________________________________
moveThreshold MoveThreshold pixels 4
____________________________________________________________________________
passButtons PassButtons T/F F
____________________________________________________________________________
passSelectButton PassSelectButton T/F T
____________________________________________________________________________
positionIsFrame PositionIsFrame T/F T
____________________________________________________________________________
positionOnScreen PositionOnScreen T/F T
____________________________________________________________________________
quitTimeout QuitTimeout millisec. 1000
____________________________________________________________________________
resizeBorderWidth ResizeBorderWidth pixels 10
____________________________________________________________________________
resizeCursors ResizeCursors T/F T
____________________________________________________________________________
showFeedback ShowFeedback string all
____________________________________________________________________________
startupKeyFocus StartupKeyFocus T/F T
____________________________________________________________________________
transientDecoration TransientDecoration string system title
____________________________________________________________________________
transientFunctions TransientFunctions string -minimize -maximize
____________________________________________________________________________
useIconBox UseIconBox T/F F
____________________________________________________________________________
wMenuButtonClick WMenuButtonClick T/F T
____________________________________________________________________________
wMenuButtonClick2 WMenuButtonClick2 T/F T
____________________________________________________________________________
autoKeyFocus (class AutoKeyFocus)
This resource is only available 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 only available when the
focusAutoRaise resource is True and the keyboard
focus policy is pointer. The autoRaiseDelay resource
specifies the amount of time (in milliseconds) that
mwm will wait before raising a window after it gets
the keyboard focus. The default value of this
resource is 500 (ms).
bitmapDirectory (class BitmapDirectory)
This resource identifies a directory to be searched
for bitmaps referenced by mwm resources. This
directory is searched if a bitmap is specified
without an absolute pathname. The default value for
this resource is "/usr/include/X11/bitmaps".
buttonBindings (class ButtonBindings)
This resource identifies the set of button bindings
for window management functions. The named set of
button bindings is specified in the mwm resource
description file. These button bindings are merged
with the built-in default bindings. The default
value for this resource is NULL (i.e., no button
bindings are added to the built-in button bindings).
cleanText (classCleanText)
This resource controls the display of window manager
text in the client title and feedback windows. If
the default value of True is used, the text is drawn
with a clear (no stipple) background. This makes
text easier to read on monochrome systems where a
backgroundPixmap is specified. Only the stippling in
the area immediately around the text is cleared. If
False, the text is drawn directly on top of the
existing background.
clientAutoPlace (class ClientAutoPlace)
This resource determines the position of a window
when the window has not been given a user specified
position. With a value of True, windows are
positioned with the top left corners of the frames
offset horizontally and vertically. A value of
False causes the currently configured position of
the window to be used. In either case, mwm will
attempt to place the windows totally on-screen. The
default value is True.
colormapFocusPolicy (class ColormapFocusPolicy)
This resource indicates the colormap focus policy
that is to be used. If the resource value is
explicit then a colormap selection action is done on
a client window to set the colormap focus to that
window. If the value is pointer then the client
window containing the pointer has the colormap
focus. If the value is keyboard then the client
window that has the keyboard input focus will have
the colormap focus. The default value for this
resource is keyboard.
configFile (class ConfigFile)
The resource value is the pathname for an mwm
resource description file. The default is .mwmrc in
the user's home directory (based on the $HOME
environment variable) if this file exists, otherwise
/usr/lib/X11/system.mwmrc.
deiconifyKeyFocus (class DeiconifyKeyFocus)
This resource only applies when the keyboard input
focus policy is explicit. If a value of True is
used, a window will receive 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 500 (ms).
enforceKeyFocus (class EnforceKeyFocus)
If this resource is given a value of True, then the
keyboard input focus is always explicitly set to
selected windows even if there is an indication that
they are "globally active" input windows. (An
example of a globally active window is a scroll bar
that can be operated without setting the focus to
that client.) If the resource is False, the
keyboard input focus is not explicitly set to
globally active windows. The default value is True.
fadeNormalIcon (class FadeNormalIcon)
If this resource is given a value of True, an icon
is grayed out whenever it has been normalized (its
window has been opened). The default value is
False.
frameBorderWidth (class FrameBorderWidth)
This resource specifies the width (in pixels) of a
client window frame border without resize handles.
The border width includes the 3-D shadows. The
default value is 5 pixels.
iconAutoPlace (class IconAutoPlace)
This resource indicates whether icons are
automatically placed on the screen by mwm, or are
placed by the user. Users may specify an initial
icon position and may move icons after initial
placement; however, mwm will adjust the user-
specified position to fit into an invisible grid.
When icons are automatically placed, mwm places them
into the grid using a scheme set with the
iconPlacement resource. If the iconAutoPlace
resource has a value of True, then mwm does
automatic icon placement. A value of False allows
user placement. The default value of this resource
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 will depend 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.
iconBoxTitle (class IconBoxTitle)
This resource specifies the name that is used in the
title area of the icon box frame. The default value
is Icons.
iconClick (class IconClick)
When this resource is given the value of True, the
system menu is posted and left posted when an icon
is clicked. The default value is True.
iconDecoration (class IconDecoration)
This resource specifies the general icon decoration.
The resource value is label"(only the label part is
displayed) or image (only the image part is
displayed) or label image (both the label and image
parts are displayed). A value of activelabel can
also be specified to get a label (not truncated to
the width of the icon) when the icon is selected.
The default icon decoration for icon box icons is
that each icon has a label part and an image part
(label image). The default icon decoration for
stand-alone icons is that each icon has an active
label part, a label part and an image part
(activelabel label image).
iconImageMaximum (class IconImageMaximum)
This resource specifies the maximum size of the icon
image. The resource value is widthxheight (e.g.,
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 (e.g.,
32x50). The minimum supported size is 16x16. The
default value of this resource is 32x32.
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:
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
(e.g., don't use top for the primary_layout and bottom
for the secondary_layout). The primary_layout
indicates whether, when an icon placement is done, the
icon is placed in a row or a column and the direction
of placement. The secondary_layout indicates where to
place new rows or columns. For example, top right
indicates that icons should be placed top to bottom on
the screen and that columns should be added from right
to left on the screen. The default placement is left
bottom (icons are placed left to right on the screen,
with the first row on the bottom of the screen, and new
rows added from the bottom of the screen to the top of
the screen).
iconPlacementMargin (class IconPlacementMargin)
This resource sets the distance between the edge of
the screen and the icons that are placed along the
edge of the screen. The value should be greater
than or equal to 0. A default value (see below) is
used if the value specified is invalid. The default
value for this resource is equal to the space
between icons as they are placed on the screen (this
space is based on maximizing the number of icons in
each row and column).
interactivePlacement (class InteractivePlacement)
This resource controls the initial placement of new
windows on the screen. If the value is True, then
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, then
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 the set of system-compatible key
bindings.
keyboardFocusPolicy (class KeyboardFocusPolicy)
If set to pointer, the keyboard focus policy is to
have the keyboard focus set to the client window
that contains the pointer (the pointer could also be
in the client window decoration that mwm adds). If
set to explicit, the policy is to have the keyboard
focus set to a client window when the user presses
button 1 with the pointer on the client window or
any part of the associated mwm decoration. The
default value for this resource is explicit.
limitResize (class LimitResize)
If this resource is True, the user is not allowed to
resize a window to greater than the maximum size.
The default value for this resource is True.
lowerOnIconify (class LowerOnIconify)
If this resource is given the default value of True,
a window's icon appears on the bottom of the window
stack when the window is minimized (iconified). A
value of False places the icon in the stacking order
at the same place as its associated window.
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 (e.g., 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 will be moved with a button down
before the move operation is initiated. This is
used to prevent window/icon movement when a click or
double-click is done and there is unintentional
pointer movement with the button down. The default
value of this resource is 4 (pixels).
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, 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 False.
passSelectButton (class PassSelectButton)
This resource indicates whether or not the keyboard
input focus selection button press (if
keyboardFocusPolicy is explicit) is passed on to the
client window or used to do a window management
action associated with the window decorations. If
the resource value is False then the button press
will not be used for any operation other than
selecting the window to be the keyboard input focus;
if the value is True, the button press is passed to
the client window or used to do a window management
operation, if appropriate. The keyboard input focus
selection 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 then the information
is interpreted as the position of the mwm client
window frame. If the value is False then it is
interpreted as being the position of the client area
of the window. The default value of this resource
is True.
positionOnScreen (class PositionOnScreen)
This resource is used to indicate that windows
should initially be placed (if possible) so that
they are not clipped by the edge of the screen (if
the resource value is True). If a window is larger
then the size of the screen then at least the upper
left corner of the window will be on-screen. If the
resource value is False, then windows are placed in
the requested position even if totally off-screen.
The default value of this resource is True.
quitTimeout (class QuitTimeout)
This resource specifies the amount of time (in
milliseconds) that mwm will wait for a client to
update the WM_COMMAND property after mwm has sent
the WM_SAVE_YOURSELF message. This protocol will
only be used for those clients that have a
WM_SAVE_YOURSELF atom and no WM_DELETE_WINDOW atom
in the WM_PROTOCOLS client window property. The
default value of this resource is 1000 (ms). (Refer
to the f.kill function for additional information.)
resizeBorderWidth (class ResizeBorderWidth)
This resource specifies the width (in pixels) of a
client window frame border with resize handles. The
specified border width includes the 3-D shadows. The
default is 10 (pixels).
resizeCursors (class ResizeCursors)
This is used to indicate whether the resize cursors
are always displayed when the pointer is in the
window size border. If True the cursors are shown,
otherwise the window manager cursor is shown. The
default value is True.
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; the names must be separated
by a space. The names of the feedback options are
shown below:
______________________________________________________________
Name Description
______________________________________________________________
all Show all feedback. (Default value.)
______________________________________________________________
behavior Confirm behavior switch.
______________________________________________________________
move Show position during move.
______________________________________________________________
none Show no feedback.
______________________________________________________________
placement Show position and size during initial placement.
______________________________________________________________
resize Show size during resize.
______________________________________________________________
restart Confirm mwm restart.
______________________________________________________________
The following command line illustrates the syntax for
showFeedback:
Mwm*showFeedback: placement resize behavior restart
This resource specification provides feedback for initial
client placement and resize, and enables the dialog boxes to
confirm the restart and set behavior functions. It disables
feedback for the move function.
startupKeyFocus (class StartupKeyFocus)
This resource is only available 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 (i.e.,
initially managed by the window manager).
transientDecoration (class TransientDecoration)
This controls the amount of decoration that Mwm puts
on transient windows. The decoration specification
is exactly the same as for the clientDecoration
(client specific) resource. Transient windows are
identified by the WM_TRANSIENT_FOR property which is
added by the client to indicate a relatively
temporary window. The default value for this
resource is menu title (i.e., transient windows will
have resize borders and a titlebar with a window
menu button).
transientFunctions (class TransientFunctions)
This resource is used to indicate which window
management functions are applicable (or not
applicable) to transient windows. The function
specification is exactly the same as for the
clientFunctions (client specific) resource. The
default value for this resource is -minimize
-maximize.
useIconBox (class UseIconBox)
If this resource is given a value of True, icons are
placed in an icon box. When an icon box is not
used, the icons are placed on the root window
(default value).
wMenuButtonClick (class WMenuButtonClick)
This resource indicates whether a click of the mouse
when the pointer is over the window menu button will
post and leave posted the system menu. If the value
given this resource is True, then the menu will
remain 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 will do an f.kill function.
Client Specific Resources
The syntax for specifying client specific resources is
Mwm*client_name_or_class*resource_id
For example, Mwm*mterm*windowMenu is used to specify the
window menu to be used with mterm clients.
The syntax for specifying client specific resources for all
classes of clients is
Mwm*resource_id
Specific client specifications take precedence over the
specifications for all clients. For example, Mwm*windowMenu
is used to specify the window menu to be used for all
classes of clients that don't have a window menu specified.
The syntax for specifying resource values for windows that
have an unknown name and class (i.e. the window does not
have a WM_CLASS property associated with it) 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 TypeDefault
________________________________________________________________________________
________________________________________________________________________________
clientDecoration ClientDecoration string all
________________________________________________________________________________
clientFunctions ClientFunctions string all
________________________________________________________________________________
focusAutoRaise FocusAutoRaise T/F T
________________________________________________________________________________
iconImage IconImage pathname (image)
________________________________________________________________________________
iconImageBackground Background color icon background
________________________________________________________________________________
iconImageBottomShadowColor Foreground color icon bottom shadow
________________________________________________________________________________
iconImageBottomShadowPixmapBottomShadowPixmapcolor icon bottom shadow pixmap
________________________________________________________________________________
iconImageForeground Foreground color icon foreground
________________________________________________________________________________
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 BottomShadowPixmapcolor 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 string
________________________________________________________________________________
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, then
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, then mwm assumes all
decorations are present and starts subtracting from
that set. If the sign of the first decoration is
plus (or not specified), then mwm starts with no
decoration and builds up a list from the resource.
_____________________________________________________
Name Description
_____________________________________________________
_____________________________________________________
all Include all decorations (default value).
_____________________________________________________
border Window border.
_____________________________________________________
maximize Maximize button (includes title bar).
_____________________________________________________
minimize Minimize button (includes title bar).
_____________________________________________________
none No decorations.
_____________________________________________________
resizeh Border resize handles (includes border).
_____________________________________________________
menu Window menu button (includes title bar).
_____________________________________________________
title Title bar (includes border).
_____________________________________________________
Examples:
Mwm*XClock.clientDecoration: -resizeh -maximize
This removes the resize handles and maximize button
from XClock windows.
Mwm*XClock.clientDecoration: menu minimize
border
This does the same thing as above. Note that either
menu or minimize implies title.
clientFunctions (class ClientFunctions )
This resource is used to indicate which mwm
functions are applicable (or not applicable) to the
client window. The value for the resource is a list
of functions. If the first function in the list has
a minus sign in front of it, then mwm starts with
all functions and subtracts from that set. If the
first function in the list has a plus sign in front
of it, then mwm starts with no functions and builds
up a list. Each function in the list must be
preceded by the appropriate plus or minus sign and
be 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
made completely unobscured 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.
iconImage (class IconImage)
This resource can be used to specify an icon image
for a client (e.g., "Mwm*myclock*iconImage"). The
resource value is a pathname for a bitmap file. The
value of the (client specific) useClientIcon
resource is used to determine whether or not user
supplied icon images are used instead of client
supplied icon images. The default value is to
display a built-in window manager icon image.
iconImageBackground (class Background)
This resource specifies the background color of the
icon image that is displayed in the image part of an
icon. The default value of this resource is the
icon background color (i.e., 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 (i.e., specified by
Mwm*icon*bottomShadowColor).
iconImageBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of
the icon image that is displayed in the image part
of an icon. The default value of this resource is
the icon bottom shadow Pixmap (i.e., specified by
Mwm*icon*bottomShadowPixmap).
iconImageForeground (class Foreground)
This resource specifies the foreground color of the
icon image that is displayed in the image part of an
icon. The default value of this resource is the
icon foreground color (i.e., specified by
"Mwm*foreground or Mwm*icon*foreground).
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 (i.e., 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 (i.e., 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 (i.e., 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 (i.e., 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 (i.e., 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 (i.e., specified by "Mwm*foreground or
Mwm*client*foreground).
matteTopShadowColor (class Background)
This resource specifies the top shadow color of the
matte, when matteWidth is positive. The default
value of this resource is the client top shadow
color (i.e., 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 (i.e., specified by "Mwm*topShadowPixmap or
Mwm*client*topShadowPixmap).
matteWidth (class MatteWidth)
This resource specifies the width of the optional
matte. The default value is 0, which effectively
disables the matte.
maximumClientSize (class MaximumClientSize)
This is a size specification that indicates the
client size to be used when an application is
maximized. The resource value is specified as
widthxheight. The width and height are interpreted
in the units that the client uses (e.g., for
terminal emulators this is generally characters).
If this resource is not specified then the maximum
size from the WM_NORMAL_HINTS property is used if
set. Otherwise the default value is the size where
the client window with window management borders
fills the screen. When the maximum client size is
not determined by the maximumClientSize resource,
the maximumMaximumSize resource value is used as a
constraint on the maximum size.
useClientIcon (class UseClientIcon)
If the value given for this resource is True, then a
client supplied icon image will take precedence over
a user supplied icon image. The default value is
False, making the user supplied icon image have
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 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 the name of the built-in
window menu specification.
RESOURCE DESCRIPTION FILE
The mwm resource description file is a supplementary
resource file that contains resource descriptions that are
referred to by entries in the defaults files (.Xdefaults,
app-defaults/Mwm). It contains descriptions of resources
that are to be used by mwm, and that cannot be easily
encoded in the defaults files (a bitmap file is an analogous
type of resource description file). A particular mwm
resource description file can be selected using the
configFile resource.
The following types of resources can be described in the mwm
resource description file:
Buttons Window manager functions can be bound
(associated) with button events.
Keys Window manager functions can be bound
(associated) with key press events.
Menus Menu panes can be used for the window menu
and other menus posted with key bindings and
button bindings.
mwm Resource Description File Syntax
The mwm resource description file is a standard text file
that contains items of information separated by blanks,
tabs, and new lines characters. Blank lines are ignored.
Items or characters can be quoted to avoid special
interpretation (e.g., the comment character can be quoted to
prevent it from being interpreted as the comment character).
A quoted item can be contained in double quotes ("). Single
characters can be quoted by preceding them by the back-slash
character (\). All text from an unquoted # to the end of
the line is regarded as a comment and is not interpreted as
part of a resource description. If ! is the first character
in a line, the line is regarded as a comment. Window
manager functions can be accessed with button and key
bindings, and with window manager menus. Functions are
indicated as part of the specifications for button and key
binding sets, and menu panes. The function specification
has the following syntax:
function = functionname [functionargs]
functionname = window manager function
functionargs = {quoteditem | unquoteditem}
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.circledown [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 is no longer obscuring any
other window or icon). This function affects only
those windows and icons that are obscuring other
windows and icons, or that are obscured by other
windows and icons. Secondary windows (i.e. transient
windows) are restacked with their associated primary
window. Secondary windows always stay on top of the
associated primary window and there can be no other
primary windows between the secondary windows and their
primary window. If an icon function argument is
specified, then the function applies only to icons. If
a window function argument is specified then the
function applies only to windows.
f.circleup [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 are obscuring other windows and
icons, or that are obscured by other windows and icons.
Secondary windows (i.e. transient windows) are
restacked with their associated primary window. If an
icon function argument is specified then the function
applies only to icons. If an window function argument
is specified then the function applies only to windows.
f.exec or !
This function causes command to be executed (using 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.focuscolor
This function sets the colormap focus to a client
window. If this function is done in a root context,
then the default colormap (setup by the X Window System
for the screen where mwm is running) is installed and
there is no specific client window colormap focus.
This function is treated as f.nop if
colormapFocusPolicy is not explicit.
f.focuskey
This function sets the keyboard input focus to a client
window or icon. This function is treated as f.nop if
keyboardFocusPolicy is not explicit or the function is
executed in a root context.
f.kill
If the WM_DELETE_WINDOW protocol is set up, the client
is sent a client message event indicating that the
client window should be deleted. If the
WM_SAVE_YOURSELF protocol is set up and the
WM_DELETE_WINDOW protocol is not set up, the client is
sent a client message event indicating that the client
needs to prepare to be terminated. If the client does
not have the WM_DELETE_WINDOW or WM_SAVE_YOURSELF
protocol set up, this function causes a client's X
connection to be terminated (usually resulting in
termination of the client). Refer to the description
of the quitTimeout resource and the WM_PROTOCOLS
property.
f.lower [-client]
This function lowers a client window to the bottom of
the window stack (where it obscures no other window).
Secondary windows (i.e. 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 then
the context that the function was invoked in indicates
the window or icon to lower.
f.maximize
This function causes a client window to be displayed
with its maximum size.
f.menu
This function associates a cascading (pull-right) menu
with a menu pane entry or a menu with a button or key
binding. The menu_name function argument identifies
the menu to be used.
f.minimize
This function causes a client window to be minimized
(iconified). When a window is minimized when no icon
box is used, its icon is placed on the bottom of the
window stack (such that it obscures no other window).
If an icon box is used, then the client's icon changes
to its iconified form inside the icon box. Secondary
windows (i.e. transient windows) are minimized with
their associated primary window. There is only one
icon for a primary window and all its secondary
windows.
f.move
This function allows a client window to be
interactively moved.
f.nextcmap
This function installs the next colormap in the list of
colormaps for the window with the colormap focus.
f.nextkey [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 only moved to
windows that do not have an associated secondary window
that is application modal. If the transient argument
is specified, then 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, then the function applies only to icons. If
a window function argument is specified, then the
function applies only to windows.
f.nop
This function does nothing.
f.normalize
This function causes a client window to be displayed
with its normal size. Secondary windows (i.e.
transient windows) are placed in their normal state
along with their associated primary window.
f.packicons
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.passkeys
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.postwmenu
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.prevcmap
This function installs the previous colormap in the
list of colormaps for the window with the colormap
focus.
f.prevkey [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 only moved to windows that do not have
an associated secondary window that is application
modal. If the transient argument is specified, then
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 then the function
applies only to icons. If an window function argument
is specified then the function applies only to windows.
f.quitmwm
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 (i.e. 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 then
the context that the function was invoked in indicates
the window or icon to raise.
f.raiselower
This function raises a client window to the top of the
window stack if it is partially obscured by another
window, otherwise it lowers the window to the bottom of
the window stack. Secondary windows (i.e. transient
windows) are restacked with their associated primary
window.
f.refresh
This function causes all windows to be redrawn.
f.refreshwin
This function causes a client window to be redrawn.
f.resize
This function allows a client window to be
interactively resized.
f.restart
This function causes mwm to be restarted (effectively
terminated and re-executed).
f.sendmsg 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 will only be sent 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.setbehavior
This function causes the window manager to restart with
the default OSF behavior (if a custom behavior is
configured) or a custom behavior (if an OSF default
behavior is configured).
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 (e.g., menu pane) and also what
context the function can be used in (e.g., the function is
done to the selected client window). Function contexts are
root No client window or icon has been selected as
an object for the function.
window A client window has been selected as an
object for the function. This includes the
window's title bar and frame. Some functions
are applied only when the window is in its
normalized state (e.g., f.maximize) or its
maximized state (e.g., f.normalize).
icon An icon has been selected as an object for
the function.
If a function is specified in a type of resource where it is
not supported or is invoked in a context that does not apply
then the function is treated as f.nop. The following table
indicates the resource types and function contexts in which
window manager functions apply.
Function Contexts Resources
f.beep root,icon,window button,key,menu
f.circle_down root,icon,window button,key,menu
f.circle_up root,icon,window button,key,menu
f.exec root,icon,window button,key,menu
f.focus_color root,icon,window button,key,menu
f.focus_key root,icon,window button,key,menu
f.kill icon,window button,key,menu
f.lower root,icon,window button,key,menu
f.maximize icon,window(normal) button,key,menu
f.menu root,icon,window button,key,menu
f.minimize window button,key,menu
f.move icon,window button,key,menu
f.next_cmap root,icon,window button,key,menu
f.next_key root,icon,window button,key,menu
f.nop root,icon,window button,key,menu
f.normalize icon,window(maximized) button,key,menu
f.pack_icons root,icon,window button,key,menu
f.pass_keys root,icon,window button,key,menu
f.post_wmenu root,icon,window button,key
f.prev_cmap root,icon,window button,key,menu
f.prev_key root,icon,window button,key,menu
f.quit_mwm root button,key,menu
f.raise root,icon,window button,key,menu
f.raise_lower icon,window button,key,menu
f.refresh root,icon,window button,key,menu
f.refresh_win window button,key,menu
f.resize window button,key,menu
f.restart root button,key,menu
f.send_msg icon,window button,key,menu
f.separator root,icon,window menu
f.set_behavior root,icon,window button,key,menu
f.title root,icon,window menu
Window Manager Event Specification
Events are indicated as part of the specifications for
button and key binding sets, and menu panes.
Button events have the following syntax:
button = [modifierlist]<buttoneventname>
modifierlist = modifiername {modifiername}
All modifiers specified are interpreted as being exclusive
(this means that only the specified modifiers can be present
when the button event occurs). The following table
indicates the values that can be used for modifier_name.
The [Alt] key is frequently labeled [Extend] or [Meta]. Alt
and Meta can be used interchangeably in event specification.
_________________________
Modifier Description
_________________________
Ctrl Control Key
Shift Shift Key
Alt Alt/Meta Key
Meta Meta/Alt Key
Lock Lock Key
Mod1 Modifier1
Mod2 Modifier2
Mod3 Modifier3
Mod4 Modifier4
Mod5 Modifier5
_________________________
The following table indicates the values that can be used
for button_event_name.
_________________________________________
Button Description
_________________________________________
Btn1Down Button 1 Press
Btn1Up Button 1 Release
Btn1Click Button 1 Press and Release
Btn1Click2 Button 1 Double Click
Btn2Down Button 2 Press
Btn2Up Button 2 Release
Btn2Click Button 2 Press and Release
Btn2Click2 Button 2 Double Click
Btn3Down Button 3 Press
Btn3Up Button 3 Release
Btn3Click Button 3 Press and Release
Btn3Click2 Button 3 Double Click
Btn4Down Button 4 Press
Btn4Up Button 4 Release
Btn4Click Button 4 Press and Release
Btn4Click2 Button 4 Double Click
Btn5Down Button 5 Press
Btn5Up Button 5 Release
Btn5Click Button 5 Press and Release
Btn5Click2 Button 5 Double Click
_________________________________________
Key events that are used by the window manager for menu
mnemonics and for binding to window manager functions are
single key presses; key releases are ignored. Key events
have the following syntax:
key = [modifierlist]<Key>keyname
modifierlist = modifiername {modifiername}
All modifiers specified are interpreted as being exclusive
(this means that only the specified modifiers can be present
when the key event occurs). Modifiers for keys are the same
as those that apply to buttons. The key_name is an X11
keysym name. Keysym names can be found in the keysymdef.h
file (remove the XK_ prefix).
Button Bindings
The buttonBindings resource value is the name of a set of
button bindings that are used to configure window manager
behavior. A window manager function can be done when a
button press occurs with the pointer over a framed client
window, an icon or the root window. The context for
indicating where the button press applies is also the
context for invoking the window manager function when the
button press is done (significant for functions that are
context sensitive).
The button binding syntax is
Buttons bindings_set_name
{
button context function
button context function
.
.
button context function
}
The syntax for the context specification is
context = object[|context]
object = root | icon | window | title | frame | border | app
The context specification indicates where the pointer must
be for the button binding to be effective. For example, a
context of window indicates that the pointer must be over a
client window or window management frame for the button
binding to be effective. The frame context is for the
window management frame around a client window (including
the border and titlebar), the border context is for the
border part of the window management frame (not including
the titlebar), the title context is for the title area of
the window management frame, and the app context is for the
application window (not including the window management
frame).
If an f.nop function is specified for a button binding, the
button binding will not be 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 will not be done. If an f.post_wmenu or f.menu
function is bound to a key, mwm will automatically use the
same key for removing the menu from the screen after it has
been popped up.
The context specification syntax is the same as for button
bindings. For key bindings, the frame, title, border, and
app contexts are equivalent to the window context. The
context for a key event is the window or icon that has the
keyboard input focus (root if no window or icon has the
keyboard input focus).
Menu Panes
Menus can be popped up using the f.post_wmenu and f.menu
window manager functions. The context for window manager
functions that are done from a menu is root, icon or window
depending on how the menu was popped up. In the case of the
window menu or menus popped up with a key binding, the
location of the keyboard input focus indicates the context.
For menus popped up using a button binding, the context of
the button binding is the context of the menu.
The menu pane specification syntax is
Menu menu_name
{
label [mnemonic] [accelerator] function
label [mnemonic] [accelerator] function
.
.
label [mnemonic] [accelerator] function
}
Each line in the Menu specification identifies the label for
a menu item and the function to be done if the menu item is
selected. Optionally a menu button mnemonic and a menu
button keyboard accelerator may be specified. Mnemonics are
functional only when the menu is posted and keyboard
traversal applies.
The label may be a string or a bitmap file. The label
specification has the following syntax:
label = text | bitmapfile
bitmapfile = @filename
text = quoteditem | unquoteditem
The string encoding for labels must be compatible with the
menu font that is used. Labels are greyed out for menu
items that do the f.nop function or an invalid function or a
function that doesn't apply in the current context.
A mnemonic specification has the following syntax
mnemonic = character
The first matching character in the label is underlined. If
there is no matching character in the label, no mnemonic is
registered with the window manager for that label. Although
the character must exactly match a character in the label,
the mnemonic will not execute if any modifier (such as
Shift) is pressed with the character key.
The accelerator specification is a key event specification
with the same syntax as is used for key bindings to window
manager functions.
ENVIRONMENT
mwm uses the environment variable $HOME specifying the
user's home directory.
FILES
/usr/lib/X11/system.mwmrc
/usr/lib/X11/app-defaults/Mwm
$HOME/.Xdefaults
$HOME/.mwmrc
COPYRIGHT
(c) Copyright 1989 by Open Software Foundation, Inc.
(c) Copyright 1987, 1988, 1989 by Hewlett-Packard Company
All rights reserved.
ORIGIN
HP
RELATED INFORMATION
X(1)
VendorShell(3X)
XmInstallImage(3X)
MWM(X) (printed 8/14/89) MWM(X)