mwm(X) 19 June 1992 mwm(X)
Name
mwm - the Motif Window Manager
Syntax
mwm [options]
Description
mwm is an X Window System client that provides window management func-
tionality and some session management functionality. It provides func-
tions that facilitate control (by the user and the programmer) of ele-
ments of window states such as placement, size, icon/normal display, and
input-focus ownership. It also provides session management functions
such as stopping a client.
Options
-display display
This option specifies the display to use; see X(1).
-xrm resourcestring
This option specifies a resource string to use.
-multiscreen
This option causes mwm to manage all screens on the display. The
default is to manage only a single screen.
-name name
This option causes mwm to retrieve its resources using the speci-
fied name, as in name*resource.
-screens name [name [...]]
This option specifies the resource names to use for the screens
managed by mwm. If mwm is managing a single screen, only the
first name in the list is used. If mwm is managing multiple
screens, the names are assigned to the screens in order, starting
with screen 0. Screen 0 gets the first name, screen 1 the second
name, and so on.
Appearance
The following sections describe the basic default behaviors of windows,
icons, the icon box, input focus, and window stacking. The appearance
and behavior of the window manager can be altered by changing the config-
uration of specific resources. Resources are defined under the heading
"X DEFAULTS."
Screens
By default, mwm manages only the single screen specified by the -display
option or the DISPLAY environment variable (by default, screen 0). If
the -multiscreen option is specified or if the multiScreen resource is
True, mwm tries to manage all the screens on the display.
When mwm is managing multiple screens, the -screens option can be used to
give each screen a unique resource name. The names are separated by
blanks, for example, -screens mwm0 mwm1. If there are more screens than
names, resources for the remaining screens will be retrieved using the
first name.
Windows
Default mwm window frames have distinct components with associated func-
tions:
Title Area In addition to displaying the client's title, the title
area is used to move the window. To move the window,
place the pointer over the title area, press button 1
and drag the window to a new location. A wire frame is
moved during the drag to indicate the new location.
When the button is released, the window is moved to the
new location.
Title Bar The title bar includes the title area, the minimize but-
ton, the maximize button, and the window menu button.
Minimize Button To turn the window into an icon, click button 1 on the
minimize button (the frame box with a small square in
it).
Maximize Button To make the window fill the screen (or enlarge to the
largest size allowed by the configuration files), click
button 1 on the maximize button (the frame box with a
large square in it).
Window Menu Button
The window menu button is the frame box with a horizon-
tal bar in it. To pull down the window menu, press but-
ton 1. While pressing, drag the pointer on the menu to
your selection, then release the button when your selec-
tion is highlighted. Alternately, you can click button
1 to pull down the menu and keep it posted; then posi-
tion the pointer and select.
Default Window Menu
_________________________________________________________________________
| Selection | Accelerator | Description |
|_______________|_________________|______________________________________|
| Restore | Alt+F5 | Restores the window to its size |
| | | before minimizing or maximizing |
|_______________|_________________|______________________________________|
| Move | Alt+F7 | Allows the window to be moved |
| | | with keys or mouse |
|_______________|_________________|______________________________________|
| Size | Alt+F8 | Allows the window to be resized |
|_______________|_________________|______________________________________|
| Minimize | Alt+F9 | Turns the window into an icon |
|_______________|_________________|______________________________________|
| Maximize | Alt+F10 | Makes the window fill the screen |
|_______________|_________________|______________________________________|
| Lower | Alt+F3 | Moves window to bottom of window |
| | | stack |
|_______________|_________________|______________________________________|
| Close | Alt+F4 | Causes client to terminate |
|_______________|_________________|______________________________________|
Resize Border Handles
To change the size of a window, move the pointer over a
resize border handle (the cursor changes), press button
1, and drag the window to a new size. When the button
is released, the window is resized. While dragging is
being done, a rubber-band outline is displayed to indi-
cate the new window size.
Matte An optional matte decoration can be added between the
client area and the window frame. A matte is not actu-
ally part of the window frame. There is no func-
tionality associated with a matte.
Icons
Icons are small graphic representations of windows. A window can be
minimized (iconified) using the minimize button on the window frame.
Icons provide a way to reduce clutter on the screen.
Pressing mouse button 1 when the pointer is over an icon causes the
icon's window menu to pop up. Releasing the button (press + release
without moving mouse = click) causes the menu to stay posted. The menu
contains the following selections:
Icon Window Menu
____________________________________________________________________________________
| Selection| Accelerator| Description |
|__________|_____________|__________________________________________________________|
| Restore | Alt+F5 | Opens the associated window |
|__________|_____________|__________________________________________________________|
| Move | Alt+F7 | Allows the icon to be moved with keys |
|__________|_____________|__________________________________________________________|
| Size | Alt+F8 | Inactive (not an option for icons) |
|__________|_____________|__________________________________________________________|
| Minimize | Alt+F9 | Inactive (not an option for icons) |
|__________|_____________|__________________________________________________________|
| Maximize | Alt+F10 | Opens the associated window and makes it fill the screen|
|__________|_____________|__________________________________________________________|
| Lower | Alt+F3 | Moves icon to bottom of icon stack |
|__________|_____________|__________________________________________________________|
| Close | Alt+F4 | Removes client from mwm management |
|__________|_____________|__________________________________________________________|
Note that pressing button 3 over an icon also causes the icon's window
menu to pop up. To make a menu selection, drag the pointer over the menu
and release button 3 when the desired item is highlighted.
Double-clicking button 1 on an icon normalizes the icon into its associ-
ated window. Double-clicking button 1 on the icon box's icon opens the
icon box and allows access to the contained icons. (In general, double-
clicking a mouse button is a quick way to perform a function.) Double-
clicking button 1 with the pointer on the window menu button closes the
window.
Icon box
When icons begin to clutter the screen, they can be packed into an icon
box. (To use an icon box, mwm must be started with the icon box configu-
ration already set.) The icon box is a mwm window that holds client
icons. It includes one or more scroll bars when there are more window
icons than the icon box can show at the same time.
Icons in the icon box can be manipulated with the mouse. The following
table summarizes the behavior of this interface. Button actions apply
whenever the pointer is on any part of the icon. Note that invoking the
f.raise function on an icon in the icon box raises an already open window
to the top of the stack.
________________________________________________________________
Button Action Description
_____________________|__________________________________________
Button 1 click | Selects the icon
|
Button 1 double-click| Normalizes (opens) the associated window
|
Button 1 double-click| Raises an already open window to the top
| of the stack
|
Button 1 drag | Moves the icon
|
Button 3 press | Causes the menu for that icon to pop up
|
Button 3 drag | Highlights items as the pointer moves
| across the menu
Pressing mouse button 3 when the pointer is over an icon causes the menu
for that icon to pop up.
Icon Menu for the Icon Box
_____________________________________________________________________________
| Selection| Accelerator| Description |
|__________|_____________|___________________________________________________|
| Restore | Alt+F5 | Opens the associated window (if not already open)|
|__________|_____________|___________________________________________________|
| Move | Alt+F7 | Allows the icon to be moved with keys |
|__________|_____________|___________________________________________________|
| Size | Alt+F8 | Inactive |
|__________|_____________|___________________________________________________|
| Minimize | Alt+F9 | Inactive |
|__________|_____________|___________________________________________________|
| Maximize | Alt+F10 | Opens the associated window (if not already open)|
| | | and maximizes its size |
|__________|_____________|___________________________________________________|
| Lower | Alt+F3 | Inactive |
|__________|_____________|___________________________________________________|
| Close | Alt+F4 | Removes client from mwm management |
|__________|_____________|___________________________________________________|
To pull down the window menu for the icon box itself, press button 1 with
the pointer over the menu button for the icon box. The window menu of
the icon box differs from the window menu of a client window: The
``Close'' selection is replaced with the ``PackIcons Shift+Alt+F7''
selection. When selected, PackIcons packs the icons in the box to
achieve neat rows with no empty slots.
Pressing <Shift> <Esc> when the icon box has the input focus causes the
window menu of the icon box to pop up. Pressing F4 (the pop-up menu key)
causes the window menu of the currently selected icon to pop up.
Input focus
mwm supports (by default) a keyboard input focus policy of explicit
selection. This means when a window is selected to get keyboard input,
it continues to get keyboard input until the window is withdrawn from
window management, another window is explicitly selected to get keyboard
input, or the window is iconified. Several resources control the input
focus. The client window with the keyboard input focus has the active
window appearance with a visually distinct window frame.
The following tables summarize the keyboard input focus selection
behavior:
_________________________________________________________________
| Button Action | Object | Function Description |
|_______________|______________________|_________________________|
|_______________|______________________|_________________________|
| Button 1 press| Window / window frame| Keyboard focus selection|
|_______________|______________________|_________________________|
| Button 1 press| Icon | Keyboard focus selection|
|_______________|______________________|_________________________|
___________________________________________________________________________
| Key Action | Function Description |
|____________________|_____________________________________________________|
|____________________|_____________________________________________________|
| <Alt> <Tab> | Move input focus to next window in window stack |
|____________________|_____________________________________________________|
| <Alt> <Shift> <Tab>| Move input focus to previous window in window stack|
|____________________|_____________________________________________________|
X defaults
mwm is configured from its resource database. This database is built
from the following sources. They are listed in order of precedence, low
to high:
/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
RESOURCEMANAGER root window property or
$HOME/.Xdefaults
XENVIRONMENT variable or $HOME/.Xdefaults-host
mwm command line options
The file names /usr/lib/X11/app-defaults/Mwm and $HOME/Mwm represent cus-
tomary locations for these files. The actual location of the system-wide
class resource file may depend on the XFILESEARCHPATH environment vari-
able and the current language environment. The actual location of the
user-specific class resource file may depend on the XUSERFILESEARCHPATH
and XAPPLRESDIR environment variables and the current language environ-
ment.
Entries in the resource database may refer to other resource files for
specific types of resources. These include files that contain bitmaps,
fonts, and mwm specific resources such as menus and behavior specifica-
tions (for example, button and key bindings).
mwm is the resource class name of mwm and mwm is the resource name used
by mwm to look up resources. (For looking up resources of multiple
screens, the -screens command line option specifies resource names, such
as ``mwm_b+w'' and ``mwm_color''.) In the following discussion of
resource specification, ``Mwm'' and ``mwm'' (and the aliased mwm resource
names) can be used interchangeably, but ``mwm'' takes precedence over
``Mwm''.
mwm uses the following types of resources:
Component Appearance Resources:
These resources specify appearance attributes of window manager user
interface components. They can be applied to the appearance of window
manager menus, feedback windows (for example, the window reconfiguration
feedback window), client window frames, and icons.
Specific Appearance and Behavior Resources:
These resources specify mwm appearance and behavior (for example, window
management policies). They are not set separately for different mwm user
interface components.
Client Specific Resources:
These mwm resources can be set for a particular client window or class of
client windows. They specify client-specific icon and client window
frame appearance and behavior.
Resource identifiers can be either a resource name (for example, fore-
ground) or a resource class (for example, Foreground). If the value of a
resource is a filename and if the filename is prefixed by ``~/'', then it
is relative to the path contained in the HOME environment variable (gen-
erally the user's home directory).
Component appearance resources
The syntax for specifying component appearance resources that apply to
window manager icons, menus, and client window frames is
Mwm*resourceid
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]*resourceid
If menu is specified, the resource is applied only to mwm If menu is
specified, the resource is applied only to mwm menus; if icon is speci-
fied, the resource is applied to icons; and if client is specified, the
resource is applied to client window frames. For example, Mwm*icon*fore-
ground is used to specify the foreground color for mwm icons,
Mwm*menu*foreground specifies the foreground color for mwm menus, and
Mwm*client*foreground is used to specify the foreground color for mwm
client window frames.
The appearance of the title area of a client window frame (including win-
dow management buttons) can be separately configured. The syntax for
configuring the title area of a client window frame is
Mwm*client*title*resourceid
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*menuname*resourceid
For example, Mwm*menu*mymenu*foreground specifies the foreground color
for the menu named mymenu.
The following component appearance resources that apply to all window
manager parts can be specified:
Component Appearance Resources -- All Window Manager Parts
_______________________________________________________________________
| Name | Class | Value Type | Default |
|___________________|____________________|_________________|___________|
| background | Background | color | varies[+]|
|___________________|____________________|_________________|___________|
| backgroundPixmap | BackgroundPixmap | string[+][+] | varies[+]|
|___________________|____________________|_________________|___________|
| bottomShadowColor | Foreground | color | varies[+]|
|___________________|____________________|_________________|___________|
| bottomShadowPixmap| BottomShadowPixmap| string[+][+] | varies[+]|
|___________________|____________________|_________________|___________|
| fontList | FontList | string[+][+][+]| "fixed" |
|___________________|____________________|_________________|___________|
| foreground | Foreground | color | varies[+]|
|___________________|____________________|_________________|___________|
| saveUnder | SaveUnder | T/F | F |
|___________________|____________________|_________________|___________|
| topShadowColor | Background | color | varies[+]|
|___________________|____________________|_________________|___________|
| topShadowPixmap | TopShadowPixmap | string[+][+] | varies |
|___________________|____________________|_________________|___________|
[+] The default is chosen based on the visual type of the screen.
[+][+] Image name. See XmInstallImage(Xt).
[+][+][+] X11 R4 Font description.
background (class Background)
This resource specifies the background color. Any legal X color
may be specified. The default value is chosen based on the
visual type of the screen.
backgroundPixmap (class BackgroundPixmap)
This resource specifies the background Pixmap of the mwm
decoration when the window is inactive (does not have the key-
board focus). The default value is chosen based on the visual
type of the screen.
bottomShadowColor (class Foreground)
This resource specifies the bottom shadow color. This color is
used for the lower and right bevels of the window manager
decoration. Any legal X color may be specified. The default
value is chosen based on the visual type of the screen.
bottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap. This Pixmap
is used for the lower and right bevels of the window manager
decoration. The default is chosen based on the visual type of
the screen.
fontList (class FontList)
This resource specifies the font used in the window manager
decoration. The character encoding of the font should match
the character encoding of the strings that are used. The
default is "fixed."
foreground (class Foreground)
This resource specifies the foreground color. The default is
chosen based on the visual type of the screen.
saveUnder (class SaveUnder)
This is used to indicate whether "save unders" are used for mwm
components. For this to have any effect, save unders must be
implemented by the X server. If save unders are implemented,
the X server saves the contents of windows obscured by windows
that have the save under attribute set. If the saveUnder
resource is True, mwm will set the save under attribute on the
window manager frame of any client that has it set. If
saveUnder is False, save unders will not be used on any window
manager frames. The default value is False.
topShadowColor (class Background)
This resource specifies the top shadow color. This color is
used for the upper and left bevels of the window manager
decoration. The default is chosen based on the visual type of
the screen.
topShadowPixmap ( class TopShadowPixmap)
This resource specifies the top shadow Pixmap. This Pixmap is
used for the upper and left bevels of the window manager
decoration. The default is chosen based on the visual type of
the screen.
The following component appearance resources that apply to frame and
icons can be specified:
Frame and Icon Components
______________________________________________________________________
| Name | Class | Value Type | Default |
|________________________|__________________|_____________|___________|
| activeBackground | Background | color | varies[+] |
|________________________|__________________|_____________|___________|
| activeBackgroundPixmap | BackgroundPixmap | string [+][+]
| varies[+] |
|________________________|__________________|_____________|___________|
| activeBottomShadowColor| Foreground | color | varies[+] |
|________________________|__________________|_____________|___________|
| activeBottomShadowPixmap
| BottomShadowPixmap
| string[+][+]| varies[+] |
|________________________|__________________|_____________|___________|
| activeForeground | Foreground | color | varies[+] |
|________________________|__________________|_____________|___________|
| activeTopShadowColor | Background | color | varies[+] |
|________________________|__________________|_____________|___________|
| activeTopShadowPixmap | TopShadowPixmap | string[+][+]| varies[+] |
|________________________|__________________|_____________|___________|
[+] The default is chosen based on the visual type of the screen.
[+][+] See XmInstallImage(Xt).
activeBackground (class Background)
This resource specifies the background color of the mwm decora-
tion when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
activeBackgroundPixmap (class ActiveBackgroundPixmap)
This resource specifies the background Pixmap of the mwm
decoration when the window is active (has the keyboard focus).
The default is chosen based on the visual type of the screen.
activeBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of the mwm
decoration when the window is active (has the keyboard focus).
The default is chosen based on the visual type of the screen.
activeBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of the mwm
decoration when the window is active (has the keyboard focus).
The default is chosen based on the visual type of the screen.
activeForeground (class Foreground)
This resource specifies the foreground color of the mwm decora-
tion when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
activeTopShadowColor (class Background)
This resource specifies the top shadow color of the mwm decora-
tion when the window is active (has the keyboard focus). The
default is chosen based on the visual type of the screen.
activeTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow Pixmap of the mwm
decoration when the window is active (has the keyboard focus).
The default is chosen based on the visual type of the screen.
Specific appearance and behavior resources
The syntax for specifying specific appearance and behavior resources is
Mwm*resourceid
For example, Mwm*keyboardFocusPolicy specifies the window manager policy
for setting the keyboard focus to a particular client window.
The following specific appearance and behavior resources can be speci-
fied:
Specific Appearance and Behavior Resources
________________________________________________________________________________
|Name |Class |Value Type |Default |
|_____________________|_____________________|___________|_______________________|
|autoKeyFocus |AutoKeyFocus |T/F |T |
|_____________________|_____________________|___________|_______________________|
|autoRaiseDelay |AutoRaiseDelay |millisec |500 |
|_____________________|_____________________|___________|_______________________|
|bitmapDirectory |BitmapDirectory |directory |/usr/include/X11/bitmaps
|
|_____________________|_____________________|___________|_______________________|
|buttonBindings |ButtonBindings |string |"DefaultButtonBindings"|
|_____________________|_____________________|___________|_______________________|
|_____________________|_____________________|___________|_______________________|
|cleanText |CleanText |T/F |T |
|_____________________|_____________________|___________|_______________________|
|clientAutoPlace |ClientAutoPlace |T/F |T |
|_____________________|_____________________|___________|_______________________|
|colormapFocusPolicy |ColormapFocusPolicy |string |keyboard |
|_____________________|_____________________|___________|_______________________|
|configFile |ConfigFile |file |.mwmrc |
|_____________________|_____________________|___________|_______________________|
|deiconifyKeyFocus |DeiconifyKeyFocus |T/F |T |
|_____________________|_____________________|___________|_______________________|
|doubleClickTime |DoubleClickTime |millisec. |multi-click time |
|_____________________|_____________________|___________|_______________________|
|enableWarp |enableWarp |T/F |T |
|_____________________|_____________________|___________|_______________________|
|enforceKeyFocus |EnforceKeyFocus |T/F |T |
|_____________________|_____________________|___________|_______________________|
|execShell |ExecShell |string |null |
|_____________________|_____________________|___________|_______________________|
|fadeNormalIcon |FadeNormalIcon |T/F |F |
|_____________________|_____________________|___________|_______________________|
|frameBorderWidth |FrameBorderWidth |pixels |5 |
|_____________________|_____________________|___________|_______________________|
|iconAutoPlace |IconAutoPlace |T/F |T |
|_____________________|_____________________|___________|_______________________|
|iconBoxGeometry |IconBoxGeometry |string |6x1+0-0 |
|_____________________|_____________________|___________|_______________________|
|iconBoxName |IconBoxName |string |iconbox |
|_____________________|_____________________|___________|_______________________|
|iconBoxSBDisplayPolicy
|IconBoxSBDisplayPolicy
|string |all |
|_____________________|_____________________|___________|_______________________|
|iconBoxTitle |IconBoxTitle |XmString |Icons |
|_____________________|_____________________|___________|_______________________|
|iconClick |IconClick |T/F |T |
|_____________________|_____________________|___________|_______________________|
|iconDecoration |IconDecoration |string |varies |
|_____________________|_____________________|___________|_______________________|
|iconImageMaximum |IconImageMaximum |wxh |50x50 |
|_____________________|_____________________|___________|_______________________|
|iconImageMinimum |IconImageMinimum |wxh |16x16 |
|_____________________|_____________________|___________|_______________________|
|iconPlacement |IconPlacement |string |left bottom |
|_____________________|_____________________|___________|_______________________|
|iconPlacementMargin |IconPlacementMargin |pixels |varies |
|_____________________|_____________________|___________|_______________________|
|interactivePlacement |InteractivePlacement |T/F |F |
|_____________________|_____________________|___________|_______________________|
|keyBindings |KeyBindings |string |"DefaultKeyBindings" |
|_____________________|_____________________|___________|_______________________|
|keyboardFocusPolicy |KeyboardFocusPolicy |string |explicit |
|_____________________|_____________________|___________|_______________________|
|limitResize |LimitResize |T/F |T |
|_____________________|_____________________|___________|_______________________|
|lowerOnIconify |LowerOnIconify |T/F |T |
|_____________________|_____________________|___________|_______________________|
|maximumMaximumSize |MaximumMaximumSize |wxh (pixels)
|2X screen w&h |
|_____________________|_____________________|___________|_______________________|
|moveThreshold |MoveThreshold |pixels |4 |
|_____________________|_____________________|___________|_______________________|
|multiScreen |MultiScreen |T/F |F |
|_____________________|_____________________|___________|_______________________|
|passButtons |PassButtons |T/F |F |
|_____________________|_____________________|___________|_______________________|
|passSelectButton |PassSelectButton |T/F |T |
|_____________________|_____________________|___________|_______________________|
|positionIsFrame |PositionIsFrame |T/F |T |
|_____________________|_____________________|___________|_______________________|
|positionOnScreen |PositionOnScreen |T/F |T |
|_____________________|_____________________|___________|_______________________|
|quitTimeout |QuitTimeout |millisec. |1000 |
|_____________________|_____________________|___________|_______________________|
|raiseKeyFocus |RaiseKeyFocus |T/F |F |
|_____________________|_____________________|___________|_______________________|
|resizeBorderWidth |ResizeBorderWidth |pixels |10 |
|_____________________|_____________________|___________|_______________________|
|resizeCursors |ResizeCursors |T/F |T |
|_____________________|_____________________|___________|_______________________|
|screens |Screens |string |varies |
|_____________________|_____________________|___________|_______________________|
|showFeedback |ShowFeedback |string |-kill |
|_____________________|_____________________|___________|_______________________|
|startupKeyFocus |StartupKeyFocus |T/F |T |
|_____________________|_____________________|___________|_______________________|
|transientDecoration |TransientDecoration |string |system title |
|_____________________|_____________________|___________|_______________________|
|transientFunctions |TransientFunctions |string |-minimize -maximize |
|_____________________|_____________________|___________|_______________________|
|useIconBox |UseIconBox |T/F |F |
|_____________________|_____________________|___________|_______________________|
|wMenuButtonClick |WMenuButtonClick |T/F |T |
|_____________________|_____________________|___________|_______________________|
|wMenuButtonClick2 |WMenuButtonClick2 |T/F |T |
|_____________________|_____________________|___________|_______________________|
|xGranularity |XGranularity |pixels |0 |
|_____________________|_____________________|___________|_______________________|
|yGranularity |YGranularity |pixels |0 |
|_____________________|_____________________|___________|_______________________|
autoKeyFocus (class AutoKeyFocus)
This resource is available only when the keyboard input focus
policy is explicit. If autoKeyFocus is given a value of
True, then when a window with the keyboard input focus is
withdrawn from window management or is iconified, the focus
is set to the previous window that had the focus. If the
value given is False, there is no automatic setting of the
keyboard input focus. The default value is True.
autoRaiseDelay (class AutoRaiseDelay)
This resource is available only when the focusAutoRaise
resource is True and the keyboard focus policy is pointer.
The autoRaiseDelay resource specifies the amount of time (in
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 bit-
maps 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 win-
dow 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 bind-
ings. The default value for this resource is "DefaultButton-
Bindings".
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 stip-
pling 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 color-
map 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 key-
board 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 pol-
icy 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. Set-
ting 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 execut-
ing 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".
iconBoxSBDisplayPolicy (class IconBoxSBDisplayPolicy)
This resource specifies the scroll bar display policy of the
window manager in the icon box. The resource has three pos-
sible values: all, vertical, and horizontal. The default
value, ``all'', causes both vertical and horizontal scroll
bars always to appear. The value ``vertical'' causes a sin-
gle 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 trun-
cated 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:
primarylayout secondarylayout
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
primarylayout and the secondarylayout (for example, don't
use top for the primarylayout and bottom for the second-
arylayout). The primarylayout indicates whether, when an
icon placement is done, the icon is placed in a row or a
column and the direction of placement. The secondarylayout
indicates where to place new rows or columns. For example,
top right indicates that icons should be placed top to bottom
on the screen and that columns should be added from right to
left on the screen. The default placement is left bottom
(icons are placed left to right on the screen, with the first
row on the bottom of the screen, and new rows added from the
bottom of the screen to the top of the screen).
iconPlacementMargin (class IconPlacementMargin)
This resource sets the distance between the edge of the
screen and the icons that are placed along the edge of the
screen. The value should be greater than or equal to 0. A
default value (see below) is used if the value specified is
invalid. The default value for this resource is equal to the
space between icons as they are placed on the screen (this
space is based on maximizing the number of icons in each row
and column).
interactivePlacement (class InteractivePlacement)
This resource controls the initial placement of new windows
on the screen. If the value is True, the pointer shape
changes before a new window is placed on the screen to indi-
cate 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 configura-
tion attributes. The default value of this resource is
False.
keyBindings (class KeyBindings)
This resource identifies the set of key bindings for window
management functions. If specified, these key bindings
replace the built-in default bindings. The named set of key
bindings is specified in mwm resource description file. The
default value for this resource is "DefaultKeyBindings".
keyboardFocusPolicy (class KeyboardFocusPolicy)
If set to pointer, the keyboard focus policy is to have the
keyboard focus set to the client window that contains the
pointer (the pointer could also be in the client window
decoration that mwm adds). If set to explicit, the policy is
to have the keyboard focus set to a client window when the
user presses button 1 with the pointer on the client window
or any part of the associated mwm decoration. The default
value for this resource is explicit.
limitResize (class LimitResize)
If this resource is True, the user is not allowed to resize a
window to greater than the maximum size. The default value
for this resource is True.
lowerOnIconify (class LowerOnIconify)
If this resource is given the default value of True, a
window's icon appears on the bottom of the window stack when
the window is minimized (iconified). A value of False places
the icon in the stacking order at the same place as its asso-
ciated window. The default value of this resource is True.
maximumMaximumSize (class MaximumMaximumSize)
This resource is used to limit the maximum size of a client
window as set by the user or client. The resource value is
widthxheight (for example, 1024x1024) where the width and
height are in pixels. The default value of this resource is
twice the screen width and height.
moveThreshold (class MoveThreshold)
This resource is used to control the sensitivity of dragging
operations that move windows and icons. The value of this
resource is the number of pixels that the locator is moved
with a button down before the move operation is initiated.
This is used to prevent window/icon movement when you click
or double-click and there is unintentional pointer movement
with the button down. The default value of this resource is
4 (pixels).
multiScreen (class MultiScreen)
This resource, if True, causes mwm to manage all the screens
on the display. If False, mwm manages only a single screen.
The default value is False.
passButtons (class PassButtons)
This resource indicates whether or not button press events
are passed to clients after they are used to do a window man-
ager 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 informa-
tion (from the WM_NORMAL_HINTS property and from configura-
tion 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 ini-
tially be placed (if possible) so that they are not clipped
by the edge of the screen (if the resource value is True).
If a window is larger than the size of the screen, at least
the upper-left corner of the window is on-screen. If the
resource value is False, windows are placed in the requested
position even if totally off-screen. The default value of
this resource is True.
quitTimeout (class QuitTimeout)
This resource specifies the amount of time (in milliseconds)
that mwm will wait for a client to update the WM_COMMAND pro-
perty after mwm has sent the WM_SAVE_YOURSELF message. This
protocol is used only for those clients that have a
WM_SAVE_YOURSELF atom and no WM_DELETE_WINDOW atom in the
WM_PROTOCOLS client window property. The default value of
this resource is 1000 (ms). (Refer to the f.kill function for
additional information.)
raiseKeyFocus (class RaiseKeyFocus)
This resource is available only when the keyboard input focus
policy is explicit. When set to True, this resource speci-
fies that a window raised by means of the f.nor-
malize_and_raise function also receives the input focus. The
default value of this resource is False.
resizeBorderWidth (class ResizeBorderWidth)
This resource specifies the width (in pixels) of a client
window frame border with resize handles. The specified
border width includes the 3-D shadows. The default is 10
(pixels).
resizeCursors (class ResizeCursors)
This is used to indicate whether the resize cursors are
always displayed when the pointer is in the window size
border. If True, the cursors are shown, otherwise the window
manager cursor is shown. The default value is True.
screens (class Screens)
This resource specifies the resource names to use for the
screens mananged by mwm. If mwm is managing a single screen,
only the first name in the list is used. If mwm is managing
multiple screens, the names are assigned to the screens in
order, starting with screen 0. Screen 0 gets the first name,
screen 1 the second name, and so on. The default screen
names are 0, 1, and so on.
showFeedback (class ShowFeedback)
This resource controls when feedback information is dis-
played. It controls both window position and size feedback
during move or resize operations and initial client place-
ment. It also controls window manager message and dialog
boxes.
The value for this resource is a list of names of the feedback options to
be enabled or disabled; the names must be separated by a
space. If an option is preceded by a minus sign, that option
is excluded from the list. The sign of the first item in the
list determines the initial set of options. If the sign of
the first option is minus, mwm assumes all options are
present and starts subtracting from that set. If the sign of
the first decoration is plus (or not specified), mwm starts
with no options and builds up a list from the resource.
The names of the feedback options are shown below:
_____________________________________________________________
| Name | Description |
|__________|_________________________________________________|
|__________|_________________________________________________|
| all | Show all feedback (Default value) |
|__________|_________________________________________________|
| behavior | Confirm behavior switch |
|__________|_________________________________________________|
| kill | Confirm on receipt of KILL signal |
|__________|_________________________________________________|
| move | Show position during move |
|__________|_________________________________________________|
| none | Show no feedback |
|__________|_________________________________________________|
| placement| Show position and size during initial placement|
|__________|_________________________________________________|
| quit | Confirm quitting mwm |
|__________|_________________________________________________|
| resize | Show size during resize |
|__________|_________________________________________________|
| restart | Confirm mwm restart |
|__________|_________________________________________________|
The following command line illustrates the syntax for showFeedback:
Mwm*showFeedback: placement resize behavior restart
This resource specification provides feedback for initial client
placement and resize, and enables the dialog boxes to confirm
the restart and set behavior functions. It disables feedback
for the move function. The default value for this resource
is all.
startupKeyFocus (class StartupKeyFocus)
This resource is available only when the keyboard input focus
policy is explicit. When given the default value of True, a
window gets the keyboard input focus when the window is
mapped (that is, initially managed by the window manager).
transientDecoration (class TransientDecoration)
This controls the amount of decoration that mwm puts on tran-
sient windows. The decoration specification is exactly the
same as for the clientDecoration (client specific) resource.
Transient windows are identified by the WM_TRANSIENT_FOR pro-
perty, which is added by the client to indicate a relatively
temporary window. The default value for this resource is
menu title (that is, transient windows have resize borders
and a titlebar with a window menu button).
transientFunctions (class TransientFunctions)
This resource is used to indicate which window management
functions are applicable (or not applicable) to transient
windows. The function specification is exactly the same as
for the clientFunctions (client specific) resource. The
default value for this resource is -minimize -maximize.
useIconBox (class UseIconBox)
If this resource is given a value of True, icons are placed
in an icon box. When an icon box is not used, the icons are
placed on the root window (default value).
wMenuButtonClick (class WMenuButtonClick)
This resource indicates whether a click of the mouse when the
pointer is over the window menu button posts and leaves
posted the window menu. If the value given this resource is
True, the menu remains posted. True is the default value for
this resource.
wMenuButtonClick2 (class WMenuButtonClick2)
When this resource is given the default value of True, a
double-click action on the window menu button does an f.kill
function.
xGranularity (class XGranularity)
This resource indicates where your window should be redrawn
when you have moved the sides of it to a non-standard loca-
tion 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 num-
ber 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*clientnameorclass*resourceid
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*resourceid
Specific client specifications take precedence over the specifications
for all clients. For example, Mwm*windowMenu is used to specify the win-
dow menu to be used for all classes of clients that don't have a window
menu specified.
The syntax for specifying resource values for windows that have an
unknown name and class (that is, windows that do not have a WM_CLASS pro-
perty associated with them) is
Mwm*defaults*resourceid
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 decora-
tion is plus (or not specified), then mwm starts with no
decoration and builds up a list from the resource.
____________________________________________________
| Name | Description |
|_________|_________________________________________|
|_________|_________________________________________|
| all | Include all decorations (default value)|
|_________|_________________________________________|
| border | Window border |
|_________|_________________________________________|
| maximize| Maximize button (includes title bar) |
|_________|_________________________________________|
| minimize| Minimize button (includes title bar) |
|_________|_________________________________________|
| none | No decorations |
|_________|_________________________________________|
| resizeh | Border resize handles (includes border)|
|_________|_________________________________________|
| menu | Window menu button (includes title bar)|
|_________|_________________________________________|
| title | Title bar (includes border) |
|_________|_________________________________________|
Examples:
Mwm*XClock.clientDecoration: -resizeh -maximize
This removes the resize handles and maximize button from
XClock windows.
Mwm*XClock.clientDecoration: menu minimize border
This does the same thing as above. Note that either menu or
minimize implies title.
clientFunctions (class ClientFunctions)
This resource is used to indicate which mwm functions are
applicable (or not applicable) to the client window. The
value for the resource is a list of functions. If the first
function in the list has a minus sign in front of it, then
mwm starts with all functions and subtracts from that set.
If the first function in the list has a plus sign in front of
it, then mwm starts with no functions and builds up a list.
Each function in the list must be preceded by the appropriate
plus or minus sign and separated from the next function by a
space.
The table below lists the functions available for this resource:
__________________________________________________
| Name | Description |
|_________|_______________________________________|
|_________|_______________________________________|
| all | Include all functions (default value)|
|_________|_______________________________________|
| none | No functions |
|_________|_______________________________________|
| resize | f.resize |
|_________|_______________________________________|
| move | f.move |
|_________|_______________________________________|
| minimize| f.minimize |
|_________|_______________________________________|
| maximize| f.maximize |
|_________|_______________________________________|
| close | f.kill |
|_________|_______________________________________|
focusAutoRaise (class FocusAutoRaise)
When the value of this resource is True, clients are raised
when they get the keyboard input focus. If the value is
False, the stacking of windows on the display is not changed
when a window gets the keyboard input focus. The default
value is True when the keyboardFocusPolicy is explicit and
False when the keyboardFocusPolicy is pointer.
iconImage (class IconImage)
This resource can be used to specify an icon image for a
client (for example, "Mwm*myclock*iconImage"). The resource
value is a pathname for a bitmap file. The value of the
(client specific) useClientIcon resource is used to determine
whether or not user supplied icon images are used instead of
client supplied icon images. The default value is to display
a built-in window manager icon image.
iconImageBackground (class Background)
This resource specifies the background color of the icon
image that is displayed in the image part of an icon. The
default value of this resource is the icon background color
(that is, specified by Mwm*background or
Mwm*icon*background).
iconImageBottomShadowColor (class Foreground)
This resource specifies the bottom shadow color of the icon
image that is displayed in the image part of an icon. The
default value of this resource is the icon bottom shadow
color (that is, specified by Mwm*icon*bottomShadowColor).
iconImageBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of the icon
image that is displayed in the image part of an icon. The
default value of this resource is the icon bottom shadow Pix-
map (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, speci-
fied by Mwm*bottomShadowColor or Mwm*client*bottom-
ShadowColor).
matteBottomShadowPixmap (class BottomShadowPixmap)
This resource specifies the bottom shadow Pixmap of the
matte, when matteWidth is positive. The default value of
this resource is the client bottom shadow pixmap (that is,
specified by Mwm*bottomShadowPixmap or
Mwm*client*bottomShadowPixmap).
matteForeground (class Foreground)
This resource specifies the foreground color of the matte,
when matteWidth is positive. The default value of this
resource is the client foreground color (that is, specified
by Mwm*foreground or Mwm*client*foreground).
matteTopShadowColor (class Background)
This resource specifies the top shadow color of the matte,
when matteWidth is positive. The default value of this
resource is the client top shadow color (that is, specified
by Mwm*topShadowColor or Mwm*client*topShadowColor).
matteTopShadowPixmap (class TopShadowPixmap)
This resource specifies the top shadow pixmap of the matte,
when matteWidth is positive. The default value of this
resource is the client top shadow pixmap (that is, specified
by Mwm*topShadowPixmap or Mwm*client*topShadowPixmap).
matteWidth (class MatteWidth)
This resource specifies the width of the optional matte. The
default value is 0, which effectively disables the matte.
maximumClientSize (class MaximumClientSize)
This is a size specification that indicates the client size
to be used when an application is maximized. The resource
value is specified as widthxheight. The width and height are
interpreted in the units that the client uses (for example,
for terminal emulators this is generally characters). If
this resource is not specified, the maximum size from the
WM_NORMAL_HINTS property is used if set. Otherwise the
default value is the size where the client window with window
management borders fills the screen. When the maximum client
size is not determined by the maximumClientSize resource, the
maximumMaximumSize resource value is used as a constraint on
the maximum size.
useClientIcon (class UseClientIcon)
If the value given for this resource is True, a client-
supplied icon image takes precedence over a user-supplied
icon image. The default value is False, giving the user-
supplied icon image higher precedence than the client-
supplied icon image.
windowMenu (class WindowMenu)
This resource indicates the name of the menu pane that is
posted when the window menu is popped up (usually by pressing
button 1 on the window menu button on the client window
frame). Menu panes are specified in the MWM resource
description file. Window menus can be customized on a client
class basis by specifying resources of the form
Mwm*clientnameorclass*windowMenu (see "Mwm Resource
Description File Syntax"). The default value of this
resource is "DefaultWindowMenu".
Resource description file
The MWM resource description file is a supplementary resource file that
contains resource descriptions that are referred to by entries in the
defaults files (.Xdefaults, app-defaults/Mwm). It contains descriptions
of resources that are to be used by mwm, and that cannot be easily
encoded in the defaults files (a bitmap file is an analogous type of
resource description file). A particular mwm resource description file
can be selected using the configFile resource.
The following types of resources can be described in the mwm resource
description file:
Buttons Window manager functions can be bound (associated) with
button events.
Keys Window manager functions can be bound (associated) with
key press events.
Menus Menu panes can be used for the window menu and other menus
posted with key bindings and button bindings.
mwm resource description file syntax
The mwm resource description file is a standard text file that contains
items of information separated by blanks, tabs, and newline characters.
Blank lines are ignored. Items or characters can be quoted to avoid spe-
cial interpretation (for example, the comment character can be quoted to
prevent it from being interpreted as the comment character). A quoted
item can be contained in double quotes ("). Single characters can be
quoted by preceding them by the backslash character (\). All text from
an unquoted # to the end of the line is regarded as a comment and is not
interpreted as part of a resource description. If ! is the first charac-
ter in a line, the line is regarded as a comment. Window manager func-
tions can be accessed with button and key bindings, and with window man-
ager menus. Functions are indicated as part of the specifications for
button and key binding sets, and menu panes. The function specification
has the following syntax:
function = functionname [functionargs]
functionname = window manager function
functionargs = {quoteditem | unquoteditem}
The following functions are supported. If a function is specified that
isn't one of the supported functions, then it is interpreted by mwm as
f.nop.
f.beep This function causes a beep.
f.circledown [icon | window]
This function causes the window or icon that is on the top of
the window stack to be put on the bottom of the window stack
(so that it no longer obscures any other window or icon). This
function affects only those windows and icons that obscure
other windows and icons, or that are obscured by other windows
and icons. Secondary windows (that is, transient windows) are
restacked with their associated primary window. Secondary win-
dows always stay on top of the associated primary window and
there can be no other primary windows between the secondary
windows and their primary window. If an icon function argument
is specified, the function applies only to icons. If a window
function argument is specified, the function applies only to
windows.
f.circleup [icon | window]
This function raises the window or icon on the bottom of the
window stack (so that it is not obscured by any other windows).
This function affects only those windows and icons that obscure
other windows and icons, or that are obscured by other windows
and icons. Secondary windows (that is, transient windows) are
restacked with their associated primary window. If an icon
function argument is specified, the function applies only to
icons. If a window function argument is specified, the func-
tion applies only to windows.
f.exec or !
This function causes command to be executed (using the value of
the MWMSHELL environment variable if it is set, otherwise the
value of the SHELL environment variable if it is set, otherwise
/bin/sh). The ! notation can be used in place of the f.exec
function name.
f.focuscolor
This function sets the colormap focus to a client window. If
this function is done in a root context, the default colormap
(set up by the X Window System for the screen where MWM is run-
ning) is installed and there is no specific client window
colormap focus. This function is treated as f.nop if colormap-
FocusPolicy is not explicit.
f.focuskey
This function sets the keyboard input focus to a client window
or icon. This function is treated as f.nop if keyboard-
FocusPolicy is not explicit or the function is executed in a
root context.
f.kill This function is used to terminate a client. If the
WM_DELETE_WINDOW protocol is set up, the client is sent a
client message event, indicating that the client window should
be deleted. If the WM_SAVE_YOURSELF protocol is set up and the
WM_DELETE_WINDOW protocol is not set up, the client is sent a
client message event, indicating that the client needs to
prepare to be terminated. If the client does not have the
WM_DELETE_WINDOW or WM_SAVE_YOURSELF protocol set up, this
function causes a client's X connection to be terminated (usu-
ally resulting in termination of the client). Refer to the
description of the quitTimeout resource and the WM_PROTOCOLS
property.
f.lower [-client]
This function lowers a client window to the bottom of the win-
dow stack (where it obscures no other window). Secondary win-
dows (that is, transient windows) are restacked with their
associated primary window. The client argument indicates the
name or class of a client to lower. If the client argument is
not specified, the context that the function was invoked in
indicates the window or icon to lower.
f.maximize
This function causes a client window to be displayed with its
maximum size.
f.menu This function associates a cascading (pull-right) menu with a
menu pane entry or a menu with a button or key binding. The
menuname function argument identifies the menu to be used.
f.minimize
This function causes a client window to be minimized (iconi-
fied). When a window is minimized when no icon box is used,
its icon is placed on the bottom of the window stack (so that
it obscures no other window). If an icon box is used, the
client's icon changes to its iconified form inside the icon
box. Secondary windows (that is, transient windows) are minim-
ized with their associated primary window. There is only one
icon for a primary window and all its secondary windows.
f.move This function causes a client window to be interactively moved.
f.nextcmap
This function installs the next colormap in the list of color-
maps for the window with the colormap focus.
f.nextkey [icon | window | transient]
This function sets the keyboard input focus to the next
window/icon in the set of windows/icons managed by the window
manager (the ordering of this set is based on the stacking of
windows on the screen). This function is treated as f.nop if
keyboardFocusPolicy is not explicit. The keyboard input focus
is moved only to windows that do not have an associated second-
ary window that is application modal. If the transient argu-
ment is specified, transient (secondary) windows are traversed
(otherwise, if only window is specified, traversal is done only
to the last focused window in a transient group). If an icon
function argument is specified, the function applies only to
icons. If a window function argument is specified, the func-
tion applies only to windows.
f.nop This function does nothing.
f.normalize
This function causes a client window to be displayed with its
normal size. Secondary windows (that is, transient windows)
are placed in their normal state along with their associated
primary window.
f.normalizeandraise
This function causes the corresponding client window to be dis-
played with its normal size and raised to the top of the window
stack. Secondary windows (that is, transient windows) are
placed in their normal state along with their associated pri-
mary window.
f.packicons
This function is used to relayout icons (based on the layout
policy being used) on the root window or in the icon box. In
general this causes icons to be "packed" into the icon grid.
f.passkeys
This function is used to enable/disable (toggle) processing of
key bindings for window manager functions. When it disables
key binding processing, all keys are passed on to the window
with the keyboard input focus and no window manager functions
are invoked. If the f.passkeys function is invoked with a key
binding to disable key-binding processing, the same key binding
can be used to enable key-binding processing.
f.postwmenu
This function is used to post the window menu. If a key is
used to post the window menu and a window menu button is
present, the window menu is automatically placed with its top-
left corner at the bottom-left corner of the window menu button
for the client window. If no window menu button is present,
the window menu is placed at the top-left corner of the client
window.
f.prevcmap
This function installs the previous colormap in the list of
colormaps for the window with the colormap focus.
f.prevkey [icon | window | transient]
This function sets the keyboard input focus to the previous
window/icon in the set of windows/icons managed by the window
manager (the ordering of this set is based on the stacking of
windows on the screen). This function is treated as f.nop if
keyboardFocusPolicy is not explicit. The keyboard input focus
is moved only to windows that do not have an associated second-
ary window that is application modal. If the transient argu-
ment is specified, transient (secondary) windows are traversed
(otherwise, if only window is specified, traversal is done only
to the last focused window in a transient group). If an icon
function argument is specified, the function applies only to
icons. If an window function argument is specified, the func-
tion applies only to windows.
f.quitmwm
This function terminates mwm (but NOT the X window system).
f.raise [-client]
This function raises a client window to the top of the window
stack (where it is obscured by no other window). Secondary
windows (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.raiselower
This function raises a client window to the top of the window
stack if it is partially obscured by another window, otherwise
it lowers the window to the bottom of the window stack. Sec-
ondary windows (that is, transient windows) are restacked with
their associated primary window.
f.refresh This function causes all windows to be redrawn.
f.refreshwin
This function causes a client window to be redrawn.
f.resize This function causes a client window to be interactively
resized.
f.restart This function causes mwm to be restarted (effectively ter-
minated and re-executed).
f.sendmsg messagenumber
This function sends a client message of the type
_MOTIF_WM_MESSAGES with the messagetype indicated by the
messagenumber function argument. The client message is sent
only if messagenumber 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.sendmsg of a message that is
not included in the client's _MOTIF_WM_MESSAGES property.
f.separator
This function causes a menu separator to be put in the menu
pane at the specified location (the label is ignored).
f.setbehavior
This function causes the window manager to restart with the
default 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 maxim-
ized state (for example, f.normalize).
icon An icon has been selected as an object for the function.
If a function's context has been specified as icon|window and the func-
tion is invoked in an icon box, the function applies to the icon box, not
to the icons inside.
If a function is specified in a type of resource where it is not sup-
ported or is invoked in a context that does not apply, the function is
treated as f.nop. The following table indicates the resource types and
function contexts in which window manager functions apply.
_________________________________________________________________________________
| Function | Contexts | Resources |
|______________________|_________________________|_______________________________|
|______________________|_________________________|_______________________________|
| f.beep | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.circle_down | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.circle_up | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.exec | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.focus_color | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.focus_key | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.kill | icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.lower | icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.maximize | icon, window(normal) | button, key, menu |
|______________________|_________________________|_______________________________|
| f.menu | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.minimize | window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.move | icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.next_cmap | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.next_key | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.nop | root, icon, window | button, key, menu |
|______________________|_________________________|_______________________________|
| f.normalize | icon, window(maximized)| button, key, menu |
|______________________|_________________________|_______________________________|
| f.normalize_and_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 r
|oot, icon, window b
|utton, key, menu |
__|______________________|_________________________|_____________________________ |
f.
|title r
|oot, icon, window m
|enu |
|______________________|_________________________|_______________________________|
Window manager event specification
Events are indicated as part of the specifications for button and key-
binding sets, and menu panes.
Button events have the following syntax:
button = [modifierlist]<buttoneventname>
modifierlist = modifiername {modifiername}
All modifiers specified are interpreted as being exclusive (this means
that only the specified modifiers can be present when the button event
occurs). The following table indicates the values that can be used for
modifiername.[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
buttoneventname.
_________________________________________
| Button | Description |
|___________|____________________________|
|___________|____________________________|
| Btn1Down | Button 1 Press |
|___________|____________________________|
| Btn1Up | Button 1 Release |
|___________|____________________________|
| Btn1Click | Button 1 Press and Release|
|___________|____________________________|
| Btn1Click2| Button 1 Double-Click |
|___________|____________________________|
| Btn2Down | Button 2 Press |
|___________|____________________________|
| Btn2Up | Button 2 Release |
|___________|____________________________|
| Btn2Click | Button 2 Press and Release|
|___________|____________________________|
| Btn2Click2| Button 2 Double-Click |
|___________|____________________________|
| Btn3Down | Button 3 Press |
|___________|____________________________|
| Btn3Up | Button 3 Release |
|___________|____________________________|
| Btn3Click | Button 3 Press and Release|
|___________|____________________________|
| Btn3Click2| Button 3 Double-Click |
|___________|____________________________|
| Btn4Down | Button 4 Press |
|___________|____________________________|
| Btn4Up | Button 4 Release |
|___________|____________________________|
| Btn4Click | Button 4 Press and Release|
|___________|____________________________|
| Btn4Click2| Button 4 Double-Click |
|___________|____________________________|
| Btn5Down | Button 5 Press |
|___________|____________________________|
| Btn5Up | Button 5 Release |
|___________|____________________________|
| Btn5Click | Button 5 Press and Release|
|___________|____________________________|
| Btn5Click2| Button 5 Double-Click |
|___________|____________________________|
Key events that are used by the window manager for menu mnemonics and for
binding to window manager functions are single key presses; key releases
are ignored. Key events have the following syntax:
key = [modifierlist]<Key>keyname
modifierlist = modifiername {modifiername}
All modifiers specified are interpreted as being exclusive (this means
that only the specified modifiers can be present when the key event
occurs). Modifiers for keys are the same as those that apply to buttons.
The keyname is an X11 keysym name. Keysym names can be found in the
keysymdef.h file (remove the XK_ prefix).
____________________
1. The [Alt] key is frequently labeled [Extend] or [Meta]. Alt and Meta
can be used interchangeably in event specification.
Button bindings
The buttonBindings resource value is the name of a set of button bindings
that are used to configure window manager behavior. A window manager
function can be done when a button press occurs with the pointer over a
framed client window, an icon, or the root window. The context for indi-
cating where the button press applies is also the context for invoking
the window manager function when the button press is done (significant
for functions that are context sensitive).
The button binding syntax is
Buttons bindingssetname
{
button context function
button context function
.
.
button context function
}
The syntax for the context specification is
context = object[|context]
object = root | icon | window | title | frame | border | app
The context specification indicates where the pointer must be for the
button binding to be effective. For example, a context of window indi-
cates that the pointer must be over a client window or window management
frame for the button binding to be effective. The frame context is for
the window management frame around a client window (including the border
and titlebar), the border context is for the border part of the window
management frame (not including the titlebar), the title context is for
the title area of the window management frame, and the app context is for
the application window (not including the window management frame).
If an f.nop function is specified for a button binding, the button bind-
ing is not done.
Key bindings
The keyBindings resource value is the name of a set of key bindings that
are used to configure window manager behavior. A window manager function
can be done when a particular key is pressed. The context in which the
key binding applies is indicated in the key binding specification. The
valid contexts are the same as those that apply to button bindings.
The key binding syntax is
Keys bindingssetname
{
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.postwmenu or f.menu function is bound to a key, mwm
will automatically use the same key for removing the menu from the screen
after it has been popped up.
The context specification syntax is the same as for button bindings. For
key bindings, the frame, title, border, and app contexts are equivalent
to the window context. The context for a key event is the window or icon
that has the keyboard input focus (root if no window or icon has the key-
board input focus).
Menu panes
Menus can be popped up using the f.postwmenu and f.menu window manager
functions. The context for window manager functions that are done from a
menu is root, icon or window depending on how the menu was popped up. In
the case of the window menu or menus popped up with a key binding, the
location of the keyboard input focus indicates the context. For menus
popped up using a button binding, the context of the button binding is
the context of the menu.
The menu pane specification syntax is
Menu menuname
{
label [mnemonic] [accelerator] function
label [mnemonic] [accelerator] function
.
.
label [mnemonic] [accelerator] function
}
Each line in the Menu specification identifies the label for a menu item
and the function to be done if the menu item is selected. Optionally a
menu button mnemonic and a menu button keyboard accelerator may be speci-
fied. Mnemonics are functional only when the menu is posted and keyboard
traversal applies.
The label may be a string or a bitmap file. The label specification has
the following syntax:
label = text | bitmapfile
bitmapfile = @filename
text = quoteditem | unquoteditem
The string encoding for labels must be compatible with the menu font that
is used. Labels are greyed out for menu items that do the f.nop function
or an invalid function or a function that doesn't apply in the current
context.
A mnemonic specification has the following syntax:
mnemonic = character
The first matching character in the label is underlined. If there is no
matching character in the label, no mnemonic is registered with the win-
dow manager for that label. Although the character must exactly match a
character in the label, the mnemonic does not execute if any modifier
(such as Shift) is pressed with the character key. aP 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 direc-
tory.
mwm uses the environment variable LANG specifying the user's choice of
language for the mwm message catalog and the mwm resource description
file.
mwm uses the environment variables XFILESEARCHPATH, XUSERFILESEARCHPATH,
XAPPLRESDIR, XENVIRONMENT, LANG, and HOME in determining search paths for
resource defaults files.
mwm reads the $HOME/.motifbind file if it exists to install a virtual key
bindings property on the root window. For more information on the con-
tent of the .motifbind file, see VirtualBindings(Xt).
mwm uses the environment variable MWMSHELL (or SHELL, if MWMSHELL is not
set), specifying the shell to use when executing commands via the f.exec
function.
Files
/usr/lib/X11/$LANG/system.mwmrc
/usr/lib/X11/system.mwmrc
/usr/lib/X11/app-defaults/Mwm
$HOME/Mwm
$HOME/.Xdefaults
$HOME/$LANG/.mwmrc
$HOME/.mwmrc
$HOME/.motifbind
Related information
VendorShell(Xt)
VirtualBindings(Xt)
X(X)
XmInstallImage(Xt)