mwm(1X)mwm(1X)NAMEmwm - The Motif Window Manager
SYNOPSISmwm [flags]
OPTIONS
Specifies the display to use; see X(1X). Specifies a resource string
to use. Causes mwm to manage all screens on the display. The default
is to manage only a single screen. Causes mwm to retrieve its
resources using the specified name, as in name*resource. Specifies the
resource names to use for the screens managed by mwm. If mwm is manag‐
ing 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.
DESCRIPTION
The mwm utility is an X Window System client that provides window man‐
agement functionality and some session management functionality. It
provides functions that facilitate control (by the user and the pro‐
grammer) of elements of window state such as placement, size, icon/nor‐
mal display, and input-focus ownership. It also provides session man‐
agement functions such as stopping a client.
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 con‐
figuration of specific resources. Resources are defined under the
heading “X Defaults”.
Screens
By default, mwm manages only the single screen specified by the -dis‐
play 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. By default, the screen number is used for the screen name.
Windows
Default mwm window frames have distinct components with associated
functions: 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.
By default, 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. The title bar includes the title area, the minimize button,
the maximize button, and the window menu button. In shaped windows,
such as round windows, the title bar floats above the window. To turn
the window into an icon, click button 1 on the minimize button (the
frame box with a small square in it). 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). 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. Pressing button
3 in the title bar or resize border handles also posts the window menu.
Alternately, you can click button 1 to pull down the menu and keep it
posted; then position the pointer and select. You can also post the
window menu by pressing [Shift] [Esc] or [Alt] [Space]. Double-click‐
ing button 1 with the pointer on the window menu button closes the win‐
dow. The following table lists the contents of the window menu.
────────────────────────────────────────────────────────
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
────────────────────────────────────────────────────────
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. 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 invokes the f.restore_and_raise
function and restores the icon's associated window to its previous
state. For example, if a maximized window is iconified, then double-
clicking button 1 restores it to its maximized state. 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.) Pressing [Shift] [Esc] or [Menu]
(the pop-up menu key) causes the icon window menu of the currently
selected icon to pop up.
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 con‐
figuration 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 double-
clicking an icon in the icon box invokes the f.restore_and_raise func‐
tion.
───────────────────────────────────────────────────────────────────────────
Button Action Description
───────────────────────────────────────────────────────────────────────────
Button 1 click Selects the icon
Button 1 double-click Normalizes (opens) the associated window
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” selec‐
tion. When selected, PackIcons packs the icons in the box to achieve
neat rows with no empty slots.
You can also post the window menu by pressing [Shift] [Esc] or [Alt]
[Space]. Pressing [Menu] (the pop-up menu key) causes the icon 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 key‐
board 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
(available only in explicit focus mode)
[Alt][Shift][Tab] Move input focus to previous window in window stack
(available only in explicit focus mode)
───────────────────────────────────────────────────────────────────────────
Window Stacking
There are two types of window stacks: global window stacks and an
application's local family window stack.
The global stacking order of windows may be changed as a result of set‐
ting the keyboard input focus, iconifying a window, or performing a
window manager window stacking function. When keyboard focus policy is
explicit the default value of the focusAutoRaise resource is True.
This causes a window to be raised to the top of the stack when it
receives input focus, for example, by pressing button 1 on the title
bar. The key actions defined in the previous table will thus raise the
window receiving focus to the top of the stack.
In pointer mode, the default value of focusAutoRaise is False, that is,
the window stacking order is not changed when a window receives key‐
board input focus. The following key actions can be used to cycle
through the global window stack.
────────────────────────────────────────────────────────
Key Action Function Description
────────────────────────────────────────────────────────
[Alt][ESC] Place top window on bottom of stack
[Alt][Shift][ESC] Place bottom window on top of stack
────────────────────────────────────────────────────────
By default, a window's icon is placed on the bottom of the stack when
the window is iconified; however, the default can be changed by the
lowerOnIconify resource.
Transient windows (secondary windows such a dialog boxes) stay above
their parent windows by default. However, an application's local fam‐
ily stacking order may be changed to allow a transient window to be
placed below its parent top-level window. The following parameters
show the modification of the stacking order for the f.lower function.
Lowers the transient window within the family (staying above the par‐
ent) and lowers the family in the global window stack. Lowers the
transient window within the family (staying above the parent) but does
not lower the family in the global window stack. Lowers the window
free from its family stack (below the parent), but does not lower the
family in the global window stack.
The parameters within and freeFamily can also be used with f.raise and
f.raise_lower.
X Defaults
mwm is configured from its resource database. This database is built
from the following sources. They are listed in order of precedence, low
to high:
/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
RESOURCE_MANAGER root window property or $HOME/.Xdefaults
XENVIRONMENT variable or $HOME/.Xdefaults-host
mwm command line options
The file names /usr/lib/X11/app-defaults/Mwm and $HOME/Mwm represent
customary locations for these files. The actual location of the system-
wide class resource file may depend on the XFILESEARCHPATH environment
variable and the current language environment. The actual location of
the user-specific class resource file may depend on the XUSERFILE‐
SEARCHPATH and XAPPLRESDIR environment variables and the current lan‐
guage 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 specifica‐
tions (for example, button and key bindings).
Mwm is the resource class name of mwm and mwm is the default resource
name used by mwm to look up resources. 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 reconfigura‐
tion feedback window), client window frames, and icons.
General Appearance and Behavior Resources:
These resources specify mwm appearance and behavior (for example, win‐
dow management policies). They are not set separately for different mwm
user interface components.
Client Specific Resources:
These mwm resources can be set for a particular client window or class
of client windows. They specify client-specific icon and client window
frame appearance and behavior.
Resource identifiers can be either a resource name (for example, fore‐
ground) or a resource class (for example, Foreground). If the value of
a resource is a filename and if the filename is prefixed by "~/", then
it is relative to the path contained in the HOME environment variable
(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 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 exam‐
ple, 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 user can also specify resources for
window manager menu components, that is, the gadgets which comprise the
menu. These may include for example, a menu title, title separator,
one or more buttons, and separators. If a menu contains more than one
instance of a class, such as multiple PushButtonGadgets, the name of
the first instance is “PushButtonGadget1”, the second is “PushButton‐
Gadget2”, and so on. The following list identifies the naming conven‐
tion used for window manager menu components: Menu Title LabelGad‐
get--“TitleName” Menu Title SeparatorGadget--“TitleSeparator” Cascade‐
ButtonGadget--“CascadeButtonGadget<n>” PushButtonGadget--“PushButton‐
Gadget<n>” SeparatorGadget--“SeparatorGadget<n>”
Refer to the man page for each class for a list of resources which can
be specified.
The following component appearance resources that apply to all window
manager parts can be specified:
─────────────────────────────────────────────────────────────────────
Component Appearance Resources--All Window Manager Parts
Name Class Value Type Default
─────────────────────────────────────────────────────────────────────
background Background color varies*
backgroundPixmap BackgroundPixmap string** varies*
bottomShadowColor Foreground color varies*
bottomShadowPixmap BottomShadowPixmap string** varies*
fontList FontList string*** “fixed”
foreground Foreground color varies*
saveUnder SaveUnder T/F F
topShadowColor Background color varies*
topShadowPixmap TopShadowPixmap string** varies*
─────────────────────────────────────────────────────────────────────
* The default is chosen based on the visual type of the screen.
** Image name. See XmInstallImage(3X).
*** X11 X Logical Font Description
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. This resource specifies the background Pixmap of the mwm deco‐
ration when the window is inactive (does not have the keyboard focus).
The default value is chosen based on the visual type of the screen.
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. This resource specifies the bottom shadow
Pixmap. This Pixmap is used for the lower and right bevels of the win‐
dow manager decoration. The default is chosen based on the visual type
of the screen. 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.” This resource specifies the foreground color. The default is
chosen based on the visual type of the screen. This is used to indi‐
cate 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. 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. 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*
activeBackground‐ BackgroundPixmap string** varies*
Pixmap
activeBottomShadow‐ Foreground color varies*
Color
activeBottomShadow‐ BottomShadow‐ string** varies*
Pixmap Pixmap
activeForeground Foreground color varies*
activeTopShadowColor Background color varies*
activeTopShadow‐ TopShadowPixmap string** varies*
Pixmap
───────────────────────────────────────────────────────────────
* The default is chosen based on the visual type of the screen.
** See XmInstallImage(3X).
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. 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. 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. 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. 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.
General Appearance and Behavior Resources
The syntax for specifying general appearance and behavior resources is:
Mwm*resource_id
For example, Mwm*keyboardFocusPolicy specifies the window manager pol‐
icy for setting the keyboard focus to a particular client window.
The following general appearance and behavior resources can be speci‐
fied:
───────────────────────────────────────────────────────────────────────
General 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 “DefaultBut\
tonBindings”
cleanText CleanText T/F T
clientAutoPlace ClientAutoPlace T/F T
colormapFocusPol‐ ColormapFocusPol‐ string keyboard
icy icy
configFile ConfigFile file .mwmrc
deiconifyKeyFocus DeiconifyKeyFocus T/F T
doubleClickTime DoubleClickTime millisec. multi-click
time
enableWarp enableWarp T/F T
enforceKeyFocus EnforceKeyFocus T/F T
fadeNormalIcon FadeNormalIcon T/F F
feedbackGeometry FeedbackGeometry string center on
screen
frameBorderWidth FrameBorderWidth pixels varies
iconAutoPlace IconAutoPlace T/F T
iconBoxGeometry IconBoxGeometry string 6x1+0-0
iconBoxName IconBoxName string iconbox
iconBoxSBDisplay‐ IconBoxSBDisplay‐ string all
Policy Policy
iconBoxTitle IconBoxTitle XmString Icons
iconClick IconClick T/F T
iconDecoration IconDecoration string varies
iconImageMaximum IconImageMaximum wxh 50x50
iconImageMinimum IconImageMinimum wxh 16x16
iconPlacement IconPlacement string left bottom
iconPlacementMar‐ IconPlacementMar‐ pixels varies
gin gin
interactivePlace‐ InteractivePlace‐ T/F F
ment ment
keyBindings KeyBindings string “DefaultKey\
Bindings”
keyboardFocusPol‐ KeyboardFocusPol‐ string explicit
icy icy
limitResize LimitResize T/F T
lowerOnIconify LowerOnIconify T/F T
maximumMaximumSize MaximumMaximum‐ wxh (pixels) 2X screen w&h
Size
moveThreshold MoveThreshold pixels 4
moveOpaque MoveOpaque T/F F
multiScreen MultiScreen T/F F
passButtons PassButtons T/F F
passSelectButton PassSelectButton T/F T
positionIsFrame PositionIsFrame T/F T
positionOnScreen PositionOnScreen T/F T
quitTimeout QuitTimeout millisec. 1000
raiseKeyFocus RaiseKeyFocus T/F F
resizeBorderWidth ResizeBorderWidth pixels varies
resizeCursors ResizeCursors T/F T
screens Screens string varies
showFeedback ShowFeedback string all
startupKeyFocus StartupKeyFocus T/F T
transientDecora‐ TransientDecora‐ string menu title
tion tion
transientFunctions TransientFunc‐ string -minimize
tions -maximize
useIconBox UseIconBox T/F F
wMenuButtonClick WMenuButtonClick T/F T
wMenuButtonClick2 WMenuButtonClick2 T/F T
───────────────────────────────────────────────────────────────────────
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 key‐
board input focus. It is recommended that both autoKeyFocus and star‐
tupKeyFocus be True to work with tear off menus. The default value is
True. 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). 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/bit‐
maps. The directory /usr/include/X11/bitmaps represents the customary
locations for this directory. The actual location of this directory may
vary on some systems. If the bitmap is not found in the specified
directory, XBMLANGPATH is searched. 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”. 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 speci‐
fied. 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. This resource determines the position of a window when the
window has not been given a program- or 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. This resource indicates the colormap focus pol‐
icy 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. The resource value is
the pathname for an mwm resource description file.
If the pathname begins with "~/", mwm considers it to be rela‐
tive 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 configura‐
tion 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 the file system.mwmrc in the $LANG subdirec‐
tory of an implementation-dependent directory. (The default for
this directory, if not changed by the implementation, is
/usr/lib/X11.) If that file does not exist or if LANG is not
set, mwm looks for the file system.mwmrc in the same implementa‐
tion-dependent directory. 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 nor‐
malized (deiconified). True is the default value. 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. 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. 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 set‐
ting 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. If this resource is given a
value of True, an icon is grayed out whenever it has been nor‐
malized (its window has been opened). The default value is
False. This resource sets the position of the move and resize
feedback window. If this resource is not specified, the default
is to place the feedback window at the center of the screen. The
value of the resource is a standard window geometry string with
the following syntax:
[=]{+-}xoffset{+-}yoffset] 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
based on the size and resolution of the screen. This resource
indicates whether the window manager arranges icons in a partic‐
ular 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. This resource indicates the initial posi‐
tion 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. 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 hor‐
izontal (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).
This resource specifies the name that is used in the title area
of the icon box frame. The default value is “Icons”. 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. This resource specifies the general icon decoration. The
resource value is label (only the label part is displayed) or
image (only the image part is displayed) or label image (both
the label and image parts are displayed). A value of activela‐
bel can also be specified to get a label (not truncated to the
width of the icon) when the icon is selected. The default icon
decoration for icon box icons is that each icon has a label part
and an image part (label image). The default icon decoration for
stand alone icons is that each icon has an active label part, a
label part, and an image part (activelabel label image). 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. 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. This resource specifies the icon placement
scheme to be used. The resource value has the following syntax:
primary_layout secondary_layout [tight]
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_lay‐
out). The primary_layout indicates whether, when an icon place‐
ment 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 col‐
umns 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). A tight value places icons with zero spacing in
between icons. This value is useful for aesthetic reasons, as
well as X-terminals with small screens. 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). This resource controls the initial place‐
ment 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 win‐
dow configuration attributes. The default value of this resource
is False. 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”. 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.
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. If this resource is given the default
value of True, a window's icon appears on the bottom of the win‐
dow 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. 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. This resource controls
whether the actual window is moved or a rectangular outline of
the window is moved. A default value of False displays a rec‐
tangular outline on moves. 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 move‐
ment with the button down. The default value of this resource is
4 (pixels). 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. 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 con‐
text. 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.
This resource indicates whether or not to pass the select button
press events to clients after they are used to do a window man‐
ager 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. 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. This resource is used to indicate that win‐
dows should initially be placed (if possible) so that they are
not clipped by the edge of the screen (if the resource value is
True). If a window is larger than the size of the screen, at
least the upper-left corner of the window is on-screen. If the
resource value is False, windows are placed in the requested
position even if totally off-screen. The default value of this
resource is True. 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 mes‐
sage. The default value of this resource is 1000 (ms). (Refer
to the f.kill function description for additional information.)
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 func‐
tion also receives the input focus. The default value of this
resource is False. This resource specifies the width (in pix‐
els) of a client window frame border with resize handles. The
specified border width includes the 3-D shadows. The default
value is based on the size and resolution of the screen. This
is used to indicate whether the resize cursors are always dis‐
played 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. 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. This resource con‐
trols whether or not feedback windows or confirmation dialogs
are displayed. A feedback window shows a client window's ini‐
tial placement and shows position and size during move and
resize operations. Confirmation dialogs can be displayed for
certain operations.
The value for this resource is a list of names of the feedback
options to be enabled or disabled; the names must be separated
by a space. If an option is preceded by a minus sign, that
option is excluded from the list. The sign of the first item in
the list determines the initial set of options. If the sign of
the first option is minus, mwm assumes all options are present
and starts subtracting from that set. If the sign of the first
decoration is plus (or not specified), mwm starts with no
options and builds up a list from the resource.
The names of the feedback options are shown below:
────────────────────────────────────────────────────────────
Name Description
────────────────────────────────────────────────────────────
all Show all feedback (Default value)
behavior Confirm behavior switch
kill Confirm on receipt of KILL signal
move Show position during move
none Show no feedback
placement Show position and size during initial placement
quit Confirm quitting mwm
resize Show size during resize
restart Confirm mwm restart
────────────────────────────────────────────────────────────
The following command line illustrates the syntax for showFeed‐
back:
Mwm*showFeedback: placement resize behavior restart
This resource specification provides feedback for initial client
placement and resize, and enables the dialog boxes to confirm
the restart and set behavior functions. It disables feedback
for the move function. The default value for this resource is
all. 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). It is recom‐
mended that both autoKeyFocus and startupKeyFocus be True to
work with tear off menus. The default value is True. This con‐
trols the amount of decoration that mwm puts on transient win‐
dows. The decoration specification is exactly the same as for
the clientDecoration (client specific) resource. Transient win‐
dows are identified by the WM_TRANSIENT_FOR property, which is
added by the client to indicate a relatively temporary window.
The default value for this resource is menu title (that is,
transient windows have frame borders and a titlebar with a win‐
dow menu button).
An application can also specify which decorations mwm should
apply to its windows. If it does so, mwm applies only those dec‐
orations indicated by both the application and the transientDec‐
oration resource. Otherwise, mwm applies the decorations indi‐
cated by the transientDecoration resource. For more information
see the description of XmNmwmDecorations on the VendorShell(3X)
reference page. This resource is used to indicate which window
management functions are applicable (or not applicable) to tran‐
sient windows. The function specification is exactly the same as
for the clientFunctions (client specific) resource. The default
value for this resource is -minimize -maximize.
An application can also specify which functions mwm should apply
to its windows. If it does so, mwm applies only those functions
indicated by both the application and the transientFunctions
resource. Otherwise, mwm applies the functions indicated by the
transientFunctions resource. For more information see the
description of XmNmwmFunctions on the VendorShell(3X) reference
page. 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). 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. When this
resource is given the default value of True, a double-click
action on the window menu button does an f.kill function.
Client Specific Resources
The syntax for specifying client specific resources is:
Mwm*client_name_or_class*resource_id
For example, Mwm*mterm*windowMenu is used to specify the window menu to
be used with mterm clients. The syntax for specifying client specific
resources for all classes of clients is:
Mwm*resource_id
Specific client specifications take precedence over the specifications
for all clients. For example, Mwm*windowMenu is used to specify the
window menu to be used for all classes of clients that don't have a
window menu specified.
The syntax for specifying resource values for windows that have an
unknown name and class (that is, windows that do not have a WM_CLASS
property associated with them) is:
Mwm*defaults*resource_id
For example, Mwm*defaults*iconImage is used to specify the icon image
to be used for windows that have an unknown name and class.
The following client specific resources can be specified:
────────────────────────────────────────────────────────────────────────────
Client Specific Resources
Name Class Value Type Default
────────────────────────────────────────────────────────────────────────────
clientDecoration ClientDecoration string all
clientFunctions ClientFunctions string all
focusAutoRaise FocusAutoRaise T/F varies
iconImage IconImage pathname (image)
iconImageBack‐ Background color icon back‐
ground ground
iconImageBot‐ Foreground color icon bottom
tomShadowColor shadow
iconImageBot‐ BottomShadow- color icon bottom
tomShadowPixmap Pixmap shadow pixmap
iconImageFore‐ Foreground color varies
ground
iconImageTopShad‐ Background color icon top
owColor shadow color
iconImageTopShad‐ TopShadow- Pixmap color icon top
owPixmap shadow pixmap
matteBackground Background color background
matteBottomShad‐ Foreground color bottom shadow
owColor color
matteBottomShad‐ BottomShadow- color bottom shadow
owPixmap Pixmap pixmap
matteForeground Foreground color foreground
matteTopShadow‐ Background color top shadow
Color color
matteTopShadow‐ TopShadow- Pixmap color top shadow
Pixmap pixmap
matteWidth MatteWidth pixels 0
maximumClientSize MaximumClientSize wxh vertical hor‐ fill the
izontal screen
useClientIcon UseClientIcon T/F F
usePPosition UsePPosition string nonzero
windowMenu WindowMenu string “Default-
Window- Menu”
────────────────────────────────────────────────────────────────────────────
This resource controls the amount of window frame decoration. The
resource is specified as a list of decorations to specify their inclu‐
sion 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 decora‐
tion is plus (or not specified), then mwm starts with no decoration and
builds up a list from the resource.
An application can also specify which decorations mwm should
apply to its windows. If it does so, mwm applies only those dec‐
orations indicated by both the application and the clientDecora‐
tion resource. Otherwise, mwm applies the decorations indicated
by the clientDecoration resource. For more information see the
description of XmNmwmDecorations on the VendorShell(3X) refer‐
ence page.
───────────────────────────────────────────────────
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: This example removes the resize handles and maximize button
from XClock windows. This examples does the same thing as the previous
one. Note that either menu or minimize implies title. 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 func‐
tions. 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 sepa‐
rated from the next function by a space.
An application can also specify which functions mwm should apply
to its windows. If it does so, mwm applies only those functions
indicated by both the application and the clientFunctions
resource. Otherwise, mwm applies the functions indicated by the
clientFunctions resource. For more information see the descrip‐
tion of XmNmwmFunctions on the VendorShell(3X) reference page.
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
─────────────────────────────────────────────────
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 keyboard‐
FocusPolicy is pointer. 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 deter‐
mine 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. 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). 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). 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. 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). 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*topShadow‐
Pixmap). 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). This resource speci‐
fies the bottom shadow color of the matte, when matteWidth is
positive. The default value of this resource is the client bot‐
tom 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). 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*fore‐
ground). 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). This
resource specifies the top shadow pixmap of the matte, when mat‐
teWidth is positive. The default value of this resource is the
client top shadow pixmap (that is, specified by "Mwm*topShadow‐
Pixmap or Mwm*client*topShadowPixmap). This resource specifies
the width of the optional matte. The default value is 0, which
effectively disables the matte. This resource is either a size
specification or a direction that indicates how a client window
is to be maximized. The resource value can be specified as a
size specification widthxheight. The width and height are
interpreted in the units that the client uses (for example, for
terminal emulators this is generally characters). Alternately,
“vertical” or “horizontal” can be specified to indicate the
direction in which the client maximizes.
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 maximumMaxi‐
mumSize resource value is used as a constraint on the maximum
size. 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. This resource specifies whether Mwm honors program spec‐
ified position PPosition specified in the WM_NORMAL_HINTS prop‐
erty in the absence of an user specified position. Setting this
resource to on, causes mwm to always honor program specified
position. Setting this resource to off, causes mwm to always
ignore program specified position. Setting this resource to the
default value of nonzero cause mwm to honor program specified
position other than (0,0). 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 Descrip‐
tion 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 descrip‐
tions of resources that are to be used by mwm, and that cannot be eas‐
ily 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: Window manager functions can be bound (associated)
with button events. Window manager functions can be bound (associated)
with key press events. 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. If a
line ends in a backslash character (\), the next line is considered a
continuation of that line. 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 syn‐
tax:
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. This function causes a beep. 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. 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. 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. 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 win‐
dow colormap focus. This function is treated as f.nop if colormapFo‐
cusPolicy is not explicit. This function sets the keyboard input focus
to a client window or icon. This function is treated as f.nop if key‐
boardFocusPolicy is not explicit or the function is executed in a root
context. This function is used to terminate a client. If the
WM_DELETE_WINDOW protocol is set up, the client is sent a client mes‐
sage event, indicating that the client window should be deleted. If the
WM_SAVE_YOURSELF protocol is set up, the client is sent a client mes‐
sage event, indicating that the client needs to prepare to be termi‐
nated. 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. This function lowers a primary window to the
bottom of the global window stack (where it obscures no other window)
and lowers the secondary window (transient window or dialog box) within
the client family. The arguments to this function are mutually exclu‐
sive.
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.
Specifying within lowers the secondary window within the family
(staying above the parent) but does not lower the client family
in the global window stack.
Specifying freeFamily lowers the window to the bottom of the
global windows stack from its local family stack. This function
causes a client window to be displayed with its maximum size.
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.
This function causes a client window to be minimized (iconi‐
fied). When a window is minimized when no icon box is used, its
icon is placed on the bottom of the window stack (so that it
obscures no other window). If an icon box is used, the client's
icon changes to its iconified form inside the icon box. Sec‐
ondary 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. This function
causes a client window to be interactively moved. This function
installs the next colormap in the list of colormaps for the win‐
dow with the colormap focus. 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. This function does nothing.
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. 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. 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. 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. 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. This
function installs the previous colormap in the list of colormaps
for the window with the colormap focus. 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 (sec‐
ondary) 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 argu‐
ment is specified, the function applies only to windows. This
function terminates mwm (but NOT the X window system). This
function raises a primary window to the top of the global window
stack (where it is obscured by no other window) and raises the
secondary window (transient window or dialog box) within the
client family. The arguments to this function are mutually
exclusive.
The client argument indicates the name or class of a client to
lower. If the client is not specified, the context that the
function was invoked in indicates the window or icon to lower.
Specifying within raises the secondary window within the family
but does not raise the client family in the global window stack.
Specifying freeFamily raises the window to the top of its local
family stack and raises the family to the top of the global win‐
dow stack. This function raises a primary window to the top of
the global window stack if it is partially obscured by another
window; otherwise, it lowers the window to the bottom of the
window stack. The arguments to this function are mutually
exclusive.
Specifying within raises a secondary window within the family
(staying above the parent window), if it is partially obscured
by another window in the application's family; otherwise, it
lowers the window to the bottom of the family stack. It has no
effect on the global window stacking order.
Specifying freeFamily raises the window to the top of its local
family stack, if obscured by another window, and raises the fam‐
ily to the top of the global window stack; otherwise, it lowers
the window to the bottom of its local family stack and lowers
the family to the bottom of the global window stack. This func‐
tion causes all windows to be redrawn. This function causes a
client window to be redrawn. This function causes a client win‐
dow to be interactively resized. This function restores the
previous state of an icon's associated window. If a maximized
window is iconified, then f.restore restores it to its maximized
state. If a normal window is iconified, then f.restore restores
it to its normalized state. This function restores the previous
state of an icon's associated window and raises the window to
the top of the window stack. If a maximized window is iconified,
then f.restore_and_raise restores it to its maximized state and
raises it to the top of the window stack. If a normal window is
iconified, then f.restore_and_raise restores it to its normal‐
ized state and raises it to the top of the window stack. This
function causes mwm to be restarted (effectively terminated and
re-executed). This function causes the pointer to be warp to a
specific screen number or to the next, previous, or last visited
(back) screen. The arguments to this function are mutually
exclusive.
The screen_number argument indicates the screen number that the
pointer is to be warped. Screens are numbered starting from
screen 0.
Specifying next cause the pointer to warp to the next managed
screen (skipping over any unmanaged screens).
Specifying prev cause the pointer to warp to the previous man‐
aged screen (skipping over any unmanaged screens).
Specifying back cause the pointer to warp to the last visited
screen. This function sends a client message of the type
_MOTIF_WM_MESSAGES with the message_type indicated by the mes‐
sage_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. This function causes a
menu separator to be put in the menu pane at the specified loca‐
tion (the label is ignored). This function causes the window
manager to restart with the default behavior (if a custom behav‐
ior is configured) or revert to the custom behavior. By default
this is bound to Shift Ctrl Meta <Key>!. 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 func‐
tion can be used in (for example, the function is done to the selected
client window). Function contexts are: No client window or icon has
been selected as an object for the function. 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). An icon has been selected as an
object for the function.
If a function's context has been specified as icon|window and the func‐
tion is invoked in an icon box, the function applies to the icon box,
not to the icons inside.
If a function is specified in a type of resource where it is not sup‐
ported or is invoked in a context that does not apply, the function is
treated as f.nop. The following table indicates the resource types and
function contexts in which window manager functions apply.
──────────────────────────────────────────────────────────────────────────
Function Contexts Resources
──────────────────────────────────────────────────────────────────────────
f.beep root, icon, window button, key, menu
f.circle_down root, icon, window button, key, menu
f.circle_up root, icon, window button, key, menu
f.exec root, icon, window button, key, menu
f.focus_color root, icon, window button, key, menu
f.focus_key root, icon, window button, key, menu
f.kill icon, window button, key, menu
f.lower icon, window button, key, menu
f.maximize icon, window(normal) button, key, menu
f.menu root, icon, window button, key, menu
f.minimize window button, key, menu
f.move icon, window button, key, menu
f.next_cmap root, icon, window button, key, menu
f.next_key root, icon, window button, key, menu
f.nop root, icon, window button, key, menu
f.normalize icon, window(maximized) button, key, menu
f.normalize_and_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, icon, window 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.restore icon, window button, key, menu
f.restore_and_raise icon, window button, key, menu
f.restart root, icon, window button, key, menu (root
only)
f.screen root, icon, window button, key, menu
f.send_msg icon, window button, key, menu
f.separator root, icon, window menu
f.set_behavior root, icon, window button, key, menu
f.title root, icon, window menu
──────────────────────────────────────────────────────────────────────────
Window Manager Event Specification
Events are indicated as part of the specifications for button and key-
binding sets, and menu panes.
Button events have the following syntax:
button =@[modifier_list]<button_event_name>
modifier_list =@modifier_name {modifier_name}
All modifiers specified are interpreted as being exclusive (this means
that only the specified modifiers can be present when the button event
occurs). The following table indicates the values that can be used for
modifier_name. The [Alt] key is frequently labeled [Extend] or [Meta].
Alt and Meta can be used interchangeably in event specification.
────────────────────────
Modifier Description
────────────────────────
Ctrl Control Key
Shift Shift Key
Alt Alt/Meta Key
Meta Meta/Alt Key
Lock Lock Key
Mod1 Modifier1
Mod2 Modifier2
Mod3 Modifier3
Mod4 Modifier4
Mod5 Modifier5
────────────────────────
The following table indicates the values that can be used for but‐
ton_event_name.
────────────────────────────────────────
Button Description
────────────────────────────────────────
Btn1Down Button 1 Press
Btn1Up Button 1 Release
Btn1Click Button 1 Press and Release
Btn1Click2 Button 1 Double-Click
Btn2Down Button 2 Press
Btn2Up Button 2 Release
Btn2Click Button 2 Press and Release
Btn2Click2 Button 2 Double-Click
Btn3Down Button 3 Press
Btn3Up Button 3 Release
Btn3Click Button 3 Press and Release
Btn3Click2 Button 3 Double-Click
Btn4Down Button 4 Press
Btn4Up Button 4 Release
Btn4Click Button 4 Press and Release
Btn4Click2 Button 4 Double-Click
Btn5Down Button 5 Press
Btn5Up Button 5 Release
Btn5Click Button 5 Press and Release
Btn5Click2 Button 5 Double-Click
────────────────────────────────────────
Key events that are used by the window manager for menu mnemonics and
for binding to window manager functions are single key presses; key
releases are ignored. Key events have the following syntax:
key =@[modifier_list]<Key>key_name
modifier_list =@modifier_name {modifier_name}
All modifiers specified are interpreted as being exclusive (this means
that only the specified modifiers can be present when the key event
occurs). Modifiers for keys are the same as those that apply to but‐
tons. 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 bind‐
ings that are used to configure window manager behavior. A window man‐
ager 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 indi‐
cates that the pointer must be over a client window or window manage‐
ment 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 con‐
text 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 specifi‐
cation. The valid contexts are the same as those that apply to button
bindings.
The key binding syntax is:
Keys bindings_set_name { key context function
key context function
.
.
key context function }
If an f.nop function is specified for a key binding, the key binding is
not done. If an f.post_wmenu or f.menu function is bound to a key, mwm
will automatically use the same key for removing the menu from the
screen after it has been popped up.
The context specification syntax is the same as for button bindings.
For key bindings, the frame, title, border, and app contexts are equiv‐
alent 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 bind‐
ing 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. Option‐
ally 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 = text = quoted
item | unquoted item
The string encoding for labels must be compatible with the menu font
that is used. Labels are greyed out for menu items that do the f.nop
function or an invalid function or a function that doesn't apply in the
current context.
A mnemonic specification has the following syntax:
mnemonic = _character
The first matching character in the label is underlined. If there is no
matching character in the label, no mnemonic is registered with the
window manager for that label. Although the character must exactly
match a character in the label, the mnemonic does not execute if any
modifier (such as Shift) is pressed with the character key.
The accelerator specification is a key event specification with the
same syntax as is used for key bindings to window manager functions.
Environment
mwm uses the environment variable HOME specifying the user's home
directory.
mwm uses the environment variable LANG specifying the user's choice of
language for the mwm message catalog and the mwm resource description
file.
mwm uses the environment variables XFILESEARCHPATH, XUSERFILESEARCH‐
PATH, XAPPLRESDIR, XENVIRONMENT, LANG, and HOME in determining search
paths for resource defaults files. mwm may also use XBMLANGPATH to
search for bitmap files.
mwm reads the $HOME/.motifbind file if it exists to install a virtual
key bindings property on the root window. For more information on the
content of the file, see VirtualBindings(3X).
mwm uses the environment variable MWMSHELL (or SHELL, if MWMSHELL is
not set), specifying the shell to use when executing commands via the
f.exec function.
FILESSEE ALSOVendorShell(3X), VirtualBindings(3X), X(1X), XmInstallImage(3X)mwm(1X)