mwm is an X Window System client that provides window
management functionality and some session management functionality.
It provides functions that facilitate control (by the user and the
programmer) of elements of window states such as placement, size,
icon/normal display, and input-focus ownership. It also provides
session management functions such as stopping a client.
Options
-displaydisplay
This option specifies the display to use; see
X(X).
-xrmresourcestring
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.
-namename
This option causes mwm to retrieve its resources
using the specified name, as in name*resource.
-screensname [name [...]]
This option specifies the resource names to use for the screens
managed by mwm. If mwm is managing a single
screen, only the first name in the list is used. If mwm is
managing multiple screens, the names are assigned to the screens in
order, starting with screen 0. Screen 0 gets the first name, screen 1
the second name, and so on.
Appearance
The following sections describe the basic default behaviors of
windows, icons, the icon box, input focus, and window stacking. The
appearance and behavior of the window manager can be altered by
changing the configuration of specific resources. Resources are
defined under the heading ``X DEFAULTS.''
Screens
By default, mwm manages only the single screen specified by
the -display option or the DISPLAY environment variable (by
default, screen 0). If the -multiscreen option is
specified or if the multiScreen resource is True,
mwm tries to manage all the screens on the display.
When mwm is managing multiple screens, the
-screens option can be used to give each screen a unique
resource name. The names are separated by blanks, for example,
-screens mwm0 mwm1. If there are more screens than names,
resources for the remaining screens will be retrieved using the first
name.
Windows
Default mwm window frames have distinct components with
associated functions:
Title Area
In addition to displaying the client's title, the title area is used
to move the window. To move the window, place the pointer over the
title area, press button 1 and drag the window to a new location. A
wire frame is moved during the drag to indicate the new location.
When the button is released, the window is moved to the new location.
Title Bar
The title bar includes the title area, the minimize button, the
maximize button, and the window menu button.
Minimize Button
To turn the window into an icon, click button 1 on the minimize
button (the frame box with a small square in it).
Maximize Button
To make the window fill the screen (or enlarge to the largest size
allowed by the configuration files), click button 1 on the maximize
button (the frame box with a large square in it).
Window Menu Button
The window menu button is the frame box with a horizontal bar in it.
To pull down the window menu, press button 1. While pressing, drag
the pointer on the menu to your selection, then release the button
when your selection is highlighted. Alternately, you can click button
1 to pull down the menu and keep it posted; then position the pointer
and select.
Default window menu
Selection
Accelerator
Description
Restore
Alt+F5
Restores the window to its size
before minimizing or maximizing
Move
Alt+F7
Allows the window to be moved with
keys or mouse
Size
Alt+F8
Allows the window to be resized
Minimize
Alt+F9
Turns the window into an icon
Maximize
Alt+F10
Makes the window fill the screen
Lower
Alt+F3
Moves window to bottom of window
stack
Close
Alt+F4
Causes client to terminate
Resize Border Handles
To change the size of a window, move the pointer over a resize border
handle (the cursor changes), press button 1, and drag the window to a
new size. When the button is released, the window is resized. While
dragging is being done, a rubber-band outline is displayed to indicate
the new window size.
Matte
An optional matte decoration can be added between the client area and the
window frame. A matte is not actually part of the window frame.
There is no functionality associated with a matte.
Icons
Icons are small graphic representations of windows. A window can be
minimized (iconified) using the minimize button on the window frame.
Icons provide a way to reduce clutter on the screen.
Pressing mouse button 1 when the pointer is over an icon causes the
icon's window menu to pop up. Releasing the button (press + release
without moving mouse = click) causes the menu to stay posted. The
menu contains the following selections:
Icon window menu
Selection
Accelerator
Description
Restore
Alt+F5
Opens the associated window
Move
Alt+F7
Allows the icon to be moved with keys
Size
Alt+F8
Inactive (not an option for icons)
Minimize
Alt+F9
Inactive (not an option for icons)
Maximize
Alt+F10
Opens the associated window and makes it fill the screen
Lower
Alt+F3
Moves icon to bottom of icon stack
Close
Alt+F4
Removes client from mwm management
Note that pressing button 3 over an icon also causes the icon's window
menu to pop up. To make a menu selection, drag the pointer over the
menu and release button 3 when the desired item is highlighted.
Double-clicking button 1 on an icon normalizes the icon into its
associated window. Double-clicking button 1 on the icon box's icon
opens the icon box and allows access to the contained icons. (In
general, double-clicking a mouse button is a quick way to perform a
function.) Double-clicking button 1 with the pointer on the window
menu button closes the window.
Icon box
When icons begin to clutter the screen, they can be packed into an
icon box. (To use an icon box, mwm must be started with the
icon box configuration already set.) The icon box is a mwm
window that holds client icons. It includes one or more scroll bars
when there are more window icons than the icon box can show at the
same time.
Icons in the icon box can be manipulated with the mouse. The
following table summarizes the behavior of this interface. Button
actions apply whenever the pointer is on any part of the icon. Note
that invoking the f.raise function on an icon in the icon
box raises an already open window to the top of the stack.
Button Action
Description
Button 1 click
Selects the icon
Button 1 double-click
Normalizes (opens) the associated window
Button 1 double-click
Raises an already open window to the top of the stack
Button 1 drag
Moves the icon
Button 3 press
Causes the menu for that icon to pop up
Button 3 drag
Highlights items as the pointer moves across the menu
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-hostname mwm command line options
The file names /usr/lib/X11/app-defaults/Mwm and
$HOME/Mwm represent customary locations for these
files. The actual location of the system-wide class resource file may
depend on the XFILESEARCHPATH environment variable and the
current language environment. The actual location of the
user-specific class resource file may depend on the
XUSERFILESEARCHPATH and XAPPLRESDIR environment
variables and the current language environment.
Entries in the resource database may refer to other resource files for
specific types of resources. These include files that contain
bitmaps, fonts, and mwm specific resources such as menus and
behavior specifications (for example, button and key bindings).
mwm is the resource class name of mwm and
mwm is the resource name used by mwm to look up
resources. (For looking up resources of multiple screens, the
-screens command line option specifies resource names, such
as ``mwm_b+w'' and ``mwm_color''.) In the following discussion of
resource specification, ``Mwm'' and ``mwm'' (and the aliased
mwm resource names) can be used interchangeably, but ``mwm''
takes precedence over ``Mwm''.
mwm uses the following types of resources:
Component Appearance Resources:
These resources specify appearance attributes of window manager user
interface components. They can be applied to the appearance of window
manager menus, feedback windows (for example, the window
reconfiguration feedback window), client window frames, and icons.
Specific Appearance and Behavior Resources:
These resources specify mwm appearance and behavior (for
example, window management policies). They are not set separately for
different mwm user interface components.
Client Specific Resources:
These mwm resources can be set for a particular client
window or class of client windows. They specify client-specific icon
and client window frame appearance and behavior.
Resource identifiers can be either a resource name (for example,
foreground) or a resource class (for example, Foreground). If the
value of a resource is a filename and if the filename is prefixed by
``~/'', then it is relative to the path contained in the HOME
environment variable (generally the user's home directory).
Component appearance resources
The syntax for specifying component appearance resources that apply
to window manager icons, menus, and client window frames is
Mwm*resource_id
For example, Mwm*foreground is used to specify the
foreground color for mwm menus, icons, client window frames,
and feedback dialogs.
The syntax for specifying component appearance resources that apply to
a particular mwm component is
Mwm*[menu|icon|client|feedback]*resource_id
If menu is specified, the resource is applied only to mwm
If menu is specified, the resource is applied only to mwm
menus; if icon is specified, the resource is applied to
icons; and if client is specified, the resource is applied
to client window frames. For example, Mwm*icon*foreground
is used to specify the foreground color for mwm icons,
Mwm*menu*foreground specifies the foreground color for
mwm menus, and Mwm*client*foreground is used to
specify the foreground color for mwm client window frames.
The appearance of the title area of a client window frame (including
window management buttons) can be separately configured.
The syntax for configuring the title area of a client window frame is
Mwm*client*title*resource_id
For example, Mwm*client*title*foreground specifies the
foreground color for the title area. Defaults for title area
resources are based on the values of the corresponding client window
frame resources.
The appearance of menus can be configured based on the name of the menu.
The syntax for specifying menu appearance by name is
Mwm*menu*menu_name*resource_id
For example, Mwm*menu*my_menu*foreground specifies the
foreground color for the menu named my_menu.
The following component appearance resources that apply to
all window manager parts can be specified:
Component appearance resources -- all window manager parts
Name
Class
Value Type
Default
background
Background
color
varies+
backgroundPixmap
BackgroundPixmap
string
varies+
bottomShadowColor
Foreground
color
varies+
bottomShadowPixmap
BottomShadowPixmap
string
varies+
fontList
FontList
string++
"fixed"
foreground
Foreground
color
varies+
saveUnder
SaveUnder
T/F
F
topShadowColor
Background
color
varies+
topShadowPixmap
TopShadowPixmap
string
varies\(df
+ The default is chosen based on the visual type of the screen.
++ X11 R4 Font description.
background (class Background)
This resource specifies the background color. Any legal X color may be
specified. The default value is chosen based on the visual type of
the screen.
backgroundPixmap (class BackgroundPixmap)
This resource specifies the background Pixmap of the mwm
decoration when the window is inactive (does not have the keyboard
focus). The default value is chosen based on the visual type of the
screen.
bottomShadowColor (class Foreground)
This resource specifies the bottom shadow color. This color is used
for the lower and right bevels of the window manager decoration. Any
legal X color may be specified. The default value is chosen based on
the visual type of the screen.
bottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap. This Pixmap is used
for the lower and right bevels of the window manager decoration. The
default is chosen based on the visual type of the screen.
fontList (class FontList)
This resource specifies the font used in the window manager
decoration. The character encoding of the font should match the
character encoding of the strings that are used. The default is
``fixed.''
foreground (class Foreground)
This resource specifies the foreground color. The default is chosen
based on the visual type of the screen.
saveUnder (class SaveUnder)
This is used to indicate whether ``save unders'' are used for
mwm components. For this to have any effect, save unders
must be implemented by the X server. If save unders are implemented,
the X server saves the contents of windows obscured by windows that
have the save under attribute set. If the saveUnder resource is True,
mwm will set the save under attribute on the window manager
frame of any client that has it set. If saveUnder is False, save
unders will not be used on any window manager frames. The default
value is False.
topShadowColor (class Background)
This resource specifies the top shadow color. This color is used for
the upper and left bevels of the window manager decoration. The
default is chosen based on the visual type of the screen.
topShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap. This Pixmap is used
for the upper and left bevels of the window manager decoration. The
default is chosen based on the visual type of the screen.
The following component appearance resources that apply to frame and
icons can be specified:
Frame and icon components
Name
Class
Value Type
Default
activeBackground
Background
color
varies+
activeBackgroundPixmap
BackgroundPixmap
string
varies+
activeBottomShadowColor
Foreground
color
varies+
activeBottomShadowPixmap
BottomShadowPixmap
string
varies+
activeForeground
Foreground
color
varies+
activeTopShadowColor
Background
color
varies+
activeTopShadowPixmap
TopShadowPixmap
string
varies+
+ The default is chosen based on the visual type of the screen.
activeBackground (class Background)
This resource specifies the background color of the mwm
decoration when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
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.
This resource specifies the bottom shadow Pixmap of the mwm
decoration when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
activeForeground (class Foreground)
This resource specifies the foreground color of the mwm
decoration when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
activeTopShadowColor (class Background)
This resource specifies the top shadow color of the mwm
decoration when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
activeTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap of the mwm
decoration when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
Specific appearance and behavior resources
The syntax for specifying specific appearance and behavior resources
is
Mwm*resource_id
For example, Mwm*keyboardFocusPolicy specifies the window
manager policy for setting the keyboard focus to a particular client
window.
The following specific appearance and behavior resources can be
specified:
Specific appearance and behavior resources
Name
Class
Value Type
Default
autoKeyFocus
AutoKeyFocus
T/F
T
autoRaiseDelay
AutoRaiseDelay
millisec
500
bitmapDirectory
BitmapDirectory
directory
/usr/include/X11/bitmaps
buttonBindings
ButtonBindings
string
"DefaultButtonBindings"
cleanText
CleanText
T/F
T
clientAutoPlace
ClientAutoPlace
T/F
T
colormapFocusPolicy
ColormapFocusPolicy
string
keyboard
configFile
ConfigFile
file
.mwmrc
deiconifyKeyFocus
DeiconifyKeyFocus
T/F
T
doubleClickTime
DoubleClickTime
millisec.
500
enableWarp
enableWarp
T/F
T
enforceKeyFocus
EnforceKeyFocus
T/F
T
execShell
ExecShell
string
null
fadeNormalIcon
FadeNormalIcon
T/F
F
frameBorderWidth
FrameBorderWidth
pixels
5
iconAutoPlace
IconAutoPlace
T/F
T
iconBoxGeometry
IconBoxGeometry
string
6x1+0-0
iconBoxName
IconBoxName
string
iconbox
iconBoxSBDisplayPolicy
IconBoxSBDisplayPolicy
string
all
iconBoxTitle
IconBoxTitle
XmString
Icons
iconClick
IconClick
T/F
T
iconDecoration
IconDecoration
string
varies
iconImageMaximum
IconImageMaximum
wxh
50x50
iconImageMinimum
IconImageMinimum
wxh
16x16
iconPlacement
IconPlacement
string
right bottom
iconPlacementMargin
IconPlacementMargin
pixels
varies
interactivePlacement
InteractivePlacement
T/F
F
keyBindings
KeyBindings
string
"DefaultKeyBindings"
keyboardFocusPolicy
KeyboardFocusPolicy
string
explicit
limitResize
LimitResize
T/F
F
lowerOnIconify
LowerOnIconify
T/F
T
maximumMaximumSize
MaximumMaximumSize
wxh (pixels)
2X screen w&h
moveOpaque
MoveOpaque
T/F
F
moveThreshold
MoveThreshold
pixels
4
multiScreen
MultiScreen
T/F
F
passButtons
PassButtons
T/F
F
passSelectButton
PassSelectButton
T/F
T
positionIsFrame
PositionIsFrame
T/F
T
positionOnScreen
PositionOnScreen
T/F
F
quitTimeout
QuitTimeout
millisec.
1000
raiseKeyFocus
RaiseKeyFocus
T/F
F
resizeBorderWidth
ResizeBorderWidth
pixels
10
resizeCursors
ResizeCursors
T/F
T
screens
Screens
string
varies
showFeedback
ShowFeedback
string
-kill
startupKeyFocus
StartupKeyFocus
T/F
T
transientDecoration
TransientDecoration
string
title border resizeh
transientFunctions
TransientFunctions
string
move resize
useIconBox
UseIconBox
T/F
F
wMenuButtonClick
WMenuButtonClick
T/F
T
wMenuButtonClick2
WMenuButtonClick2
T/F
T
xGranularity
XGranularity
pixels
0
yGranularity
YGranularity
pixels
0
autoKeyFocus (class AutoKeyFocus)
This resource is available only when the keyboard input focus policy
is explicit. If autoKeyFocus is given a value of True, then when a
window with the keyboard input focus is withdrawn from window
management or is iconified, the focus is set to the previous window
that had the focus. If the value given is False, there is no
automatic setting of the keyboard input focus. The default value is
True.
autoRaiseDelay (class AutoRaiseDelay)
This resource is available only when the focusAutoRaise resource is
True and the keyboard focus policy is pointer. The autoRaiseDelay
resource specifies the amount of time (in milliseconds) that
mwm will wait before raising a window after it gets the
keyboard focus. The default value of this resource is 500 (ms).
bitmapDirectory (class BitmapDirectory)
This resource identifies a directory to be searched for bitmaps
referenced by mwm resources. This directory is searched if
a bitmap is specified without an absolute pathname. The default value
for this resource is /usr/include/X11/bitmaps.
buttonBindings (class ButtonBindings)
This resource identifies the set of button bindings for window
management functions. The named set of button bindings is specified
in the mwm resource description file. These button bindings
are merged with the built-in default bindings. The default
value for this resource is ``DefaultButtonBindings.''
cleanText (class CleanText)
This resource controls the display of window manager text in the
client title and feedback windows. If the default value of True is
used, the text is drawn with a clear (no stipple) background. This
makes text easier to read on monochrome systems where a
backgroundPixmap is specified. Only the stippling in the area
immediately around the text is cleared. If False, the text is drawn
directly on top of the existing background.
clientAutoPlace (class ClientAutoPlace)
This resource determines the position of a window when the window has
not been given a user-specified position. With a value of True,
windows are positioned with the top left corners of the frames offset
horizontally and vertically. A value of False causes the currently
configured position of the window to be used. In either case,
mwm will attempt to place the windows totally on-screen.
The default value is True.
colormapFocusPolicy (class ColormapFocusPolicy)
This resource indicates the colormap focus policy that is to be used.
If the resource value is explicit, a colormap selection action is done
on a client window to set the colormap focus to that window. If the
value is pointer, the client window containing the pointer has the
colormap focus. If the value is keyboard, the client window that has
the keyboard input focus has the colormap focus. The default value
for this resource is keyboard.
configFile (class ConfigFile)
The resource value is the pathname for an mwm resource
description file.
If the pathname begins with ``~/'', mwm considers
it to be relative to the user's home directory (as specified by the
HOME environment variable). If the LANG
environment variable is set, mwm looks for
$HOME/$LANG/configFile. If that file does not
exist or if LANG is not set, mwm looks for
$HOME/configFile.
If the configFile pathname does not begin with ``~/'',
mwm considers it to be relative to the current working
directory.
If the configFile resource is not specified or if that file
does not exist, mwm uses several default paths to find a
configuration file. If the LANG environment variable is
set, mwm looks for the configuration file first in
$HOME/$LANG/.mwmrc. If that file does not exist or if
LANG is not set, mwm looks for
$HOME/.mwmrc. If that file does not exist and if
LANG is set, mwm next looks for
/usr/lib/X11/$LANG/system.mwmrc. If
that file does not exist or if LANG is not set,
mwm looks for /usr/lib/X11/system.mwmrc.
deiconifyKeyFocus (class DeiconifyKeyFocus)
This resource applies only when the keyboard input focus policy is
explicit. If a value of True is used, a window receives the keyboard
input focus when it is normalized (deiconified). True is the default
value.
doubleClickTime (class DoubleClickTime)
This resource is used to set the maximum time (in ms) between the
clicks (button presses) that make up a double-click. The default
value of this resource is the display's multi-click time.
enableWarp (class EnableWarp)
The default value of this resource, True, causes mwm to
``warp'' the pointer to the center of the selected window during
keyboard-controlled resize and move operations. Setting the value to
False causes mwm to leave the pointer at its original place
on the screen, unless the user explicitly moves it with the cursor
keys or pointing device.
enforceKeyFocus (class EnforceKeyFocus)
If this resource is given a value of True, the keyboard input focus is
always explicitly set to selected windows even if there is an
indication that they are ``globally active'' input windows. (An example
of a globally active window is a scroll bar that can be operated
without setting the focus to that client.) If the resource is False,
the keyboard input focus is not explicitly set to globally active
windows. The default value is True.
execshell (class ExecShell)
This resource indicates which shell mwm uses when it executes
a new client. The possible shells are /bin/.sh, /bin/.ksh,
or /bin/.csh. The default value is Null which indicates
executing a client from the user's home shell.
fadeNormalIcon (class FadeNormalIcon)
If this resource is given a value of True, an icon is grayed out
whenever it has been normalized (its window has been opened). The
default value is False.
frameBorderWidth (class FrameBorderWidth)
This resource specifies the width (in pixels) of a client window frame
border without resize handles. The border width includes the 3-D
shadows. The default value is 5 pixels.
iconAutoPlace (class IconAutoPlace)
This resource indicates whether the window manager arranges icons in a
particular area of the screen or places each icon where the window was
when it was iconified. The value True indicates that icons are
arranged in a particular area of the screen, determined by the
iconPlacement resource. The value False indicates that an icon is
placed at the location of the window when it is iconified. The
default is True.
iconBoxGeometry (class IconBoxGeometry)
This resource indicates the initial position and size of the icon box.
The value of the resource is a standard window geometry string with
the following syntax:
[=][widthxheight][{+-}xoffset{+-}yoffset]
If the offsets are not provided, the iconPlacement policy is used to
determine the initial placement. The units for width and height are
columns and rows.
The actual screen size of the icon box window depends on the
iconImageMaximum (size) and iconDecoration resources. The default
value for size is (6 * iconWidth + padding) wide by (1 * iconHeight +
padding) high. The default value of the location is +0 -0.
iconBoxName (class IconBoxName)
This resource specifies the name that is used to look up icon box
resources. The default name is ``iconbox.''
This resource specifies the scroll bar display policy of the window
manager in the icon box. The resource has three possible values: all,
vertical, and horizontal. The default value, ``all'', causes both
vertical and horizontal scroll bars always to appear. The value
``vertical'' causes a single vertical scroll bar to appear in the icon
box and sets the orientation of the icon box to horizontal (regardless
of the iconBoxGeometry specification). The value ``horizontal'' causes
a single horizontal scroll bar to appear in the icon box and sets the
orientation of the icon box to vertical (regardless of the
iconBoxGeometry specification).
iconBoxTitle (class IconBoxTitle)
This resource specifies the name that is used in the title area of the
icon box frame. The default value is ``Icons''.
iconClick (class IconClick)
When this resource is given the value of True, the system menu is
posted and left posted when an icon is clicked. The default value is
True.
iconDecoration (class IconDecoration)
This resource specifies the general icon decoration. The resource
value is label (only the label part is displayed) or image (only the
image part is displayed) or label image (both the label and image
parts are displayed). A value of activelabel can also be specified to
get a label (not truncated to the width of the icon) when the icon is
selected. The default icon decoration for icon box icons is that each
icon has a label part and an image part (label image). The default
icon decoration for stand alone icons is that each icon has an active
label part, a label part, and an image part (activelabel label image).
iconImageMaximum (class IconImageMaximum)
This resource specifies the maximum size of the icon image.
The resource value is widthxheight (for
example, 64x64). The maximum supported size is 128x128. The default
value of this resource is 50x50.
iconImageMinimum (class IconImageMinimum)
This resource specifies the minimum size of the icon image.
The resource value is widthxheight (for
example, 32x50). The minimum supported size is 16x16. The default
value of this resource is 16x16.
iconPlacement (class IconPlacement)
This resource specifies the icon placement scheme to be used. The
resource value has the following syntax:
primary_layout secondary_layout
The layout values are one of the following:
Value
Description
top
Lay the icons out top to bottom.
bottom
Lay the icons out bottom to top.
left
Lay the icons out left to right.
right
Lay the icons out right to left.
A horizontal (vertical) layout value should not be used for both the
primary_layout and the secondary_layout (for
example, don't use top for the primary_layout and bottom for
the secondary_layout). The primary_layout
indicates whether, when an icon placement is done, the icon is placed
in a row or a column and the direction of placement. The
secondary_layout indicates where to place new rows or
columns. For example, top right indicates that icons should be placed
top to bottom on the screen and that columns should be added from
right to left on the screen. The default placement is
``right bottom''
(icons are placed right to left on the screen, with the first row on
the bottom of the screen, and new rows added from the bottom of the
screen to the top of the screen).
iconPlacementMargin (class IconPlacementMargin)
This resource sets the distance between the edge of the screen and the
icons that are placed along the edge of the screen. The value should
be greater than or equal to 0. A default value (see below) is used if
the value specified is invalid. The default value for this resource
is equal to the space between icons as they are placed on the screen
(this space is based on maximizing the number of icons in each row and
column).
interactivePlacement (class InteractivePlacement)
This resource controls the initial placement of new windows on the
screen. If the value is True, the pointer shape changes before a new
window is placed on the screen to indicate to the user that a position
should be selected for the upper-left hand corner of the window. If
the value is False, windows are placed according to the initial window
configuration attributes. The default value of this resource is
False.
keyBindings (class KeyBindings)
This resource identifies the set of key bindings for window management
functions. If specified, these key bindings replace the
built-in default bindings. The named set of key bindings is specified
in mwm resource description file. The default value for
this resource is DefaultKeyBindings.
keyboardFocusPolicy (class KeyboardFocusPolicy)
If set to pointer, the keyboard focus policy is to have the keyboard
focus set to the client window that contains the pointer (the pointer
could also be in the client window decoration that mwm
adds). If set to explicit, the policy is to have the keyboard focus
set to a client window when the
user presses button 1 with the pointer
on the client window or any part of the associated mwm
decoration. The default value for this resource is explicit.
limitResize (class LimitResize)
If this resource is True, the user is not allowed to resize a window
to greater than the maximum size. The default value for this resource
is False.
lowerOnIconify (class LowerOnIconify)
If this resource is given the default value of True, a window's icon
appears on the bottom of the window stack when the window is minimized
(iconified). A value of False places the icon in the stacking order
at the same place as its associated window. The default value of this
resource is True.
maximumMaximumSize (class MaximumMaximumSize)
This resource is used to limit the maximum size of a client window as
set by the user or client. The resource value is
widthxheight (for example, 1024x1024)
where the width and height are in pixels. The default value of this
resource is twice the screen width and height.
moveThreshold (class MoveThreshold)
This resource is used to control the sensitivity of dragging
operations that move windows and icons. The value of this resource is
the number of pixels that the locator is moved with a button down
before the move operation is initiated. This is used to prevent
window/icon movement when you click or double-click and there is
unintentional pointer movement with the button down. The default
value of this resource is 4 (pixels).
moveOpaque (class MoveOpaque)
This resource is used to control the appearance of a window
while it is being dragged.
When True, the entire window moves instead of just the wire frame.
The default value is False.
multiScreen (class MultiScreen)
This resource, if True, causes mwm to manage all the screens
on the display. If False, mwm manages only a single screen.
The default value is False.
passButtons (class PassButtons)
This resource indicates whether or not button press events are passed
to clients after they are used to do a window manager function in the
client context. If the resource value is False, the button press is
not passed to the client. If the value is True, the button press is
passed to the client window. The window manager function is done in
either case. The default value for this resource is False.
passSelectButton (class PassSelectButton)
This resource indicates whether or not to pass the select button press
events to clients after they are used to do a window manager function
in the client context. If the resource value is False, then the
button press will not be passed to the client. If the value is True,
the button press is passed to the client window. The window manager
function is done in either case. The default value for this resource
is True.
positionIsFrame (class PositionIsFrame)
This resource indicates how client window position information (from
the WM_NORMAL_HINTS property and from configuration requests) is to be
interpreted. If the resource value is True, the information is
interpreted as the position of the mwm client window frame. If the
value is False, it is interpreted as being the position of the client
area of the window. The default value of this resource is True.
positionOnScreen (class PositionOnScreen)
This resource is used to indicate that windows should initially be
placed (if possible) so that they are not clipped by the edge of the
screen (if the resource value is True). If a window is larger than
the size of the screen, at least the upper-left corner of the window
is on-screen. If the resource value is False, windows are placed in
the requested position even if totally off-screen. The default value
of this resource is False.
quitTimeout (class QuitTimeout)
This resource specifies the amount of time (in milliseconds) that
mwm will wait for a client to update the WM_COMMAND property
after mwm has sent the WM_SAVE_YOURSELF message. This
protocol is used only for those clients that have a WM_SAVE_YOURSELF
atom and no WM_DELETE_WINDOW atom in the WM_PROTOCOLS client window
property. The default value of this resource is 1000 (ms). (Refer to
the f.kill function for additional information.)
raiseKeyFocus (class RaiseKeyFocus)
This resource is available only when the keyboard input focus policy
is explicit. When set to True, this resource specifies that a window
raised by means of the f.normalize_and_raise function also receives
the input focus. The default value of this resource is False.
resizeBorderWidth (class ResizeBorderWidth)
This resource specifies the width (in pixels) of a client window frame
border with resize handles. The specified border width includes the
3-D shadows. The default is 10 (pixels).
resizeCursors (class ResizeCursors)
This is used to indicate whether the resize cursors are always
displayed when the pointer is in the window size border. If True, the
cursors are shown, otherwise the window manager cursor is shown. The
default value is True.
screens (class Screens)
This resource specifies the resource names to use for the screens
managed by mwm. If mwm is managing a single
screen, only the first name in the list is used. If mwm is
managing multiple screens, the names are assigned to the screens in
order, starting with screen 0. Screen 0 gets the first name, screen 1
the second name, and so on. The default screen names are 0, 1, and so
on.
showFeedback (class ShowFeedback)
This resource controls when feedback information is displayed. It
controls both window position and size feedback during move or resize
operations and initial client placement. It also controls window
manager message and dialog boxes.
The value for this resource is a list of names of the feedback options
to be enabled or disabled; the names must be separated by a space. If
an option is preceded by a minus sign, that option is excluded from
the list. The sign of the first item in the list determines
the initial set of options. If the sign of the first option is minus,
mwm assumes all options are present and starts subtracting
from that set. If the sign of the first decoration is plus (or not
specified), mwm starts with no options and builds up a list
from the resource.
The names of the feedback options are shown below:
Name
Description
all
Show all feedback (Default value)
behavior
Confirm behavior switch
kill
Confirm on receipt of KILL signal
move
Show position during move
none
Show no feedback
placement
Show position and size during initial placement
quit
Confirm quitting mwm
resize
Show size during resize
restart
Confirm mwm restart
The following command line illustrates the syntax for showFeedback:
This resource specification provides feedback for initial client
placement and resize, and enables the dialog boxes to confirm the
restart and set behavior functions. It disables feedback for the move
function. The default value for this resource is all.
startupKeyFocus (class StartupKeyFocus)
This resource is available only when the keyboard input focus policy
is explicit. When given the default value of True, a window gets the
keyboard input focus when the window is mapped (that is, initially
managed by the window manager).
transientDecoration (class TransientDecoration)
This controls the amount of decoration that mwm puts on
transient windows. The decoration specification is exactly the same
as for the clientDecoration (client specific) resource.
Transient windows are identified by the WM_TRANSIENT_FOR property,
which is added by the client to indicate
a relatively temporary
window. The default value for this resource is
``title border resizeh''.
transientFunctions (class TransientFunctions)
This resource is used to indicate which window management functions
are applicable (or not applicable) to transient windows. The function
specification is exactly the same as for the clientFunctions
(client specific) resource. The default value for this resource is
``move resize''.
useIconBox (class UseIconBox)
If this resource is given a value of True, icons are placed in an icon
box. When an icon box is not used, the icons are placed on the root
window (default value).
wMenuButtonClick (class WMenuButtonClick)
This resource indicates whether a click of the mouse when the pointer
is over the window menu button posts and leaves posted the window
menu. If the value given this resource is True, the menu remains
posted. True is the default value for this resource.
wMenuButtonClick2 (class WMenuButtonClick2)
When this resource is given the default value of True, a double-click
action on the window menu button does an f.kill function.
xGranularity (class XGranularity)
This resource indicates where your window should be redrawn when you have
moved the sides of it to a non-standard location on the desktop. This feature
improves the redraw rate of your window. The new location is specified as a value
(x) that represents the number of horizontal pixels that comprise an interval
between standard redraw locations. For example, if you moved your window to
horizontal pixel number 15 and the xGranularity value is 9, the
window would be redrawn at pixel number 18, the nearest location that is a
multiple of nine. The default value is 0.
yGranularity (class YGranularity)
This resource indicates where your window should be redrawn when you have
moved either the top or bottom of it to a non-standard location on the desktop. This feature
improves the redraw rate of your window. The new location is specified as a value
(x) that represents the number of vertical pixels that comprise an interval
between standard redraw locations. For example, if you moved your window to
vertical pixel number 7 and the yGranularity value is 3, the window would be redrawn at pixel number 6, the nearest location that is a multiple of 3. The default value is 0.
Client specific resources
The syntax for specifying client specific resources is
Mwm*client_name_or_class*resource_id
For example, Mwm*mterm*windowMenu is used to specify the
window menu to be used with mterm clients.
The syntax for specifying client specific resources for
all classes of clients is
Mwm*resource_id
Specific client specifications take precedence over the specifications
for all clients. For example, Mwm*windowMenu is used to
specify the window menu to be used for all classes of clients that
don't have a window menu specified.
The syntax for specifying resource values for windows that have an
unknown name and class (that is, windows that do not have a WM_CLASS
property associated with them) is
Mwm*defaults*resource_id
For example, Mwm*defaults*iconImage is used to specify the
icon image to be used for windows that have an unknown name and class.
The following client specific resources can be specified:
Client specific resources
Name
Class
Value Type
Default
clientDecoration
ClientDecoration
string
all
clientFunctions
ClientFunctions
string
all
focusAutoRaise
FocusAutoRaise
T/F
varies
iconImage
IconImage
pathname
(image)
iconImageBackground
Background
color
icon background
iconImageBottomShadowColor
Foreground
color
icon bottom shadow
iconImageBottomShadowPixmap
BottomShadowPixmap
color
icon bottom shadow
pixmap
iconImageForeground
Foreground
color
varies
iconImageTopShadowColor
Background
color
icon top shadow color
iconImageTopShadowPixmap
TopShadowPixmap
color
icon top shadow
pixmap
matteBackground
Background
color
background
matteBottomShadowColor
Foreground
color
bottom shadow color
matteBottomShadowPixmap
BottomShadowPixmap
color
bottom shadow pixmap
matteForeground
Foreground
color
foreground
matteTopShadowColor
Background
color
top shadow color
matteTopShadowPixmap
TopShadowPixmap
color
top shadow pixmap
matteWidth
MatteWidth
pixels
0
maximumClientSize
MaximumClientSize
wxh
fill the screen
useClientIcon
UseClientIcon
T/F
F
windowMenu
WindowMenu
string
DefaultWindowMenu
clientDecoration (class ClientDecoration)
This resource controls the amount of window frame decoration. The
resource is specified as a list of decorations to specify their
inclusion in the frame. If a decoration is preceded by a minus sign,
that decoration is excluded from the frame. The sign of the
first item in the list determines the initial amount of decoration.
If the sign of the first decoration is minus, mwm assumes
all decorations are present and starts subtracting from that set. If
the sign of the first decoration is plus (or not specified), then
mwm starts with no decoration and builds up a list from the
resource.
Name
Description
all
Include all decorations (default value)
border
Window border
maximize
Maximize button (includes title bar)
minimize
Minimize button (includes title bar)
none
No decorations
resizeh
Border resize handles (includes border)
menu
Window menu button (includes title bar)
title
Title bar (includes border)
Examples:
Mwm*XClock.clientDecoration: -resizeh -maximize
This removes the resize handles and maximize button from
XClock windows.
Mwm*XClock.clientDecoration: menu minimize border
This does the same thing as above. Note that either menu or
minimize implies title.
clientFunctions (class ClientFunctions)
This resource is used to indicate which mwm functions are
applicable (or not applicable) to the client window. The value for
the resource is a list of functions. If the first function in the
list has a minus sign in front of it, then mwm starts with
all functions and subtracts from that set. If the first function in
the list has a plus sign in front of it, then mwm starts
with no functions and builds up a list. Each function in the list
must be preceded by the appropriate plus or minus sign and separated
from the next function by a space.
The table below lists the functions available for this resource:
Name
Description
all
Include all functions (default value)
none
No functions
resize
f.resize
move
f.move
minimize
f.minimize
maximize
f.maximize
close
f.kill
focusAutoRaise (class FocusAutoRaise)
When the value of this resource is True, clients are raised when they
get the keyboard input focus. If the value is False, the stacking of
windows on the display is not changed when a window gets the keyboard
input focus. The default value is True when the keyboardFocusPolicy
is explicit and False when the keyboardFocusPolicy is pointer.
iconImage (class IconImage)
This resource can be used to specify an icon image for a client (for
example, ``Mwm*myclock*iconImage''). The resource value is a pathname
for a bitmap file. The value of the (client specific) useClientIcon
resource is used to determine whether or not user supplied icon images
are used instead of client supplied icon images. The default value is
to display a built-in window manager icon image.
iconImageBackground (class Background)
This resource specifies the background color of the icon image that is
displayed in the image part of an icon. The default value of this
resource is the icon background color (that is, specified by
Mwm*background or Mwm*icon*background).
iconImageBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of the icon image that
is displayed in the image part of an icon. The default value of this
resource is the icon bottom shadow color (that is, specified by
Mwm*icon*bottomShadowColor).
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).
This resource specifies the bottom shadow Pixmap of the matte, when
matteWidth is positive. The default value of this resource
is the client bottom shadow pixmap (that is, specified by
Mwm*bottomShadowPixmap or Mwm*client*bottomShadowPixmap).
matteForeground (class Foreground)
This resource specifies the foreground color of the matte, when
matteWidth is positive. The default value of this resource
is the client foreground color (that is, specified by Mwm*foreground
or Mwm*client*foreground).
matteTopShadowColor (class Background)
This resource specifies the top shadow color of the matte, when
matteWidth is positive.
The default value of this resource is the client top shadow color
(that is, specified by Mwm*topShadowColor or Mwm*client*topShadowColor).
matteTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow pixmap of the matte, when
matteWidth is positive. The default value of this resource
is the client top shadow pixmap (that is, specified by
Mwm*topShadowPixmap or Mwm*client*topShadowPixmap).
matteWidth (class MatteWidth)
This resource specifies the width of the optional matte.
The default value is 0, which effectively disables the matte.
maximumClientSize (class MaximumClientSize)
This is a size specification that indicates the client size to be used
when an application is maximized. The resource value is specified as
widthxheight. The width and height are
interpreted in the units that the client uses (for example, for
terminal emulators this is generally characters). If this resource is
not specified, the maximum size from the WM_NORMAL_HINTS property is
used if set. Otherwise the default value is the size where the client
window with window management borders fills the screen. When the
maximum client size is not determined by the maximumClientSize
resource, the maximumMaximumSize resource value is used as a
constraint on the maximum size.
useClientIcon (class UseClientIcon)
If the value given for this resource is True, a client-supplied icon
image takes precedence over a user-supplied icon image. The default
value is False, giving the user-supplied icon image higher precedence
than the client-supplied icon image.
windowMenu (class WindowMenu)
This resource indicates the name of the menu pane that is posted when
the window menu is popped up (usually by pressing button 1 on the
window menu button on the client window frame). Menu panes are
specified in the mwm resource description file. Window menus can be
customized on a client class basis by specifying resources of the form
Mwm*client_name_or_class*windowMenu (see
``Mwm Resource Description File Syntax''). The default value of this
resource is ``DefaultWindowMenu.''
Resource description file
The mwm resource description file is a supplementary resource file
that contains resource descriptions that are referred to by entries in
the defaults files (.Xdefaults, app-defaults/Mwm). It contains
descriptions of resources that are to be used by mwm, and
that cannot be easily encoded in the defaults files (a bitmap file is
an analogous type of resource description file). A particular
mwm resource description file can be selected using the
configFile resource.
The following types of resources can be described in the
mwm resource description file:
Buttons
Window manager functions can be bound (associated) with button events.
Keys
Window manager functions can be bound (associated) with key press events.
Menus
Menu panes can be used for the window menu and other menus posted
with key bindings and button bindings.
mwm resource description file syntax
The mwm resource description file is a standard text file
that contains items of information separated by blanks, tabs, and
newline characters. Blank lines are ignored. Items or characters can
be quoted to avoid special interpretation (for example, the comment
character can be quoted to prevent it from being interpreted as the
comment character). A quoted item can be contained in double quotes
("). Single characters can be quoted by preceding them by
the backslash character (\).
All text from an unquoted
``#'' to the end of the line is regarded as a comment and is not
interpreted as part of a resource description. If ``!'' is the
first character in a line, the line is regarded as a comment. Window
manager functions can be accessed with button and key bindings, and
with window manager menus..P
Functions are indicated as part of the
specifications for button and key binding sets, and menu panes. The
function specification has the following syntax:
function =
function_name [function_args]
function_name =
window manager function
function_args =
{quoted_item | unquoted_item}
The following functions are supported. If a function is specified
that isn't one of the supported functions, then it is interpreted by
mwm as f.nop.
f.beep
This function causes a beep.
f.circle_down [icon | window]
This function causes the window or icon that is on the top of the
window stack to be put on the bottom of the window stack (so that it
no longer obscures any other window or icon). This function affects
only those windows and icons that obscure other windows and icons, or
that are obscured by other windows and icons. Secondary windows (that
is, transient windows) are restacked with their associated primary
window. Secondary windows always stay on top of the associated
primary window and there can be no other primary windows between the
secondary windows and their primary window. If an icon
function argument is specified, the function applies only to icons.
If a window function argument is specified, the function
applies only to windows.
f.circle_up [icon | window]
This function raises the window or icon on the bottom of the window
stack (so that it is not obscured by any other windows). This
function affects only those windows and icons that obscure other
windows and icons, or that are obscured by other windows and icons.
Secondary windows (that is, transient windows) are restacked with
their associated primary window. If an icon function
argument is specified, the function applies only to icons. If a
window function argument is specified, the function applies
only to windows.
f.exec or !
This function causes command to be executed (using the value
of the MWMSHELL environment variable if it is set, otherwise
the value of the SHELL environment variable if it is set,
otherwise /bin/sh). The ! notation can be used in
place of the f.exec function name.
f.focus_color
This function sets the colormap focus to a client window. If this
function is done in a root context, the default colormap (set up by
the X Window System for the screen where mwm is running) is
installed and there is no specific client window colormap focus. This
function is treated as f.nop if colormapFocusPolicy is not
explicit.
f.focus_key
This function sets the keyboard input focus to a client window or
icon.
This function is treated as f.nop if
keyboardFocusPolicy is not explicit or the function is executed in a
root context.
f.kill
This function is used to terminate a client. If the WM_DELETE_WINDOW
protocol is set up, the client is sent a client message event,
indicating that the client window should be deleted. If the
WM_SAVE_YOURSELF protocol is set up and the WM_DELETE_WINDOW protocol
is not set up, the client is sent a client message event, indicating
that the client needs to prepare to be terminated. If the client does
not have the WM_DELETE_WINDOW or WM_SAVE_YOURSELF protocol set up,
this function causes a client's X connection to be terminated (usually
resulting in termination of the client). Refer to the description of
the quitTimeout resource and the WM_PROTOCOLS property.
f.lower [-client]
This function lowers a client window to the bottom of the window stack
(where it obscures no other window). Secondary windows (that is,
transient windows) are restacked with their associated primary window.
The client argument indicates the name or class of a client
to lower. If the client argument is not specified, the
context that the function was invoked in indicates the window or icon
to lower.
f.maximize
This function causes a client window to be displayed with its maximum
size.
f.menu
This function associates a cascading (pull-right) menu with a menu
pane entry or a menu with a button or key binding. The
menu_name function argument identifies the menu to be used.
f.minimize
This function causes a client window to be minimized (iconified).
When a window is minimized when no icon box is used, its icon is
placed on the bottom of the window stack (so that it obscures no other
window). If an icon box is used, the client's icon changes to its
iconified form inside the icon box. Secondary windows (that is,
transient windows) are minimized with their associated primary window.
There is only one icon for a primary window and all its secondary
windows.
f.move
This function causes a client window to be interactively moved.
f.next_cmap
This function installs the next colormap in the list of colormaps for
the window with the colormap focus.
f.next_key [icon | window | transient]
This function sets the keyboard input focus to the next window/icon in
the set of windows/icons managed by the window manager (the ordering
of this set is based on the stacking of windows on the screen).
This
function is treated as f.nop if keyboardFocusPolicy is not
explicit. The keyboard input focus is moved only to windows that do
not have an associated secondary window that is application modal. If
the transient argument is specified, transient (secondary)
windows are traversed (otherwise, if only window is
specified, traversal is done only to the last focused window in a
transient group). If an icon function argument is
specified, the function applies only to icons. If a window
function argument is specified, the function applies only to windows.
f.nop
This function does nothing.
f.normalize
This function causes a client window to be displayed with its normal
size. Secondary windows (that is, transient windows) are placed in
their normal state along with their associated primary window.
f.normalize_and_raise
This function causes the corresponding client window to be displayed
with its normal size and raised to the top of the window stack.
Secondary windows (that is, transient windows) are placed in their
normal state along with their associated primary window.
f.pack_icons
This function is used to relayout icons (based on the layout policy
being used) on the root window or in the icon box. In general this
causes icons to be ``packed'' into the icon grid.
f.pass_keys
This function is used to enable/disable (toggle) processing of key
bindings for window manager functions. When it disables key binding
processing, all keys are passed on to the window with the keyboard
input focus and no window manager functions are invoked. If the
f.pass_keys function is invoked with a key binding to
disable key-binding processing, the same key binding can be used to
enable key-binding processing.
f.post_wmenu
This function is used to post the window menu. If a key is used to
post the window menu and a window menu button is present, the window
menu is automatically placed with its top-left corner at the
bottom-left corner of the window menu button for the client window.
If no window menu button is present, the window menu is placed at the
top-left corner of the client window.
f.prev_cmap
This function installs the previous colormap in the list of colormaps
for the window with the colormap focus.
f.prev_key [icon | window | transient]
This function sets the keyboard input focus to the previous
window/icon in the set of windows/icons managed by the window manager
(the ordering of this set is based on the stacking of windows on the
screen).
This function is treated as f.nop if
keyboardFocusPolicy is not explicit. The keyboard input focus is
moved only to windows that do not have an associated secondary window
that is application modal. If the transient argument is
specified, transient (secondary) windows are traversed (otherwise, if
only window is specified, traversal is done only to the last
focused window in a transient group). If an icon function
argument is specified, the function applies only to icons. If an
window function argument is specified, the function applies
only to windows.
f.quit_mwm
This function terminates mwm (but NOT the X window system).
f.raise [-client]
This function raises a client window to the top of the window stack
(where it is obscured by no other window). Secondary windows (that
is, transient windows) are restacked with their associated primary
window. The client argument indicates the name or class of
a client to raise. If the client argument is not specified,
the context that the function was invoked in indicates the window or
icon to raise.
f.raise_lower
This function raises a client window to the top of the window stack if
it is partially obscured by another window, otherwise it lowers the
window to the bottom of the window stack. Secondary windows (that is,
transient windows) are restacked with their associated primary window.
f.refresh
This function causes all windows to be redrawn.
f.refresh_win
This function causes a client window to be redrawn.
f.resize
This function causes a client window to be interactively resized.
f.restart
This function causes mwm to be restarted (effectively terminated
and re-executed).
f.send_msg message_number
This function sends a client message of the type _MOTIF_WM_MESSAGES
with the message_type indicated by the
message_number function argument. The client message is
sent only if message_number is included in the client's
_MOTIF_WM_MESSAGES property. A menu item label is grayed out if the
menu item is used to do f.send_msg of a message that is not
included in the client's _MOTIF_WM_MESSAGES property.
f.separator
This function causes a menu separator to be put in the menu pane at
the specified location (the label is ignored).
f.set_behavior
This function causes the window manager to restart with the default
behavior (if a custom behavior is configured) or revert to the custom
behavior. By default this is bound to <Shift> <Ctrl> <Meta>
<Key>!.
f.title
This function inserts a title in the menu pane at the specified location.
Each function may be constrained as to which resource types can
specify the function (for example, menu pane) and also what context
the function can be used in (for example, the function is done to the
selected client window). Function contexts are:
root
No client window or icon has been selected as an object for
the function.
window
A client window has been selected as an object for the function. This
includes the window's title bar and frame. Some functions are applied
only when the window is in its normalized state (for example,
f.maximize) or its maximized state (for example,
f.normalize).
icon
An icon has been selected as an object for the function.
If a function's context has been specified as icon|window
and the function is invoked in an icon box, the function applies to
the icon box, not to the icons inside.
If a function is specified in a type of resource where it is not
supported or is invoked in a context that does not apply, the function
is treated as f.nop. The following table indicates the
resource types and function contexts in which window manager functions
apply.
Function
Contexts
Resources
f.beep
root, icon, window
button, key, menu
f.circle_down
root, icon, window
button, key, menu
f.circle_up
root, icon, window
button, key, menu
f.exec
root, icon, window
button, key, menu
f.focus_color
root, icon, window
button, key, menu
f.focus_key
root, icon, window
button, key, menu
f.kill
icon, window
button, key, menu
f.lower
icon, window
button, key, menu
f.maximize
icon, window(normal)
button, key, menu
f.menu
root, icon, window
button, key, menu
f.minimize
window
button, key, menu
f.move
icon, window
button, key, menu
f.next_cmap
root, icon, window
button, key, menu
f.next_key
root, icon, window
button, key, menu
f.nop
root, icon, window
button, key, menu
f.normalize
icon, window(maximized)
button, key, menu
f.normalize_and_raise
icon, window
button, key, menu
f.pack_icons
root, icon, window
button, key, menu
f.pass_keys
root, icon, window
button, key, menu
f.post_wmenu
root, icon, window
button, key
f.prev_cmap
root, icon, window
button, key, menu
f.prev_key
root, icon, window
button, key, menu
f.quit_mwm
root
button, key, menu (root only)
f.raise
icon, window
button, key, menu
f.raise_lower
icon, window
button, key, menu
f.refresh
root, icon, window
button, key, menu
f.refresh_win
window
button, key, menu
f.resize
window
button, key, menu
f.restart
root
button, key, menu (root only)
f.send_msg
icon, window
button, key, menu
f.separator
root, icon, window
menu
f.set_behavior
root, icon, window
button, key, menu
f.title
root, icon, window
menu
Window manager event specification
Events are indicated as part of the specifications for button and
key-binding sets, and menu panes.
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:
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 context specification indicates where the pointer must be for the
button binding to be effective. For example, a context of
window indicates that the pointer must be over a client
window or window management frame for the button binding to be
effective. The frame context is for the window management
frame around a client window (including the border and titlebar), the
border context is for the border part of the window
management frame (not including the titlebar), the title
context is for the title area of the window management frame, and the
app context is for the application window (not including the
window management frame).
If an f.nop function is specified for a button binding, the
button binding is not done.
Key bindings
The keyBindings resource value is the name of a set of key
bindings that are used to configure window manager behavior. A window
manager function can be done when a particular key is pressed. The
context in which the key binding applies is indicated in the key
binding specification. The valid contexts are the same as those that
apply to button bindings.
If an f.nop function is specified for a key binding, the key
binding is not done. If an f.post_wmenu or f.menu
function is bound to a key, mwm will automatically use the
same key for removing the menu from the screen after it has been
popped up.
The context specification syntax is the same as for button
bindings. For key bindings, the frame, title,
border, and app contexts are equivalent to the
window context. The context for a key event is the window
or icon that has the keyboard input focus (root if no window
or icon has the keyboard input focus).
Menu panes
Menus can be popped up using the f.post_wmenu and
f.menu window manager functions. The context for window
manager functions that are done from a menu is root,
icon or window depending on how the menu was
popped up. In the case of the window menu or menus popped
up with a key binding, the location of the keyboard input focus
indicates the context. For menus popped up using a button binding,
the context of the button binding is the context of the menu.
The menu pane specification syntax is
Menumenu_name { label [mnemonic] [accelerator] function label [mnemonic] [accelerator] function
.
.
label [mnemonic] [accelerator] function }
Each line in the Menu specification identifies the label for
a menu item and the function to be done if the menu item is selected.
Optionally a menu button mnemonic and a menu button keyboard
accelerator may be specified. Mnemonics are functional only when the
menu is posted and keyboard traversal applies.
The label may be a string or a bitmap file. The label
specification has the following syntax:
label =
text | bitmap_file
bitmap_file =
@file_name
text =
quoted_item | unquoted_item
The string encoding for labels must be compatible with the menu font
that is used. Labels are greyed out for menu items that do the
f.nop function or an invalid function or a function that
doesn't apply in the current context.
A mnemonic specification has the following syntax:
mnemonic = _character
The first matching character in the label is underlined. If
there is no matching character in the label, no mnemonic is
registered with the window manager for that label. Although the
character must exactly match a character in the label, the
mnemonic does not execute if any modifier (such as Shift) is pressed
with the character key.
The accelerator specification is a key event specification
with the same syntax as is used for key bindings to window manager
functions.
Environment variables
mwm uses the environment variable HOME specifying the user's
home directory.
mwm uses the environment variable LANG specifying the
user's choice of language for the mwm message catalog and
the mwm resource description file.
mwm uses the environment variables
XFILESEARCHPATH, XUSERFILESEARCHPATH,
XAPPLRESDIR, XENVIRONMENT, LANG, and
HOME in determining search paths for resource defaults
files.
mwm reads the $HOME/.motifbind file if
it exists to install a virtual key bindings property on the root
window.
mwm uses the environment variable MWMSHELL (or
SHELL, if MWMSHELL is not set), specifying the
shell to use when executing commands via the f.exec
function.