source: trunk/third/mwm/mwm.man @ 11444

Revision 11444, 91.9 KB checked in by ghudson, 26 years ago (diff)
Make this man page work reasonably on the sun. Changes were: - '\" t added to top so man passes this page through tbl. - The NAME section was de-formatted so that it gets along with windex. - .LI (not recognized by man) was changed to .IP (which does about the same thing). - Boxing was removed from tables and some blank lines added. Boxed tables look really poor onscreen, and tbl was generating bad output for them.
Line 
1'\" t
2...\" **
3...\" **  (c) Copyright 1989, 1990, 1992 by Open Software Foundation, Inc.
4...\" **      All Rights Reserved.
5...\" **
6...\" **  (c) Copyright 1987, 1988, 1989, by Hewlett-Packard Company
7...\" **
8...\" **  (c) Copyright 1987, 1988 by Digital Equipment Corporation,
9...\" **      Maynard, MA.  All Rights Reserved.
10...\" **
11...\" **
12.TH mwm 1X
13.SH NAME
14mwm \- The Motif Window Manager
15.iX "mwm"
16.iX "window manager"
17.SH SYNOPSIS
18.sS
19\*Lmwm\*O
20[ \*Voptions\*O ]
21.sE
22.SH DESCRIPTION
23\*Lmwm\*O
24is an X Window System client that provides window
25management functionality and some session management functionality.
26It provides functions that facilitate control (by the user and the
27programmer) of elements of window
28state such as placement, size, icon/normal display, and input-focus ownership.
29It also provides session management functions such as stopping a client.
30.iX "session manager"
31.SS Options
32.VL 8
33.IP "\*L\-display\*O\ \*Vdisplay\*O"
34This option specifies the display to use; see \*VX(1)\*O.
35.IP "\*L\-xrm\*O\ \*Vresourcestring\*O"
36This option specifies a resource string to use.
37.IP "\*L\-multiscreen\*O"
38This option causes \*Lmwm\*O to manage all screens on the display.
39The default is to manage only a single screen.
40.IP "\*L\-name\*O\ \*Vname\*O"
41This option causes \*Lmwm\*O to retrieve its resources using the
42specified name, as in \*Vname*resource\*O.
43.IP "\*L\-screens\*O\ \*Vname\ [name\ [...]]\*O"
44This option specifies the resource names to use for the screens managed
45by \*Lmwm\*O.
46If \*Lmwm\*O is managing a single screen, only the first name in the
47list is used.
48If \*Lmwm\*O is managing multiple screens, the names are assigned to the
49screens in order, starting with screen 0.
50Screen 0 gets the first name, screen 1 the second name, and so on.
51.LE
52.SS Appearance
53The following sections describe the basic default behaviors of windows,
54icons, the icon box, input focus, and window stacking.  The appearance and
55behavior of the window manager can be altered by changing the configuration
56of specific resources.  Resources are defined under the heading "X DEFAULTS."
57.SS Screens
58By default, \*Lmwm\*O manages only the single screen specified by the
59\*L\-display\*O option or the DISPLAY environment variable (by default,
60screen 0).
61If the \*L\-multiscreen\*O option is specified or if the
62\*LmultiScreen\*O resource is True, \*Lmwm\*O tries to manage all the
63screens on the display.
64.PP
65When \*Lmwm\*O is managing multiple screens, the \*L\-screens\*O option
66can be used to give each screen a unique resource name.
67The names are separated by blanks, for example, \*L\-screens\*O mwm0 mwm1.
68If there are more screens than names, resources for the remaining
69screens will be retrieved using the first name.
70By default, the screen number is used for the screen name.
71.nL
72.ne 15
73.SS Windows
74Default \*Lmwm\*O window frames have distinct components with associated functions:
75.VL 1.75i
76.IP "\*LTitle\ Area\*O"
77In addition to displaying the client's title, the title area is used to
78move the
79window.  To move the window, place the pointer over the title area, press
80button 1 and drag the window to a new location. 
81By default, a wire frame is moved
82during the drag to indicate the new location.
83When the button is released,
84the window is moved to the new location.
85.IP "\*LTitle\ Bar\*O"
86.iX "title bar"
87The title bar includes the title area, the minimize button, the maximize
88button, and the window menu button.
89In shaped windows, such as round windows, the title bar floats above
90the window.
91.IP "\*LMinimize\ Button\*O"
92.iX "minimize button"
93.iX "minimize"
94To turn the window into an icon, click button 1 on the minimize
95button (the frame box with a \*Vsmall\*O square in it).
96.IP "\*LMaximize\ Button\*O"
97.iX "maximize button"
98.iX "maximize"
99To make the window fill the screen (or enlarge to the largest size allowed
100by the configuration files), click button 1 on the maximize button
101(the frame box with a \*Vlarge\*O square in it).
102.IP "\*LWindow\ Menu\ Button\*O"
103.iX "menu button"
104.iX "window menu"
105.iX "menu"
106The window menu button is the frame box with a horizontal bar in it.
107To pull down the window menu, press button 1.
108While pressing, drag the pointer on the menu to your selection, then
109release the button when your selection is highlighted.
110Pressing button 3 in the title bar or resize border handles also
111posts the window menu.
112Alternately, you can click button 1 to pull down the menu and keep
113it posted; then position the pointer and select.
114You can also post the window menu by pressing
115.kY Shift
116.kY Esc
117or
118.kY Alt
119.K, Space .
120Double-clicking button 1 with the pointer on the window menu button
121closes the window.
122The following table lists the contents of the window menu.
123.LE
124.PP
125.ne 3i
126.TS
127center, tab(;);
128cbss
129lb lb lb
130l l l.
131Default Window Menu
132
133Selection;Accelerator;Description
134_
135Restore;Alt+F5;T{
136Restores the window to its size
137.nL
138before minimizing or maximizing
139T}
140Move;Alt+F7;T{
141Allows the window to be moved
142.nL
143with keys or mouse
144T}
145Size;Alt+F8;Allows the window to be resized
146Minimize;Alt+F9;Turns the window into an icon
147Maximize;Alt+F10;Makes the window fill the screen
148Lower;Alt+F3;T{
149Moves window to bottom of window
150stack
151T}
152Close;Alt+F4;Causes client to terminate
153.TE
154.VL 1.75i
155.IP "\*LResize\ Border\ Handles\*O"
156.iX "resize borders"
157.iX "borders" "resize"
158.PP
159To change the size of a window, move the pointer over a resize border
160handle (the cursor changes), press button 1, and drag the window to a
161new size.  When the button is released, the window is resized.  While
162dragging is being done, a rubber-band outline is displayed to indicate the
163new window size.
164.IP "\*LMatte\*O"
165An optional matte decoration can be added between the client area and the
166window frame.  A matte is not actually part of the window frame.
167There is no functionality associated with a matte.
168.LE
169.SS Icons
170.iX "icons"
171Icons are small graphic representations of windows.  A window can be
172minimized (iconified) using the minimize button on the window frame.
173Icons provide a way to reduce clutter on the screen.
174.PP
175.ne 6
176Pressing mouse button 1 when the pointer is over an icon
177causes the icon's window menu to pop up.  Releasing the button (press +
178release without moving mouse = click) causes the menu to stay posted.
179The menu contains the following selections:
180.P
181.ne 2.5i
182.TS
183center, tab(;);
184cbss
185lb lb lb
186l l l .
187Icon Window Menu
188
189Selection;Accelerator;Description
190_
191Restore;Alt+F5;Opens the associated window
192Move;Alt+F7;Allows the icon to be moved with keys
193Size;Alt+F8;Inactive (not an option for icons)
194Minimize;Alt+F9;Inactive (not an option for icons)
195Maximize;Alt+F10;T{
196Opens the associated window and makes it fill the screen
197T}
198Lower;Alt+F3;Moves icon to bottom of icon stack
199Close;Alt+F4;Removes client from \*Lmwm\*O management
200.TE
201.PP
202Note that pressing button 3 over an icon also causes the
203icon's window menu to pop up.
204To make a menu selection, drag the pointer over
205the menu and release button 3 when the desired item is highlighted.
206.PP
207Double-clicking button 1 on an icon invokes the \*Lf.restore_and_raise\*O
208function and restores the icon's associated window to its previous state.
209For example, if a maximized window is iconified, then
210double-clicking button 1 restores it to its maximized state. 
211Double-clicking button 1 on the icon box's icon opens the icon box and
212allows access to the contained icons.  (In general,
213double-clicking a mouse button is a quick way to perform a function.)
214Pressing
215.kY Shift
216.kY Esc
217or
218.kY Menu
219(the pop-up menu key)
220causes the icon window menu of the currently selected icon to pop up.
221.SS "Icon Box"
222.iX "icon box"
223When icons begin to clutter the screen, they can be packed into an icon
224box.  (To use an icon box, \*Lmwm\*O must be started with the icon box
225configuration already set.)
226The icon box is a \*Lmwm\*O window that holds client
227icons.
228It includes one or more scroll bars when there are more window icons
229than the icon box can show at the same time.
230.PP
231.ne 2i
232Icons in the icon box can be manipulated with the mouse.
233The following table summarizes the behavior of this interface.  Button
234actions apply whenever the pointer
235.ne 4
236is on any part of the icon.
237Note that double-clicking an icon in the icon box invokes the
238\*Lf.restore_and_raise\*O function.
239.P
240.ne 2.5i
241.TS
242tab(~),center;
243lb lb
244l l.
245Button Action~Description
246_
247Button 1 click~Selects the icon
248Button 1 double-click~T{
249Normalizes (opens) the associated window
250.br
251Raises an already open window to the top of the stack
252T}
253Button 1 drag~Moves the icon
254Button 3 press~Causes the menu for that icon to pop up
255Button 3 drag~T{
256Highlights items as the pointer moves across the menu
257T}
258.TE
259.PP
260Pressing mouse button 3 when the pointer is over an icon causes the menu
261for that icon to pop up.
262.P
263.ne 3i
264.wH .in 0
265.TS
266center, tab(;);
267cbss
268lb lb lb
269l l l .
270Icon Menu for the Icon Box
271
272Selection;Accelerator;Description
273_
274Restore;Alt+F5;Opens the associated window (if not already open)
275Move;Alt+F7;Allows the icon to be moved with keys
276Size\;Alt+F8;Inactive
277Minimize;Alt+F9;Inactive
278Maximize;Alt+F10;T{
279Opens the associated window (if
280not already open) and maximizes its size
281T}
282Lower;Alt+F3;Inactive
283Close;Alt+F4;Removes client from \*Lmwm\*O management
284.TE
285.wH .in 
286.PP
287To pull down the window menu for the icon box itself,
288press button 1 with the pointer
289over the menu button for the
290icon box.
291The window menu of the icon box
292differs from the window menu of a client
293window: The "Close"
294selection is replaced with the "PackIcons Shift+Alt+F7" selection.
295When selected,
296PackIcons packs the icons in the box to achieve
297neat rows with no empty slots.
298.PP
299.ne 3
300You can also post the window menu by pressing
301.kY Shift
302.kY Esc
303or
304.kY Alt
305.K, Space .
306Pressing
307.kY Menu
308(the pop-up menu key)
309causes the
310icon window menu of the currently selected icon to pop up.
311.SS "Input Focus"
312.iX "input focus"
313.iX "input focus" "explicit"
314.iX "input focus" "click to type"
315.iX "focus policy" "explicit"
316.iX "focus policy" "real estate"
317.iX "explicit"
318.iX "real estate"
319\*Lmwm\*O supports (by default) a keyboard input focus policy of explicit selection.
320.iX "focus policy" "click to type"
321This means when a window is selected to get keyboard input, it continues to
322get keyboard input until the window is withdrawn from window management,
323another window is explicitly selected to get keyboard input, or the window
324is iconified.  Several resources control the input focus.
325The client window with the keyboard input focus has the
326active window appearance with a
327visually distinct window frame.
328.PP
329The following tables summarize the keyboard input focus selection
330behavior:
331.P
332.ne 2i
333.TS
334tab(~),center;
335lb lb lb
336l l l.
337Button Action~Object~Function Description
338_
339Button 1 press~Window / window frame~Keyboard focus selection
340Button 1 press~Icon~Keyboard focus selection
341.TE
342.P
343.TS
344tab(~),center;
345lb lb
346l l.
347Key Action~Function Description
348_
349[Alt][Tab]~T{
350Move input focus to next window in window stack
351(available only in explicit focus mode)
352T}
353[Alt][Shift][Tab]~T{
354Move input focus to previous window in window stack
355(available only in explicit focus mode)
356T}
357.TE
358.SS "Window Stacking"
359.iX "window stacking"
360There are two types of window stacks:  global window stacks
361and an application's local family window stack.
362.P
363The global stacking order of windows may be changed as a result of
364setting the keyboard input focus, iconifying a window, or performing
365a window manager window stacking function.  When keyboard focus policy
366is explicit the default value of the \*LfocusAutoRaise\*O resource is
367True.  This causes a window to be raised to the top of the stack when
368it receives input focus, for example, by pressing button 1 on the title
369bar.  The key actions defined in the previous table will thus raise
370the window receiving focus to the top of the stack. 
371.P
372In pointer mode, the default value of \*LfocusAutoRaise\*O is False,
373that is, the window stacking order is not changed when a window
374receives keyboard input focus.  The following key actions can be used
375to cycle through the global window stack.
376.PP
377.TS
378tab(~),center;
379lb lb
380l l.
381Key Action~Function Description
382_
383[Alt][ESC]~Place top window on bottom of stack
384[Alt][Shift][ESC]~Place bottom window on top of stack
385.TE
386.P
387By default, a window's icon is placed on the bottom of the
388stack when the window is iconified; however, the default can be changed
389by the \*LlowerOnIconify\*O resource.
390.P
391Transient windows (secondary windows such a dialog boxes) stay
392above their parent windows by default.  However, an application's local
393family stacking order may be changed to allow a transient window to be
394placed below its parent top-level window.  The following parameters show
395the modification of the stacking order for the \*Lf.lower\*O function.
396.P
397.VL 
398.IP "\*Lf.lower\*O"
399Lowers the transient window within the family (staying above the parent)
400and lowers the family in the global window stack.
401.IP "\*Lf.lower\*O\ [\*Lwithin\*O]"
402Lowers the transient window within the family (staying above the parent) but
403does not lower the family in the global window stack.
404.IP "\*Lf.lower\*O\ [\*LfreeFamily\*O]"
405Lowers the window free from its family stack (below the parent), but
406does not lower the family in the global window stack.
407.LE
408.P
409The parameters \*Lwithin\*O and \*LfreeFamily\*O can also be used with
410\*Lf.raise\*O and \*Lf.raise_lower\*O.
411.SS "X Defaults"
412.iX ".Xdefaults"
413.iX "resources"
414\*Lmwm\*O is configured from its resource database.
415This database is built from the following sources. They are listed in order of
416precedence, low to high:
417.P
418.na
419.wH .in +3n
420/usr/lib/X11/app-defaults/Mwm
421.nL
422$HOME/Mwm
423.nL
424RESOURCE_MANAGER root window property or $HOME/.Xdefaults
425.nL
426XENVIRONMENT variable or $HOME/.Xdefaults-\*Vhost\*O
427.nL
428\*Lmwm\*O command line options
429.ad
430.wH .in -3n
431.P
432The file names /usr/lib/X11/app-defaults/Mwm and $HOME/Mwm represent
433customary locations for these files.
434The actual location of the system-wide class resource file may depend
435on the XFILESEARCHPATH environment variable and the current language
436environment.
437The actual location of the user-specific class resource file may depend
438on the XUSERFILESEARCHPATH and XAPPLRESDIR environment variables and the
439current language environment.
440.PP
441Entries in the resource database may refer to other resource files
442for specific types of resources.
443These include files that contain bitmaps, fonts, and \*Lmwm\*O
444specific resources such as menus and behavior specifications
445(for example, button and key bindings).
446.PP
447\*LMwm\*O is the resource class name of \*Lmwm\*O
448and \*Lmwm\*O is the default resource
449name used by \*Lmwm\*O to look up resources.
450the \*L\-screens\*O command line option
451specifies resource names, such as "mwm_b+w" and "mwm_color".)
452In the following discussion of resource specification,
453"Mwm" and "mwm" (and
454the aliased \*Lmwm\*O resource names) can be used interchangeably,
455but "mwm" takes precedence over "Mwm".
456.PP
457\*Lmwm\*O uses the following types of resources:
458.iX "resources"
459.PP
460\*VComponent Appearance Resources:\*O
461.iX "mwm" "resources"
462.PP
463These resources specify appearance attributes of
464window manager user interface components.
465They can be applied to the appearance of window manager menus,
466feedback windows (for example, the window reconfiguration feedback window),
467client window frames, and icons.
468.PP
469\*VGeneral Appearance and Behavior Resources:\*O
470.iX "mwm" "resources"
471.PP
472These resources specify \*Lmwm\*O appearance and
473behavior (for example, window management policies).
474They are not set separately for different \*Lmwm\*O user interface components.
475.PP
476.ne 4i
477\*VClient Specific Resources:\*O
478.iX "mwm" "resources"
479.PP
480These \*Lmwm\*O resources can be set for a particular client window or
481class of client windows.
482They specify client-specific icon and client window frame
483appearance and behavior.
484.PP
485.ne 6
486Resource identifiers can be either a resource name (for example, foreground)
487or a resource
488class (for example, Foreground).
489If the value of a resource is a filename and if the filename is
490prefixed by "~/", then it is relative to the path contained in the HOME
491environment variable
492(generally the user's home directory).
493.SS "Component Appearance Resources"
494.iX "resources"
495The syntax for specifying component appearance resources that apply
496to window manager icons, menus, and client window frames is
497.P
498.na
499.wH .in +5n
500\*LMwm*\*Vresource_id\*O
501.wH .in -5n
502.ad
503.P
504For example, \*LMwm*foreground\*O is used to specify the foreground color
505for \*Lmwm\*O menus, icons, client window frames, and feedback dialogs.
506.PP
507The syntax for specifying component appearance resources that apply
508to a particular \*Lmwm\*O component is
509.P
510.na
511.wH .in +5n
512\*LMwm*\*O[\*Lmenu\*O|\*Licon\*O|\*Lclient\*O|\*Lfeedback\*O]\*L*\*Vresource_id\*O
513.wH .in -5n
514.ad
515.PP
516.iX "mwm" "resources"
517If \*Vmenu\*O is specified, the resource is applied only to \*Lmwm\*O
518menus; if \*Vicon\*O is specified, the resource is applied to icons;
519and if \*Vclient\*O is specified, the resource is applied to
520client window frames.
521For example, \*LMwm*icon*foreground\*O is used to specify the foreground color
522for \*Lmwm\*O icons, \*LMwm*menu*foreground\*O specifies the foreground color
523for \*Lmwm\*O menus, and \*LMwm*client*foreground\*O is used to specify the
524foreground color for \*Lmwm\*O client window frames.
525.PP
526The appearance of the title area of a client window frame
527(including window management buttons)
528can be separately configured.
529.iX "resources"
530The syntax for configuring the title area of a client window frame is
531.PP
532.wH .in +4
533\*LMwm*client*title*\*Vresource_id\*O
534.wH .in -4
535.PP
536.iX "mwm" "resources"
537For example, \*LMwm*client*title*foreground\*O specifies the foreground color
538for the title area.
539Defaults for title area resources are based on the values of the
540corresponding client window frame resources.
541.PP
542.ne 6
543The appearance of menus can be configured based on the name of the menu.
544The syntax for specifying menu appearance by name is
545.PP
546.wH .in +4
547\*LMwm*menu*\*Vmenu_name\*L*\*Vresource_id\*O
548.wH .in -4
549.PP
550For example, \*LMwm*menu*my_menu*foreground\*O specifies the foreground color
551for the menu named \*Lmy_menu\*O.
552The user can also specify resources for window manager menu components,
553that is, the gadgets which comprise the menu.  These may include for example,
554a menu title, title separator, one or more buttons, and separators.  If a
555menu contains more than one instance of a class, such as multiple
556PushButtonGadgets, the name of the first instance is "PushButtonGadget1",
557the second is "PushButtonGadget2", and so on.  The following list identifies
558the naming convention used for window manager menu components:
559.ML
560.IP
561Menu Title LabelGadget\(em"TitleName"
562.IP
563Menu Title SeparatorGadget\(em"TitleSeparator"
564.IP
565CascadeButtonGadget\(em"CascadeButtonGadget<n>"
566.IP
567PushButtonGadget\(em"PushButtonGadget<n>"
568.IP
569SeparatorGadget\(em"SeparatorGadget<n>"
570.LE
571.P
572Refer to the man page for each class for a list of resources
573which can be specified.
574.PP
575.iX "mwm" "resources"
576The following component appearance resources that apply to
577all window manager parts can be specified:
578.iX "resources"
579.P
580.ne 3.5i
581.wH .in -1
582.TS
583center, tab(;);
584cb sss
585lb  lb  lb  lb
586l  l  l  l.
587Component Appearance Resources\(emAll Window Manager Parts
588
589Name;Class;Value Type;Default
590_
591background;Background;color;varies\(dg
592backgroundPixmap;BackgroundPixmap;string\(dg\(dg;varies\(dg
593bottomShadowColor;Foreground;color;varies\(dg
594bottomShadowPixmap;BottomShadowPixmap;string\(dg\(dg;varies\(dg
595fontList;FontList;string\(dg\(dg\(dg;"fixed"
596foreground;Foreground;color;varies\(dg
597saveUnder;SaveUnder;T/F;F
598topShadowColor;Background;color;varies\(dg
599topShadowPixmap;TopShadowPixmap;string\(dg\(dg;varies\(dg
600.TE
601.P
602\(dgThe default is chosen based on the visual type of the screen.
603.nL
604\(dg\(dgImage name.  See \*LXmInstallImage(3X)\*O.
605.nL
606\(dg\(dg\(dgX11 X Logical Font Description
607.wH .in 
608.VL 8
609.IP "\*Lbackground\*O\ (class\ \*LBackground\*O)"
610This resource specifies the background color. Any legal X color may be
611specified.  The default value is chosen based on the visual type of the screen.
612.P
613.ne 2i
614.IP "\*LbackgroundPixmap\*O\ (class\ \*LBackgroundPixmap\*O)"
615This resource specifies the background Pixmap of the \*Lmwm\*O decoration
616when the window is inactive (does not have the keyboard focus).
617The default value is chosen based on the visual type of the screen.
618.IP "\*LbottomShadowColor\*O\ (class\ \*LForeground\*O)"
619This resource specifies the bottom shadow color. This color is used for the
620lower and right bevels of the window manager decoration.
621Any legal X color may be specified.  The default value is chosen based on
622the visual type of the screen.
623.IP "\*LbottomShadowPixmap\*O\ (class\ \*LBottomShadowPixmap\*O)"
624This resource specifies the bottom shadow Pixmap.
625This Pixmap is used for the lower and right bevels of the window
626manager decoration.
627The default is chosen based on the visual type of the screen.
628.iX "mwm" "resources"
629.IP "\*LfontList\*O\ (class\ \*LFontList\*O)"
630This resource specifies the font used in the window manager decoration.
631The character encoding of the
632font should match the character encoding of the strings that are used.
633The default is "fixed."
634.iX "resources"
635.IP "\*Lforeground\*O\ (class\ \*LForeground\*O)"
636This resource specifies the foreground color.
637The default is chosen based on the visual type of the screen.
638.IP "\*LsaveUnder\*O\ (class\ \*LSaveUnder\*O)"
639This is used to indicate whether "save unders"
640are used for \*Lmwm\*O components.  For this to
641have any effect, save unders must
642be implemented by the X server.  If save unders are implemented, the X
643server saves the contents of windows obscured by windows that have the
644save under attribute set.  If the saveUnder resource is
645True, \*Lmwm\*O will set the save under attribute on the window manager frame
646of any client that has it set.  If saveUnder is False, save unders will
647not be used on any window manager frames.  The default value is False.
648.IP "\*LtopShadowColor\*O\ (class\ \*LBackground\*O)"
649This resource specifies the top shadow color.
650This color is used for the
651upper and left bevels of the window manager decoration.
652The default is chosen based on the visual type of the screen.
653.IP "\*LtopShadowPixmap\ (\*O\ class\ \*LTopShadowPixmap)\*O"
654This resource specifies the top shadow Pixmap.
655This Pixmap is used for the
656upper and left bevels of the window manager decoration.
657The default is chosen based on the visual type of the screen.
658.LE
659.PP
660The following component appearance resources that apply to frame and
661icons can be specified:
662.iX "resources"
663.wH .ps
664.P
665.ne 3i
666.wH .in -4
667.TS
668center, tab(;);
669cb sss
670lb  lb  lb  lb
671l  l  l  l .
672Frame and Icon Components
673
674Name;Class;Value Type;Default
675_
676activeBackground;Background;color;varies\(dg
677activeBackgroundPixmap;BackgroundPixmap;string\(dg\(dg;varies\(dg
678activeBottomShadowColor;Foreground;color;varies\(dg
679activeBottomShadowPixmap;BottomShadowPixmap;string\(dg\(dg;varies\(dg
680activeForeground;Foreground;color;varies\(dg
681activeTopShadowColor;Background;color;varies\(dg
682activeTopShadowPixmap;TopShadowPixmap;string\(dg\(dg;varies\(dg
683.TE
684.P
685\(dgThe default is chosen based on the visual type of the screen.
686.nL
687\(dg\(dgSee \*LXmInstallImage(3X)\*O.
688.P
689.wH .in 
690.iX "mwm" "resources"
691.VL 8
692.IP "\*LactiveBackground\*O\ (class\ \*LBackground\*O)"
693This resource specifies the background color of the \*Lmwm\*O decoration
694when the window is active (has the keyboard focus).  The default is chosen
695based on the visual type of the screen.
696.IP "\*LactiveBackgroundPixmap\*O\ (class\ \*LActiveBackgroundPixmap\*O)"
697This resource specifies the background Pixmap of the \*Lmwm\*O decoration
698when the window is active (has the keyboard focus).  The default is chosen
699based on the visual type of the screen.
700.IP "\*LactiveBottomShadowColor\*O\ (class\ \*LForeground\*O)"
701This resource specifies the bottom shadow color of the \*Lmwm\*O decoration
702when the window is active (has the keyboard focus).  The default is chosen
703based on the visual type of the screen.
704.IP "\*LactiveBottomShadowPixmap\*O\ (class\ \*LBottomShadowPixmap\*O)"
705This resource specifies the bottom shadow Pixmap of the \*Lmwm\*O decoration
706when the window is active (has the keyboard focus).  The default is chosen
707based on the visual type of the screen.
708.IP "\*LactiveForeground\*O\ (class\ \*LForeground\*O)"
709This resource specifies the foreground color of the \*Lmwm\*O decoration
710when the window is active (has the keyboard focus).  The default is chosen
711based on the visual type of the screen.
712.iX "resources"
713.IP "\*LactiveTopShadowColor\*O\ (class\ \*LBackground\*O)"
714This resource specifies the top shadow color of the \*Lmwm\*O decoration
715when the window is active (has the keyboard focus).  The default is chosen
716based on the visual type of the screen.
717.iX "mwm" "resources"
718.IP "\*LactiveTopShadowPixmap\*O\ (class\ \*LTopShadowPixmap\*O)"
719This resource specifies the top shadow Pixmap of the \*Lmwm\*O decoration
720when the window is active (has the keyboard focus).  The default is chosen
721based on the visual type of the screen.
722.LE
723.SS "General Appearance and Behavior Resources"
724The syntax for specifying general appearance and behavior
725resources is
726.P
727.na
728.wH .in +5n
729\*LMwm*\*Vresource_id\*O
730.wH .in -5n
731.ad
732.PP
733For example, \*LMwm*keyboardFocusPolicy\*O specifies the window
734manager policy for setting the keyboard focus to a particular client
735window.
736.PP
737.iX "mwm" "resources"
738The following general appearance and behavior resources can be
739specified:
740.iX "resources"
741.PP
742.wH .in 0
743.TS
744center, tab(;);
745cb sss
746lb lb  lb  lb
747l  l  l  l .
748General Appearance and Behavior Resources
749
750Name;Class;Value Type;Default
751_
752autoKeyFocus;AutoKeyFocus;T/F;T
753autoRaiseDelay;AutoRaiseDelay;millisec;500
754bitmapDirectory;BitmapDirectory;directory;T{
755/usr/include/\e
756.nL
757X11/bitmaps
758T}
759buttonBindings;ButtonBindings;string;T{
760"DefaultBut\e
761.nL
762tonBindings"
763T}
764cleanText;CleanText;T/F;T
765clientAutoPlace;ClientAutoPlace;T/F;T
766colormapFocusPolicy;ColormapFocusPolicy;string;keyboard
767configFile;ConfigFile;file;.mwmrc
768deiconifyKeyFocus;DeiconifyKeyFocus;T/F;T
769doubleClickTime;DoubleClickTime;millisec.;T{
770multi-click
771.nL
772time
773T}
774enableWarp;enableWarp;T/F;T
775enforceKeyFocus;EnforceKeyFocus;T/F;T
776fadeNormalIcon;FadeNormalIcon;T/F;F
777feedbackGeometry;FeedbackGeometry;string;T{
778center on
779.nL
780screen
781T}
782frameBorderWidth;FrameBorderWidth;pixels;varies
783iconAutoPlace;IconAutoPlace;T/F;T
784iconBoxGeometry;IconBoxGeometry;string;6x1+0-0
785iconBoxName;IconBoxName;string;iconbox
786iconBoxSBDisplayPolicy;IconBoxSBDisplayPolicy;string;all
787iconBoxTitle;IconBoxTitle;XmString;Icons
788iconClick;IconClick;T/F;T
789iconDecoration;IconDecoration;string;varies
790iconImageMaximum;IconImageMaximum;wxh;50x50
791iconImageMinimum;IconImageMinimum;wxh;16x16
792iconPlacement;IconPlacement;string;left bottom
793iconPlacementMargin;IconPlacementMargin;pixels;varies
794interactivePlacement;InteractivePlacement;T/F;F
795keyBindings;KeyBindings;string;T{
796"DefaultKey\e
797.nL
798Bindings"
799T}
800keyboardFocusPolicy;KeyboardFocusPolicy;string;explicit
801limitResize;LimitResize;T/F;T
802lowerOnIconify;LowerOnIconify;T/F;T
803maximumMaximumSize;MaximumMaximumSize;wxh (pixels);T{
8042X screen
805.nL
806w&h
807T}
808moveThreshold;MoveThreshold;pixels;4
809moveOpaque;MoveOpaque;T/F;F
810multiScreen;MultiScreen;T/F;F
811passButtons;PassButtons;T/F;F
812passSelectButton;PassSelectButton;T/F;T
813positionIsFrame;PositionIsFrame;T/F;T
814positionOnScreen;PositionOnScreen;T/F;T
815quitTimeout;QuitTimeout;millisec.;1000
816raiseKeyFocus;RaiseKeyFocus;T/F;F
817resizeBorderWidth;ResizeBorderWidth;pixels;varies
818resizeCursors;ResizeCursors;T/F;T
819screens;Screens;string;varies
820showFeedback;ShowFeedback;string;all
821startupKeyFocus;StartupKeyFocus;T/F;T
822transientDecoration;TransientDecoration;string;T{
823menu
824.nL
825title
826T}
827transientFunctions;TransientFunctions;string;T{
828\-minimize
829.nL
830\-maximize
831T}
832useIconBox;UseIconBox;T/F;F
833wMenuButtonClick;WMenuButtonClick;T/F;T
834wMenuButtonClick2;WMenuButtonClick2;T/F;T
835.TE
836.PP
837.wH .in 
838.VL 8
839.IP "\*LautoKeyFocus\*O\ (class\ \*LAutoKeyFocus\*O)"
840.iX "resources"
841This resource is available only when the keyboard input
842focus policy is explicit.  If autoKeyFocus is given a value of
843True, then when a window with the keyboard input focus is withdrawn from
844window management or is iconified, the focus is set to the previous window
845.ne 4
846that had the focus.  If the value given is False, there is no
847automatic setting of the keyboard input focus. 
848It is recommended that both \*LautoKeyFocus\*O and \*LstartupKeyFocus\*O
849be True to work with tear off menus.  The default value is True.
850.iX "mwm" "resources"
851.IP "\*LautoRaiseDelay\*O\ (class\ \*LAutoRaiseDelay\*O)"
852This resource is available only when the focusAutoRaise resource is True
853and the keyboard focus policy is pointer.
854The autoRaiseDelay resource specifies the amount of time (in milliseconds)
855that \*Lmwm\*O
856will wait before raising a window after it gets the keyboard focus.
857The default value of this resource is 500 (ms).
858.IP "\*LbitmapDirectory\*O\ (class\ \*LBitmapDirectory\*O)"
859This resource identifies a directory to be searched for bitmaps
860referenced by \*Lmwm\*O resources.
861This directory is searched if a bitmap is specified without an absolute
862pathname.
863The default value for this resource is /usr/include/X11/bitmaps.
864The directory /usr/include/X11/bitmaps represents the
865customary locations for this directory.
866The actual location of this directory may vary on some systems.
867If the bitmap is not found in the specified directory, XBMLANGPATH is searched.
868.IP "\*LbuttonBindings\*O\ (class\ \*LButtonBindings\*O)"
869This resource identifies the set of button bindings
870for window management functions.
871The named set of button bindings is specified in the
872\*Lmwm\*O resource description file.
873These button bindings are \*Vmerged\*O with the built-in default
874bindings.
875The default value for this resource is "DefaultButtonBindings".
876.iX "mwm" "resources"
877.IP "\*LcleanText\*O\ (class\ \*LCleanText\*O)"
878.iX "resources"
879This resource controls the display of window manager text in the client
880title and feedback windows.
881If the default value of True is used, the text is drawn with a clear (no
882stipple) background.  This makes text easier to read on monochrome systems
883where a backgroundPixmap is specified. Only the stippling in the area
884immediately around the text is cleared.  If False, the text is drawn
885directly on top of the existing background.
886.IP "\*LclientAutoPlace\*O\ (class\ \*LClientAutoPlace\*O)"
887This resource determines the
888position of a window when the window has not been given a
889program- or
890user-specified
891position.  With a value of True, windows are positioned with the top
892left corners of the frames offset horizontally and vertically.  A value of
893False causes the currently configured
894.ne 4
895position of the window to be
896used.  In either case, \*Lmwm\*O will attempt to place the windows totally on-screen.
897The default value is True.
898.IP "\*LcolormapFocusPolicy\*O\ (class\ \*LColormapFocusPolicy\*O)"
899This resource indicates the colormap focus policy that is to be used.
900If the resource value is explicit, a colormap selection action
901is done on a client window to set the colormap focus to that window.
902If the value is pointer, the client window containing
903the pointer has the colormap focus.
904If the value is keyboard, the client window that has the
905keyboard input focus has the colormap focus.
906The default value for this resource is keyboard.
907.IP "\*LconfigFile\*O\ (class\ \*LConfigFile\*O)"
908.iX "resources"
909.iX ".mwmrc"
910.iX "resource description file"
911The resource value is the pathname for an \*Lmwm\*O
912resource description file.
913.PP
914If the pathname begins with "~/", \*Lmwm\*O considers it to be relative to the
915user's home directory (as specified by the HOME environment variable).
916If the LANG environment variable is set, \*Lmwm\*O looks for
917$HOME/$LANG/\*VconfigFile\*O.
918If that file does not exist or if LANG is not set, \*Lmwm\*O looks for
919$HOME/\*VconfigFile\*O.
920.PP
921If the \*LconfigFile\*O pathname does not begin with ~/, \*Lmwm\*O considers
922it to be relative to the current working directory.
923.PP
924If the \*LconfigFile\*O resource is not specified or if that file does
925not exist, \*Lmwm\*O uses several default paths to find a configuration file.
926If the LANG environment variable is set, \*Lmwm\*O looks for the
927configuration file first in $HOME/$LANG/.mwmrc.
928If that file does not exist or if LANG is not set, \*Lmwm\*O looks for
929$HOME/.mwmrc.
930If that file does not exist and if LANG is set, \*Lmwm\*O next looks for
931the file system.mwmrc in the $LANG subdirectory of an
932implementation-dependent directory.
933(The default for this directory, if not changed by the implementation,
934is /usr/lib/X11.)
935If that file does not exist or if LANG is not set, \*Lmwm\*O looks for
936the file system.mwmrc in the same implementation-dependent directory.
937.IP "\*LdeiconifyKeyFocus\*O\ (class\ \*LDeiconifyKeyFocus\*O)"
938.iX "mwm" "resources"
939This resource applies only
940when the keyboard input focus policy is explicit.  If a value of
941True is used, a window receives the keyboard input focus when it is
942normalized (deiconified).  True is the default value.
943.nL
944.ne 4
945.IP "\*LdoubleClickTime\*O\ (class\ \*LDoubleClickTime\*O)"
946This resource is used to set the maximum time (in ms) between the clicks
947(button presses) that make up a double-click.
948The default value of this resource is the display's multi-click time.
949.IP "\*LenableWarp\*O\ (class\ \*LEnableWarp\*O)"
950The default value of this resource, True, causes \*Lmwm\*O to warp
951the pointer to the center of
952the selected window during keyboard-controlled resize and
953move operations.  Setting the value to False causes \*Lmwm\*O to leave
954the pointer at its original place on the screen, unless the
955user explicitly moves it with the cursor keys or pointing device.
956.IP "\*LenforceKeyFocus\*O\ (class\ \*LEnforceKeyFocus\*O)"
957If this resource is given a value of True,
958the keyboard input focus is always explicitly set to selected windows
959even if there is an indication that they are "globally active" input
960windows.  (An example of a globally active window is a scroll bar that
961can be operated without setting the focus to that client.)  If the resource
962is False, the keyboard input focus is not
963explicitly set to globally active windows.
964The default value is True.
965.IP "\*LfadeNormalIcon\*O\ (class\ \*LFadeNormalIcon\*O)"
966If this resource is given a
967value of True, an icon is grayed out whenever it has been normalized
968(its window has been opened).  The default value is False.
969.IP "\*LfeedbackGeometry\*O\ (class\ \*LFeedbackGeometry\*O)"
970This resource sets the position of the move and resize feedback window.
971If this resource is not specified, the default is to place the feedback
972window at the center of the screen.
973The value of the resource is a standard window geometry string with the
974following syntax:
975.P
976.TS
977tab(;);
978l l .
979;[\*L=\*O]{\*L+-\*O}\*Vxoffset\*O{\*L+-\*O}\*Vyoffset\*O]
980.TE
981.IP "\*LframeBorderWidth\*O\ (class\ \*LFrameBorderWidth\*O)"
982This resource specifies
983the width (in pixels) of a client window frame border without resize
984handles.  The border width includes the 3-D shadows. 
985The default value is based on the size and resolution of the screen.
986.IP "\*LiconAutoPlace\*O\ (class\ \*LIconAutoPlace\*O)"
987.iX "resources"
988This resource indicates whether the window manager arranges icons in a
989particular area of the screen or places each icon where the window was
990when it was iconified.
991The value True indicates that icons are arranged in a particular area of
992the screen, determined by the iconPlacement resource.
993The value False indicates that an icon is placed at the location of the
994window when it is iconified.
995The default is True.
996.iX "mwm" "resources"
997.IP "\*LiconBoxGeometry\*O\ (class\ \*LIconBoxGeometry\*O)"
998This resource indicates the
999initial position and size of the icon box.  The value of the resource is a
1000standard window geometry string with the following syntax:
1001.P
1002.TS
1003tab(;);
1004l l .
1005;[\*L=\*O][\*Vwidth\*Lx\*Vheight\*O][{\*L+-\*O}\*Vxoffset\*O{\*L+-\*O}\*Vyoffset\*O]
1006.TE
1007.P
1008.iX "mwm" "resources"
1009If the offsets are not provided, the iconPlacement policy is used to
1010determine the initial placement.  The units for width and
1011height are columns and rows.
1012.P
1013The actual screen size of the icon box window depends on the
1014iconImageMaximum (size) and iconDecoration resources.  The
1015default value for size is (6 * iconWidth + padding) wide by (1 * iconHeight
1016+ padding) high.  The default value of the location is +0 -0.
1017.IP "\*LiconBoxName\*O\ (class\ \*LIconBoxName\*O)"
1018This resource specifies the name
1019that is used to look up icon box resources.  The default name is
1020"iconbox".
1021.IP "\*LiconBoxSBDisplayPolicy\*O\ (class\ \*LIconBoxSBDisplayPolicy\*O)"
1022This resource specifies the scroll bar display policy of
1023the window manager in the icon box.
1024The resource
1025has three possible values:  all, vertical, and horizontal.
1026The default value, "all", causes both vertical
1027and horizontal scroll bars always to appear.
1028The value "vertical" causes a single vertical scroll bar to appear
1029in the icon box and sets the orientation of the icon box to
1030horizontal (regardless of the iconBoxGeometry specification).
1031The value "horizontal" causes
1032.ne 3
1033a single horizontal scroll bar to appear
1034in the icon box and sets the orientation of the icon box to
1035vertical (regardless of the iconBoxGeometry specification).
1036.IP "\*LiconBoxTitle\*O\ (class\ \*LIconBoxTitle\*O)"
1037This resource specifies the name
1038that is used in the title area of the icon box frame.  The default value is
1039"Icons".
1040.iX "resources"
1041.IP "\*LiconClick\*O\ (class\ \*LIconClick\*O)"
1042When this resource is given the value of
1043True, the system menu is posted and left posted when an icon is
1044clicked. 
1045The default value is True.
1046.iX "mwm" "resources"
1047.IP "\*LiconDecoration\*O\ (class\ \*LIconDecoration\*O)"
1048This resource specifies the general icon decoration.
1049The resource value is label (only the label part is displayed)
1050or image (only the image part is displayed) or label image
1051(both the label and image parts are displayed).
1052A value of activelabel can also be specified to get a label
1053(not truncated to the width of the icon)
1054when the icon is selected.
1055The default icon decoration for icon box icons is that each icon has a
1056label part and an image part (label image).
1057The default icon decoration for stand alone icons is that each icon has an
1058active label part, a label part, and
1059an image part (activelabel label image).
1060.IP "\*LiconImageMaximum\*O\ (class\ \*LIconImageMaximum\*O)"
1061This resource specifies the maximum size of the icon \*Vimage\*O.
1062The resource value is \*Vwidth\*Lx\*Vheight\*O (for example, 64x64).
1063The maximum supported size is 128x128.
1064The default value of this resource is 50x50.
1065.iX "mwm" "resources"
1066.IP "\*LiconImageMinimum\*O\ (class\ \*LIconImageMinimum\*O)"
1067This resource specifies the minimum size of the icon \*Vimage\*O.
1068The resource value is \*Vwidth\*Lx\*Vheight\*O (for example, 32x50).
1069The minimum supported size is 16x16.
1070The default value of this resource is 16x16.
1071.IP "\*LiconPlacement\*O\ (class\ \*LIconPlacement\*O)"
1072This resource specifies the icon placement scheme to be used.
1073The resource value has the following syntax:
1074.P
1075.na
1076.wH .in +5n
1077\*Vprimary_layout  secondary_layout  [tight]\*O
1078.wH .in -5n
1079.ad
1080.P
1081.iX "resources"
1082The layout values are one of the following:
1083.P
1084.ne 1.5i
1085.TS
1086tab(~), center;
1087lb lb
1088l l.
1089Value~Description
1090_
1091top~Lay the icons out top to bottom.
1092bottom~Lay the icons out bottom to top.
1093left~Lay the icons out left to right.
1094right~Lay the icons out right to left.
1095.TE
1096.PP
1097A horizontal (vertical) layout value should not be used for both the
1098\*Vprimary_layout\*O and the \*Vsecondary_layout\*O
1099(for example, don't use top for the \*Vprimary_layout\*O and bottom for the
1100\*Vsecondary_layout\*O).
1101The \*Vprimary_layout\*O indicates whether, when an icon placement is done,
1102the icon is placed in a row or a column and the direction of placement.
1103The \*Vsecondary_layout\*O indicates where to place new rows or columns.
1104For example, top right indicates that icons should be placed top to bottom
1105on the screen and that columns should be added from right to left on the
1106screen.
1107The default placement is left bottom
1108(icons are placed left to right on the screen, with the first row on the
1109bottom of the screen, and new rows added from the bottom of the screen
1110to the top of the screen).
1111A \*Vtight\*O value places icons with zero spacing in between icons.  This
1112value is useful for aesthetic reasons, as well as X-terminals with small
1113screens.
1114.iX "mwm" "resources"
1115.IP "\*LiconPlacementMargin\*O\ (class\ \*LIconPlacementMargin\*O)"
1116This resource sets the distance between the edge of the screen and the
1117icons that are placed along the edge of the screen.
1118The value should be greater than or equal to 0.
1119A default value (see below) is used if the value specified is invalid.
1120The default value for this resource is equal to the space between
1121icons as they are placed on the screen (this space is based on maximizing
1122the number of icons in each row and column).
1123.IP "\*LinteractivePlacement\*O\ (class\ \*LInteractivePlacement\*O)"
1124.iX "resources"
1125This resource controls the initial placement of new windows on the screen.
1126If the value is True, the pointer shape changes before a new window is
1127placed on the screen to indicate to the user that
1128a position should be selected for the upper-left hand corner of the
1129window.
1130If the value is False, windows are placed according to the
1131initial window configuration attributes.
1132The default value of this resource is False.
1133.IP "\*LkeyBindings\*O\ (class\ \*LKeyBindings\*O)"
1134This resource identifies the set of key bindings
1135for window management functions.
1136If specified,
1137these key bindings \*Vreplace\*O the built-in
1138default bindings.
1139The named set of key bindings is specified in
1140\*Lmwm\*O resource description file.
1141The default value for this resource is "DefaultKeyBindings".
1142.iX "mwm" "resources"
1143.IP "\*LkeyboardFocusPolicy\*O\ (class\ \*LKeyboardFocusPolicy\*O)"
1144.iX "input focus"
1145.iX "input focus" "explicit"
1146.iX "input focus" "click to type"
1147.iX "focus policy" "explicit"
1148.iX "focus policy" "click to type"
1149.iX "input focus" "pointer"
1150.iX "input focus" "real estate"
1151.iX "focus policy" "real estate"
1152.iX "focus policy" "pointer"
1153.iX "focus policy" "click to type"
1154.iX "explicit"
1155.iX "real estate"
1156.iX "pointer"
1157.iX "click to type"
1158If set to pointer, the keyboard focus policy is to have the keyboard focus set
1159to the client window that contains the pointer
1160(the pointer could also be in the client window decoration that \*Lmwm\*O adds).
1161If set to explicit, the policy is to have the keyboard focus
1162set to a client window when the user presses button 1 with the pointer
1163on the client window or any part of the associated \*Lmwm\*O decoration.
1164The default value for this resource is explicit.
1165.IP "\*LlimitResize\*O\ (class\ \*LLimitResize\*O)"
1166If this resource is True, the user is not allowed to resize a window
1167to greater than the maximum size.
1168The default value for this resource is True.
1169.IP "\*LlowerOnIconify\*O\ (class\ \*LLowerOnIconify\*O)"
1170If this resource is given the default
1171value of True, a window's icon appears on the bottom of the window
1172stack when the window is minimized (iconified).  A value of False
1173places the icon in the stacking order at the same place as its associated
1174window.
1175The default value of this resource is True.
1176.IP "\*LmaximumMaximumSize\*O\ (class\ \*LMaximumMaximumSize\*O)"
1177.iX "resources"
1178This resource is used to limit the maximum size of a client window
1179as set by the user or client.
1180The resource value is \*Vwidth\*Lx\*Vheight\*O (for example, 1024x1024)
1181where the width and height are in pixels.
1182The default value of this resource is twice the screen width and height.
1183.iX "mwm" "resources"
1184.IP "\*LmoveOpaque\*O\ (class\ \*LMoveOpaque\*O)"
1185This resource controls whether the actual window is moved or a
1186rectangular outline of the window is moved.  A default value of False
1187displays a rectangular outline on moves.
1188.iX "mwm" "resources"
1189.IP "\*LmoveThreshold\*O\ (class\ \*LMoveThreshold\*O)"
1190This resource is used to control the sensitivity of dragging operations
1191that move windows and icons.
1192The value of this resource is the number of pixels that the locator is
1193moved with a button down before the move operation is initiated.
1194This is used to prevent window/icon
1195.ne 3
1196movement when you click or
1197double-click and there is unintentional pointer movement with
1198the button down.
1199The default value of this resource is 4 (pixels).
1200.IP "\*LmultiScreen\*O\ (class\ \*LMultiScreen\*O)"
1201This resource, if True, causes \*Lmwm\*O to manage all the screens on
1202the display.
1203If False, \*Lmwm\*O manages only a single screen.
1204The default value is False.
1205.IP "\*LpassButtons\*O\ (class\ \*LPassButtons\*O)"
1206This resource indicates whether or not button press events are passed to
1207clients after they are used to do a window manager function in the client
1208context.
1209If the resource value is False, the button press is not passed
1210to the client.
1211If the value is True, the button press is passed to the
1212client window.
1213The window manager function is done in either case.
1214The default value for this resource is False.
1215.IP "\*LpassSelectButton\*O\ (class\ \*LPassSelectButton\*O)"
1216This resource indicates whether or not to pass the select button press events
1217to clients after they are used to do a window manager function in the
1218client context.  If the resource value is False, then the button press will
1219not be passed to the client.  If the value is True, the button press is
1220passed to the client window.  The window manager function is done in either
1221case.  The default value for this resource is True.
1222.iX "mwm" "resources"
1223.IP "\*LpositionIsFrame\*O\ (class\ \*LPositionIsFrame\*O)"
1224.iX "resources"
1225This resource indicates how client window position information
1226(from the WM_NORMAL_HINTS property and from configuration requests)
1227is to be interpreted.
1228If the resource value is True, the information is interpreted as
1229the position of the MWM client window frame.  If the value is False,
1230it is interpreted as being the position of the client area of the window.
1231The default value of this resource is True.
1232.IP "\*LpositionOnScreen\*O\ (class\ \*LPositionOnScreen\*O)"
1233This resource is used to indicate that windows should initially be
1234placed (if possible) so that they are not clipped by the edge of the
1235screen (if the resource value is True).
1236If a window is larger than the size of the screen,
1237at least the upper-left corner of the window is on-screen.
1238If the resource value is False, windows are placed in the
1239requested position even if totally off-screen.
1240The default value of this resource is True.
1241.IP "\*LquitTimeout\*O\ (class\ \*LQuitTimeout\*O)"
1242This resource specifies the amount of time (in milliseconds) that \*Lmwm\*O
1243will wait for a client to update the WM_COMMAND property after \*Lmwm\*O has
1244sent the WM_SAVE_YOURSELF message.
1245The default value of this resource is 1000 (ms). (Refer to the f.kill
1246function description for additional information.)
1247.IP "\*LraiseKeyFocus\*O\ (class\ \*LRaiseKeyFocus\*O)"
1248This resource is available
1249only when the keyboard input focus policy is explicit.
1250When set to True,
1251this resource specifies that a window raised by
1252means of the f.normalize_and_raise function also receives
1253the input focus.
1254The default value of this resource is False.
1255.iX "mwm" "resources"
1256.IP "\*LresizeBorderWidth\*O\ (class\ \*LResizeBorderWidth\*O)"
1257This resource specifies the width (in pixels) of a client window frame
1258border with resize handles.  The specified border width includes the 3-D
1259shadows.
1260The default value is based on the size and resolution of the screen.
1261.IP "\*LresizeCursors\*O\ (class\ \*LResizeCursors\*O)"
1262This is used to indicate whether the resize cursors are always displayed
1263when the pointer is in the window size border.
1264If True, the cursors are shown, otherwise the window manager cursor is
1265shown.
1266The default value is True.
1267.IP "\*Lscreens\*O\ (class\ \*LScreens\*O)"
1268This resource specifies the resource names to use for the screens
1269managed by \*Lmwm\*O.
1270If \*Lmwm\*O is managing a single screen, only the first name in the
1271list is used.
1272If \*Lmwm\*O is managing multiple screens, the names are assigned to the
1273screens in order, starting with screen 0.
1274Screen 0 gets the first name, screen 1 the second name, and so on.
1275The default screen names are 0, 1, and so on.
1276.nL
1277.ne 6
1278.IP "\*LshowFeedback\*O\ (class\ \*LShowFeedback\*O)"
1279.iX "resources"
1280This resource controls whether or not feedback windows or confirmation dialogs
1281are displayed.  A feedback window shows a client window's initial
1282placement and shows position and size during move and resize
1283operations.  Confirmation dialogs can be displayed for certain operations.
1284.PP
1285The
1286value for this resource is a list of names of the feedback options to be
1287enabled or disabled; the names must be separated by a space.
1288If an option is preceded by a minus sign, that option is
1289excluded from the list.
1290The \*Vsign\*O of the first item in the list
1291determines the initial set of options.
1292If the sign of the first
1293option is minus, \*Lmwm\*O assumes all options are present and starts
1294subtracting from that set.
1295If the sign of the first decoration is plus (or not
1296specified), \*Lmwm\*O starts with no options and builds up a list from
1297the resource.
1298.PP
1299The names of the feedback options are shown below:
1300.iX "mwm" "resources"
1301.P
1302.ne 2i
1303.TS
1304center, tab(;);
1305lB  lB
1306l l.
1307Name;Description
1308_
1309all;Show all feedback (Default value)
1310behavior;Confirm behavior switch
1311kill;Confirm on receipt of KILL signal
1312move;Show position during move
1313none;Show no feedback
1314placement;Show position and size during initial placement
1315quit;Confirm quitting \*Lmwm\*O
1316resize;Show size during resize
1317restart;Confirm \*Lmwm\*O restart
1318.TE
1319.PP
1320.ne 15
1321The following command line illustrates the syntax for showFeedback:
1322.PP
1323.TS
1324tab(;);
1325l l .
1326;\*LMwm*showFeedback: placement resize behavior restart\*O
1327.TE
1328.PP
1329.iX "resources"
1330This resource specification provides feedback for initial client
1331placement and
1332resize, and enables the dialog boxes to confirm the restart and set
1333behavior functions.  It disables feedback for the move function.
1334The default value for this resource is all.
1335.iX "mwm" "resources"
1336.IP "\*LstartupKeyFocus\*O\ (class\ \*LStartupKeyFocus\*O)"
1337This resource is available only
1338when the keyboard input focus policy is explicit.  When given
1339the default
1340value of True, a window gets the keyboard input focus when the window
1341is mapped (that is, initially managed by the window manager).
1342It is recommended that both \*LautoKeyFocus\*O and \*LstartupKeyFocus\*O
1343be True to work with tear off menus.  The default value is True.
1344.IP "\*LtransientDecoration\*O\ (class\ \*LTransientDecoration\*O)"
1345This controls the amount of decoration that \*Lmwm\*O puts on transient
1346windows.
1347The decoration specification is exactly the same as for the
1348\*LclientDecoration\*O (client specific) resource.
1349Transient windows are identified by the WM_TRANSIENT_FOR property, which
1350is added by the client to indicate a relatively temporary window.
1351The default value for this resource is menu title (that is, transient
1352windows have frame borders and a titlebar with a window menu button).
1353.PP
1354An application can also specify which decorations \*Lmwm\*O should apply
1355to its windows.
1356If it does so, \*Lmwm\*O applies only those decorations indicated by
1357both the application and the \*LtransientDecoration\*O resource.
1358Otherwise, \*Lmwm\*O applies the decorations indicated by the
1359\*LtransientDecoration\*O resource.
1360For more information see the description of \*LXmNmwmDecorations\*O on
1361the \*LVendorShell(3X)\*O reference page.
1362.IP "\*LtransientFunctions\*O\ (class\ \*LTransientFunctions\*O)"
1363This resource is used to indicate which window management functions are
1364applicable (or not applicable) to transient windows.
1365The function specification is exactly the same as for the
1366\*LclientFunctions\*O (client specific) resource.
1367The default value for this resource is -minimize -maximize.
1368.PP
1369An application can also specify which functions \*Lmwm\*O should apply
1370to its windows.
1371If it does so, \*Lmwm\*O applies only those functions indicated by both
1372the application and the \*LtransientFunctions\*O resource.
1373Otherwise, \*Lmwm\*O applies the functions indicated by the
1374\*LtransientFunctions\*O resource.
1375For more information see the description of \*LXmNmwmFunctions\*O on
1376the \*LVendorShell(3X)\*O reference page.
1377.iX "mwm" "resources"
1378.IP "\*LuseIconBox\*O\ (class\ \*LUseIconBox\*O)"
1379If this resource is given a value of
1380True, icons are placed in an icon box.  When an icon box is not used,
1381the icons are placed on the root window (default value).
1382.nL
1383.ne 15
1384.IP "\*LwMenuButtonClick\*O\ (class\ \*LWMenuButtonClick\*O)"
1385.iX "resources"
1386This resource
1387indicates whether a click of the mouse when the pointer is over
1388the window menu button posts and leaves posted the window
1389menu.  If the value given this resource is True, the menu
1390remains posted.  True is the default value for this
1391resource.
1392.IP "\*LwMenuButtonClick2\*O\ (class\ \*LWMenuButtonClick2\*O)"
1393When this resource is
1394given the default value of True, a double-click action on the window menu
1395button does an f.kill function.
1396.nL
1397.ne 2i
1398.LE
1399.SS "Client Specific Resources"
1400The syntax for specifying client specific resources is
1401.P
1402.na
1403.wH .in +5n
1404\*LMwm*\*Vclient_name_or_class\*L*\*Vresource_id\*O
1405.wH .in -5n
1406.ad
1407.P
1408.iX "mwm" "resources"
1409For example, \*LMwm*mterm*windowMenu\*O is used to specify the window menu to
1410be used with mterm clients.
1411The syntax for specifying client specific resources for
1412all classes of clients is
1413.P
1414.na
1415.wH .in +5n
1416\*LMwm*\*Vresource_id\*O
1417.wH .in -5n
1418.ad
1419.P
1420Specific client specifications take precedence over the specifications
1421for all clients.
1422For example, \*LMwm*windowMenu\*O is used to specify the window menu to
1423be used for all classes of clients that don't have a window
1424menu specified.
1425.iX "resources"
1426.P
1427The syntax for specifying resource values for windows that have an
1428unknown name and class (that is, windows that do not have a WM_CLASS
1429property associated with them) is
1430.P
1431.na
1432.wH .in +5n
1433\*LMwm*defaults*\*Vresource_id\*O
1434.wH .in -5n
1435.ad
1436.PP
1437.iX "mwm" "resources"
1438For example, \*LMwm*defaults*iconImage\*O is used to specify the icon image
1439to be used for windows that have an unknown name and class.
1440.PP
1441.ne 4
1442The following client specific resources can be specified:
1443.PP
1444.wH .in 0
1445.TS
1446center, tab(;);
1447cb sss
1448lb lb lb lb
1449l l l l .
1450Client Specific Resources
1451
1452Name;Class;Value Type;Default
1453_
1454clientDecoration;ClientDecoration;string;all
1455clientFunctions;ClientFunctions;string;all
1456focusAutoRaise;FocusAutoRaise;T/F;varies
1457iconImage;IconImage;pathname;(image)
1458iconImageBackground;Background;color;T{
1459icon
1460.nL
1461background
1462T}
1463iconImageBottomShadowColor;Foreground;color;T{
1464icon bottom
1465.nL
1466shadow
1467T}
1468iconImageBottomShadowPixmap;T{
1469BottomShadow-
1470.nL
1471Pixmap
1472T};color;T{
1473icon bottom
1474.nL
1475shadow
1476.nL
1477pixmap
1478T}
1479iconImageForeground;Foreground;color;varies
1480iconImageTopShadowColor;Background;color;T{
1481icon top
1482.nL
1483shadow
1484.nL
1485color
1486T}
1487iconImageTopShadowPixmap;T{
1488TopShadow-
1489.nL
1490Pixmap
1491T};color;T{
1492icon top
1493.nL
1494shadow
1495.nL
1496pixmap
1497T}
1498matteBackground;Background;color;background
1499matteBottomShadowColor;Foreground;color;T{
1500bottom
1501.nL
1502shadow
1503.nL
1504color
1505T}
1506matteBottomShadowPixmap;T{
1507BottomShadow-
1508.nL
1509Pixmap
1510T};color;T{
1511bottom
1512.nL
1513shadow
1514.nL
1515pixmap
1516T}
1517matteForeground;Foreground;color;foreground
1518matteTopShadowColor;Background;color;T{
1519top shadow
1520.nL
1521color
1522T}
1523matteTopShadowPixmap;T{
1524TopShadow-
1525.nL
1526Pixmap
1527T};color;T{
1528top shadow
1529.nL
1530pixmap
1531T}
1532matteWidth;MatteWidth;pixels;0
1533maximumClientSize;MaximumClientSize;T{
1534wxh
1535.nL
1536vertical
1537.nL
1538horizontal
1539T};T{
1540fill the
1541.nL
1542screen
1543T}
1544useClientIcon;UseClientIcon;T/F;F
1545usePPosition;UsePPosition;string;nonzero
1546windowMenu;WindowMenu;string;T{
1547"Default-
1548.nL
1549Window-
1550.nL
1551Menu"
1552T}
1553.TE
1554.wH .in 
1555.PP
1556.iX "resources"
1557.iX "mwm" "resources"
1558.VL 8
1559.IP "\*LclientDecoration\*O\ (class\ \*LClientDecoration\*O)"
1560This resource controls the amount of window frame decoration.
1561The resource is specified as a list of decorations to specify their
1562inclusion in the frame.
1563If a decoration is preceded by a minus sign, that decoration is excluded
1564from the frame.
1565The \*Vsign\*O of the first item in the list determines the initial
1566amount of decoration.
1567If the sign of the first decoration is minus, \*Lmwm\*O assumes all
1568decorations are present and starts subtracting from that set.
1569If the sign of the first decoration is plus (or not specified), then
1570\*Lmwm\*O starts with no decoration and builds up a list from the
1571resource.
1572.PP
1573An application can also specify which decorations \*Lmwm\*O should apply
1574to its windows.
1575If it does so, \*Lmwm\*O applies only those decorations indicated by
1576both the application and the \*LclientDecoration\*O resource.
1577Otherwise, \*Lmwm\*O applies the decorations indicated by the
1578\*LclientDecoration\*O resource.
1579For more information see the description of \*LXmNmwmDecorations\*O on
1580the \*LVendorShell(3X)\*O reference page.
1581.PP
1582.iX "mwm" "resources"
1583.nL
1584.ne 25
1585.TS-
1586center, tab(~);
1587lb  lb
1588l  l.
1589Name~Description
1590_
1591all~Include all decorations (default value)
1592border~Window border
1593maximize~Maximize button (includes title bar)
1594minimize~Minimize button (includes title bar)
1595none~No decorations
1596resizeh~Border resize handles (includes border)
1597menu~Window menu button (includes title bar)
1598title~Title bar (includes border)
1599.TE
1600.P
1601Examples:
1602.P
1603    \*LMwm*XClock.clientDecoration: -resizeh -maximize\*O
1604.P
1605This removes the resize handles and maximize button from
1606XClock windows.
1607.P
1608    \*LMwm*XClock.clientDecoration: menu minimize border\*O
1609.P
1610This does the same thing as above. Note that either \*Lmenu\*O or
1611\*Lminimize\*O implies \*Ltitle\*O.
1612.LE
1613.VL 8
1614.IP "\*LclientFunctions\*O\ (class\ \*LClientFunctions\*O)"
1615.iX "mwm" "resources"
1616This resource is used to indicate which \*Lmwm\*O functions are
1617applicable (or not applicable) to the client window.
1618The value for the resource is a list of functions.
1619If the first function in the list has a minus sign in front of it, then
1620\*Lmwm\*O starts with all functions and subtracts from that set.
1621If the first function in the list has a plus sign in front of it, then
1622\*Lmwm\*O starts with no functions and builds up a list.
1623Each function in the list must be preceded by the appropriate plus or
1624minus sign and separated from the next function by a space.
1625.PP
1626An application can also specify which functions \*Lmwm\*O should apply
1627to its windows.
1628If it does so, \*Lmwm\*O applies only those functions indicated by both
1629the application and the \*LclientFunctions\*O resource.
1630Otherwise, \*Lmwm\*O applies the functions indicated by the
1631\*LclientFunctions\*O resource.
1632For more information see the description of \*LXmNmwmFunctions\*O on the
1633\*LVendorShell(3X)\*O reference page.
1634.LE
1635.PP
1636.ne 25
1637.iX "resources"
1638The table below lists the functions available for this resource:
1639.P
1640.ne 2.5i
1641.TS
1642center, tab(;);
1643lb lb
1644l l.
1645Name;Description
1646_
1647all;Include all functions (default value)
1648none;No functions
1649resize;f.resize
1650move;f.move
1651minimize;f.minimize
1652maximize;f.maximize
1653close;f.kill
1654.TE
1655.P
1656.ne 3i
1657.VL 8
1658.IP "\*LfocusAutoRaise\*O\ (class\ \*LFocusAutoRaise\*O)"
1659When the value of this resource is True, clients are raised when
1660they get the keyboard input focus.  If
1661the value is False,  the stacking of windows on the display is
1662not changed when a window gets the keyboard input focus.
1663The default value is True when the keyboardFocusPolicy is explicit and
1664False when the keyboardFocusPolicy is pointer.
1665.iX "resources"
1666.IP "\*LiconImage\*O\ (class\ \*LIconImage\*O)"
1667.iX "mwm" "resources"
1668This resource can be used to specify an icon image for a client (for example,
1669"Mwm*myclock*iconImage").  The resource value is a pathname for a bitmap file.
1670The value of the (client specific) useClientIcon resource is used
1671to determine whether or not user supplied icon images are used instead of
1672client supplied icon images.
1673The default value is to display a built-in window manager icon image.
1674.IP "\*LiconImageBackground\*O\ (class\ \*LBackground\*O)"
1675This resource specifies the background color of the icon image that
1676is displayed in the image part of an icon.
1677The default value of this resource is the icon background color
1678(that is, specified by "Mwm*background or Mwm*icon*background).
1679.nL
1680.ne 15
1681.IP "\*LiconImageBottomShadowColor\*O\ (class\ \*LForeground\*O)"
1682This resource specifies the bottom shadow color of the icon image that
1683is displayed in the image part of an icon.
1684The default value of this resource is the icon bottom shadow color
1685(that is, specified by Mwm*icon*bottomShadowColor).
1686.IP "\*LiconImageBottomShadowPixmap\*O\ (class\ \*LBottomShadowPixmap\*O)"
1687This resource specifies the bottom shadow Pixmap of the icon image that
1688is displayed in the image part of an icon.
1689The default value of this resource is the icon bottom shadow Pixmap
1690(that is, specified by Mwm*icon*bottomShadowPixmap).
1691.IP "\*LiconImageForeground\*O\ (class\ \*LForeground\*O)"
1692This resource specifies the foreground color of the icon image that
1693is displayed in the image part of an icon.
1694The default value of this resource varies depending on the icon
1695background.
1696.nL
1697.ne 3i
1698.IP "\*LiconImageTopShadowColor\*O\ (class\ \*LBackground\*O)"
1699This resource specifies the top shadow color of the icon image that
1700is displayed in the image part of an icon.
1701The default value of this resource is the icon top shadow color
1702(that is, specified by Mwm*icon*topShadowColor).
1703.iX "mwm" "resources"
1704.IP "\*LiconImageTopShadowPixmap\*O\ (class\ \*LTopShadowPixmap\*O)"
1705This resource specifies the top shadow Pixmap of the icon image that
1706is displayed in the image part of an icon.
1707The default value of this resource is the icon top shadow pixmap
1708(that is, specified by Mwm*icon*topShadowPixmap).
1709.IP "\*LmatteBackground\*O\ \ (class\ \*LBackground\*O)"
1710This resource specifies the background color of the matte, when
1711\*LmatteWidth\*O is positive.
1712The default value of this resource is the client background color
1713(that is, specified by "Mwm*background or Mwm*client*background).
1714.IP "\*LmatteBottomShadowColor\*O\ (class\ \*LForeground\*O)"
1715This resource specifies the bottom shadow color of the matte, when
1716\*LmatteWidth\*O is positive.
1717The default value of this resource is the client bottom shadow color
1718(that is, specified by "Mwm*bottomShadowColor or Mwm*client*bottomShadowColor).
1719.nL
1720.ne 15
1721.IP "\*LmatteBottomShadowPixmap\*O\ (class\ \*LBottomShadowPixmap\*O)"
1722This resource specifies the bottom shadow Pixmap of the matte, when
1723\*LmatteWidth\*O is positive.
1724The default value of this resource is the client bottom shadow pixmap
1725(that is, specified by
1726.na
1727"Mwm*bottomShadowPixmap or Mwm*client*bottomShadowPixmap).
1728.ad
1729.IP "\*LmatteForeground\*O\ (class\ \*LForeground\*O)"
1730This resource specifies the foreground color of the matte, when
1731\*LmatteWidth\*O is positive.
1732The default value of this resource is the client foreground color
1733(that is, specified by "Mwm*foreground or Mwm*client*foreground).
1734.nL
1735.ne 3i
1736.IP "\*LmatteTopShadowColor\*O\ (class\ \*LBackground\*O)"
1737This resource specifies the top shadow color of the matte, when
1738\*LmatteWidth\*O is positive.
1739The default value of this resource is the client top shadow color
1740(that is, specified by "Mwm*topShadowColor or Mwm*client*topShadowColor).
1741.iX "resources"
1742.IP "\*LmatteTopShadowPixmap\*O\ (class\ \*LTopShadowPixmap\*O)"
1743This resource specifies the top shadow pixmap of the matte, when
1744\*LmatteWidth\*O is positive.
1745The default value of this resource is the client top shadow
1746.ne 10
1747pixmap
1748(that is, specified by "Mwm*topShadowPixmap or Mwm*client*topShadowPixmap).
1749.iX "mwm" "resources"
1750.IP "\*LmatteWidth\*O\ (class\ \*LMatteWidth\*O)"
1751This resource specifies the width of the optional matte.
1752The default value is 0, which effectively disables the matte.
1753.IP "\*LmaximumClientSize\*O\ (class\ \*LMaximumClientSize\*O)"
1754This resource is either a size specification or a direction that indicates
1755how a client window is to be maximized.  The resource value
1756can be specified as a size specification \*Vwidth\*Lx\*Vheight\*O.  The
1757width and height are interpreted in the units that the client uses (for
1758example, for terminal emulators this is generally characters).  Alternately,
1759"vertical" or "horizontal" can be specified to indicate the direction in
1760which the client maximizes.
1761.PP
1762If this resource is not specified, the maximum size from the
1763WM_NORMAL_HINTS property is used if set.
1764Otherwise the default value is the size where the client window with
1765window management borders fills the screen.  When the maximum client size
1766is not determined by the maximumClientSize resource, the maximumMaximumSize
1767resource value is used as a constraint on the maximum size.
1768.IP "\*LuseClientIcon\*O\ (class\ \*LUseClientIcon\*O)"
1769If the value given for this
1770resource is True, a client-supplied icon image takes precedence
1771over a user-supplied icon image.  The default value is False, giving the
1772user-supplied icon image higher precedence than the client-supplied
1773icon image.
1774.IP "\*LusePPosition\*O\ (class\ \*LUsePPosition\*O)"
1775This resource specifies whether Mwm honors program specified position
1776\*LPPosition\*O specified in the WM_NORMAL_HINTS property in the absence of
1777an user specified position.  Setting this resource to on, causes \*Lmwm\*O
1778to always honor program specified position. Setting this resource to off,
1779causes \*Lmwm\*O to always ignore program specified position.  Setting this
1780resource to the default value of nonzero cause \*Lmwm\*O to honor program
1781specified position other than (0,0).
1782.IP "\*LwindowMenu\*O\ (class\ \*LWindowMenu\*O)"
1783.iX "resources"
1784.iX "mwm" "resources"
1785This resource indicates the name of the menu pane that is posted when
1786the window menu is popped up (usually by pressing button 1 on the window
1787menu button on the client window frame).
1788Menu panes are specified in the MWM resource description file.
1789Window menus can be customized
1790on a client class basis by specifying resources of the form
1791\*LMwm*\*Vclient_name_or_class\*L*windowMenu\*O
1792(see "Mwm Resource Description File Syntax").
1793The default value of this resource is "DefaultWindowMenu".
1794.LE
1795.SS "Resource Description File"
1796.iX "resource description file"
1797.iX ".mwmrc"
1798.PP
1799The MWM resource description file is a supplementary resource file
1800that contains resource descriptions that are referred to by entries in
1801the defaults files (.Xdefaults, app-defaults/Mwm).
1802It contains descriptions of resources that are to be used by \*Lmwm\*O,
1803and that cannot be easily encoded in the defaults files
1804(a bitmap file is an analogous type of resource description file).
1805A particular \*Lmwm resource descriptionfile\*O can be selected using the \*LconfigFile\*O resource.
1806.P
1807.nL
1808.ne 20
1809The following types of resources can be described in the \*Lmwm\*O
1810resource description file:
1811.VL 15
1812.IP "\*LButtons\*O"
1813Window manager functions can be bound (associated) with button events.
1814.IP "\*LKeys\*O"
1815Window manager functions can be bound (associated) with key press events.
1816.IP "\*LMenus\*O"
1817Menu panes can be used for the window menu and other menus posted
1818with key bindings and button bindings.
1819.LE
1820.SS "mwm Resource Description File Syntax"
1821.iX "resource description file"
1822.iX ".mwmrc"
1823The \*Lmwm\*O resource description file
1824is a standard text file that contains items
1825of information separated by blanks, tabs, and newline characters.
1826Blank lines are ignored.
1827Items or characters can be quoted to avoid special interpretation
1828(for example, the comment character can be quoted to prevent it from being
1829interpreted as the comment character).
1830A quoted item can be contained in double quotes (\*L"\*O).
1831Single characters can be quoted by preceding them by the backslash
1832character (\*L\\\*O).
1833All text from an unquoted \*L#\*O to the end of the line is regarded
1834as a comment and is not interpreted as part of a resource description.
1835If \*L!\*O is the first character in a line, the line is regarded as a comment.
1836If a line ends in a backslash character (\*L\\\*O), the next line is considered
1837a continuation of that line.
1838Window manager functions can be accessed with button and key bindings,
1839.ne 10
1840and
1841with window manager menus.
1842Functions are indicated as part of the specifications for button and key
1843binding sets, and menu panes.
1844The function specification has the following syntax:
1845.P
1846.ne 1i
1847.TS
1848tab(~), center;
1849ll.
1850\*Vfunction\*O =~\*Vfunction_name\*O [\*Vfunction_args\*O]
1851\*Vfunction_name\*O =~\*Vwindow manager function\*O
1852\*Vfunction_args\*O =~{\*Vquoted_item\*L | \*Vunquoted_item\*O}
1853.TE
1854.P
1855The following functions are supported.
1856If a function is specified that isn't one of the supported functions, then it
1857is interpreted by \*Lmwm\*O as \*Vf.nop\*O.
1858.VL 
1859.IP "\*Lf.beep\*O"
1860This function causes a beep.
1861.IP "\*Lf.circle_down\*O\ [\*Licon\*O\ |\ \*Lwindow\*O]"
1862This function causes the window or icon that is on the top of the window
1863stack to be put on the bottom of the window stack (so that it no
1864longer obscures any other window or icon).
1865This function affects only those windows and icons
1866that obscure other windows and icons,
1867or that are obscured by other windows and icons.
1868Secondary windows (that is, transient windows) are restacked with their
1869associated primary window.
1870Secondary windows always stay on top of the associated primary window and
1871there can be no other primary windows between the secondary windows and
1872their primary window.  If an \*Licon\*O function argument is specified,
1873the function applies only to icons.
1874If a \*Lwindow\*O function argument is specified, the function applies
1875only to windows.
1876.IP "\*Lf.circle_up\*O\ [\*Licon\*O\ |\ \*Lwindow\*O]"
1877This function raises the window or icon on the bottom of the window stack
1878(so that it is not obscured by any other windows).
1879This function affects only those windows and icons
1880that obscure other windows and icons,
1881or that are obscured by other windows and icons.
1882Secondary windows (that is, transient windows) are restacked with their
1883associated primary window.
1884If an \*Vicon\*O function argument is specified, the
1885function applies only to icons.
1886If a \*Vwindow\*O function argument is specified, the function applies
1887only to windows.
1888.nL
1889.ne 2i
1890.IP "\*Lf.exec\*O\ or\ \*L!\*O"
1891This function causes \*Vcommand\*O to be executed (using the
1892value of the MWMSHELL environment variable if it is set,
1893otherwise the value of the SHELL environment variable if it is set,
1894otherwise \*V/bin/sh\*O).
1895The \*L!\*O notation can be used in place of the \*Lf.exec\*O function
1896name.
1897.IP "\*Lf.focus_color\*O"
1898This function sets the colormap focus to a client window.
1899If this function is done in a root context, the default colormap
1900(set up by the \*VX Window System\*O for the screen where MWM is running)
1901is installed and there is no specific client window colormap focus.
1902This function is treated as \*Vf.nop\*O if colormapFocusPolicy is not
1903explicit.
1904.IP "\*Lf.focus_key\*O"
1905This function sets the keyboard input focus to a client window or icon.
1906This function is treated as \*Vf.nop\*O if keyboardFocusPolicy is not
1907explicit or the function is executed in a root context.
1908.IP "\*Lf.kill\*O"
1909This function is used to terminate a client.
1910If the WM_DELETE_WINDOW protocol is set up, the client is sent a
1911client message event, indicating that the client window should be deleted.
1912If the WM_SAVE_YOURSELF protocol is set up, the client is sent a
1913client message event, indicating that the client needs to prepare to be
1914terminated.
1915If the client does not have the WM_DELETE_WINDOW or WM_SAVE_YOURSELF
1916protocol set up,
1917this function causes a client's X connection to be terminated
1918(usually resulting in termination of the client).
1919Refer to the description of the quitTimeout resource and the
1920WM_PROTOCOLS property.
1921.IP "\*Lf.lower\*O\ [\*L\-\*Vclient\*O | \*Lwithin\*O\ |\ \*LfreeFamily\*O]"
1922This function lowers a primary window to the bottom of the global window
1923stack (where it obscures no other window) and lowers the secondary window
1924(transient window or dialog box) within the client family.  The
1925arguments to this function are mutually exclusive.
1926.PP
1927The \*Vclient\*O argument indicates the name or class of a client to
1928lower.
1929If the \*Vclient\*O argument is not specified, the context that the
1930function was invoked in indicates the window or icon to lower.
1931.PP
1932Specifying \*Lwithin\*O lowers the secondary window within the family
1933(staying above the parent) but does not lower the client family in the
1934global window stack.
1935.PP
1936Specifying \*LfreeFamily\*O lowers the window to the bottom of the
1937global windows stack from its local family stack.
1938.IP "\*Lf.maximize\*O"
1939This function causes a client window to be displayed with its maximum
1940size.
1941.IP "\*Lf.menu\*O"
1942This function associates a cascading (pull-right) menu
1943with a menu pane entry or a menu with a button or key binding.
1944The \*Vmenu_name\*O function argument identifies the menu to be used.
1945.IP "\*Lf.minimize\*O"
1946This function causes a client window to be minimized (iconified).
1947When a window is minimized when no icon box is used, its icon is placed on
1948the bottom of the window
1949stack (so that it obscures no other window).  If an icon box is used,
1950the client's icon changes to its iconified form inside the icon box.
1951Secondary windows (that is, transient windows) are minimized with their
1952associated primary window.
1953There is only one icon for a primary window and all its secondary windows.
1954.IP "\*Lf.move\*O"
1955This function causes a client window to be interactively moved.
1956.IP "\*Lf.next_cmap\*O"
1957This function installs the next colormap in the list of colormaps for
1958the window with the colormap focus.
1959.IP "\*Lf.next_key\*O\ [\*Licon\*O\ |\ \*Lwindow\*O\ |\ \*Ltransient\*O]"
1960This function sets the keyboard input focus to the next window/icon in the set
1961of windows/icons managed by the window manager
1962(the ordering of this set is based on the stacking of windows on the screen).
1963This function is treated as \*Vf.nop\*O if keyboardFocusPolicy is not
1964explicit.
1965The keyboard input focus is moved only to windows that do not have an
1966associated secondary window that is application modal.
1967If the \*Ltransient\*O argument is specified, transient (secondary)
1968windows are traversed (otherwise, if only \*Lwindow\*O is specified,
1969traversal is done only to the last focused window in a transient
1970group).
1971If an \*Licon\*O function argument is specified, the
1972function applies only to icons.
1973If a \*Lwindow\*O function argument is specified, the function applies
1974only to windows.
1975.IP "\*Lf.nop\*O"
1976This function does nothing.
1977.IP "\*Lf.normalize\*O"
1978This function causes a client window to be displayed with its normal size.
1979Secondary windows (that is, transient windows) are placed in their normal state
1980along with their associated primary window.
1981.nL
1982.ne 10
1983.IP "\*Lf.normalize_and_raise\*O"
1984This function causes the corresponding client
1985window to be displayed with its normal size
1986and raised to the top of the window stack.
1987Secondary windows (that is, transient windows) are placed in their normal state
1988along with their associated primary window.
1989.IP "\*Lf.pack_icons\*O"
1990This function is used to relayout icons
1991(based on the layout policy being used)
1992on the root window or in the icon box.
1993In general this causes icons to be "packed" into the icon grid.
1994.nL
1995.ne 10
1996.IP "\*Lf.pass_keys\*O"
1997This function is used to enable/disable (toggle) processing of key bindings
1998for window manager functions.  When it disables key binding processing, all
1999keys are passed on to the window with
2000the keyboard input focus and no window manager functions are invoked.
2001If the \*Vf.pass_keys\*O function is invoked with a key binding to
2002disable key-binding processing, the
2003same key binding can be used to enable key-binding processing.
2004.IP "\*Lf.post_wmenu\*O"
2005This function is used to post the window menu.  If a key is used to post
2006the window menu and a window menu button is present, the window menu is
2007automatically
2008placed with its top-left corner at the bottom-left corner of the
2009window menu button for the client window.  If no window menu button is
2010present,  the window menu is placed
2011at the top-left corner of the client window.
2012.IP "\*Lf.prev_cmap\*O"
2013This function installs the previous colormap in the list of colormaps for
2014the window with the colormap focus.
2015.IP "\*Lf.prev_key\*O\ [\*Licon\*O\ |\ \*Lwindow\*O\ |\ \*Ltransient\*O]"
2016This function sets the keyboard input focus to the previous window/icon in
2017the set of windows/icons managed by the window manager
2018(the ordering of this set is based on the stacking of windows on the screen).
2019This function is treated as \*Vf.nop\*O if keyboardFocusPolicy is not
2020explicit.
2021The keyboard input focus is moved only to windows that do not have an
2022associated secondary window that is application modal.
2023If the \*Vtransient\*O argument is specified, transient (secondary)
2024windows are traversed (otherwise, if only \*Vwindow\*O is specified,
2025traversal is done only to the last focused window in a transient
2026group).
2027If an \*Vicon\*O function argument is specified, the
2028function applies only to icons.
2029If an \*Vwindow\*O function argument is specified, the function applies
2030only to windows.
2031.IP "\*Lf.quit_mwm\*O"
2032This function terminates \*Lmwm\*O (but NOT the X window system).
2033.nL
2034.ne 8
2035.IP "\*Lf.raise\*O\ [\*L\-\*Vclient\*O | \*Lwithin | freeFamily]\*O"
2036This function raises a primary window to the top of the global window stack
2037(where it is obscured by no other window) and raises the secondary window
2038(transient window or dialog box) within the client family.  The
2039arguments to this function are mutually exclusive.
2040.PP
2041The \*Vclient\*O argument indicates the name or class of a client to
2042lower.
2043If the \*Vclient\*O is not specified, the context that the
2044function was invoked in indicates the window or icon to lower.
2045.PP
2046Specifying \*Lwithin\*O raises the secondary window within the family
2047but does not raise the client family in the
2048global window stack.
2049.PP
2050Specifying \*LfreeFamily\*O raises the window to the top of its local
2051family stack and raises the family to the top of the global window stack.
2052.IP "\*Lf.raise_lower\*O\ [\*Lwithin | freeFamily]\*O"
2053This function raises a primary window to the top of the global window stack if
2054it is partially obscured by another window; otherwise, it lowers the window
2055to the bottom of the window stack.  The arguments to this function
2056are mutually exclusive.
2057.PP
2058Specifying \*Lwithin\*O raises a secondary window within the family
2059(staying above the parent window), if it
2060is partially obscured by another window in the application's family;
2061otherwise, it lowers the
2062window to the bottom of the family stack.  It has no effect on the global
2063window stacking order.
2064.PP
2065Specifying \*LfreeFamily\*O raises the window to the top of its local family
2066stack, if obscured by another window, and raises the family to the top of the
2067global window stack; otherwise, it lowers the window to the bottom of its
2068local family stack and lowers the family to the bottom of the global window
2069stack.
2070.IP "\*Lf.refresh\*O"
2071This function causes all windows to be redrawn.
2072.IP "\*Lf.refresh_win\*O"
2073This function causes a client window to be redrawn.
2074.IP "\*Lf.resize\*O"
2075This function causes a client window to be interactively resized.
2076.IP "\*Lf.restore\*O"
2077This function restores the previous state of an icon's associated window.
2078If a maximized window is iconified, then
2079\*Lf.restore\*O restores it to its maximized state.  If a normal window is
2080iconified, then \*Lf.restore\*O restores it to its normalized state.
2081.IP "\*Lf.restore_and_raise\*O"
2082This function restores the previous state of an icon's associated
2083window and raises the window to the top of the window stack.
2084If a maximized window is iconified, then
2085\*Lf.restore_and_raise\*O restores it to its maximized state and raises it
2086to the top of the window stack.  If a normal window is iconified, then
2087\*Lf.restore_and_raise\*O restores it to its normalized state and raises it
2088to the top of the window stack.
2089.IP "\*Lf.restart\*O"
2090This function causes \*Lmwm\*O to be restarted (effectively terminated
2091and re-executed).
2092.IP "\*Lf.screen\*O\ [\*Lnext\*O | \*Lprev\*O | \*Lback\*O
2093\*Vscreen_number\*O]"
2094This function causes the pointer to be warp to a specific screen number
2095or to the \*Lnext\*O, \*Lprevious\*O, or last visited (\*Lback\*O) screen.
2096The arguments to this function are mutually exclusive.
2097.PP
2098The \*Vscreen_number\*O argument indicates the screen number that the
2099pointer is to be warped.  Screens are numbered starting from screen 0.
2100.PP
2101Specifying \*Lnext\*O cause the pointer to warp to the next managed
2102screen (skipping over any unmanaged screens).
2103.PP
2104Specifying \*Lprev\*O cause the pointer to warp to the previous managed
2105screen (skipping over any unmanaged screens).
2106.PP
2107Specifying \*Lback\*O cause the pointer to warp to the last visited
2108screen.
2109.IP "\*Lf.send_msg\*O\ \*Vmessage_number\*O"
2110This function sends a client message of the type _MOTIF_WM_MESSAGES with the
2111\*Vmessage_type\*O indicated by the \*Vmessage_number\*O function argument.
2112The
2113client message is sent only if \*Vmessage_number\*O is included in the
2114client's _MOTIF_WM_MESSAGES property.  A menu item label is grayed out if
2115the menu item is used to do \*Vf.send_msg\*O of a message that is not
2116included in the client's _MOTIF_WM_MESSAGES property.
2117.IP "\*Lf.separator\*O"
2118This function causes a menu separator to be put in the menu pane at the
2119specified location (the label is ignored).
2120.nL
2121.ne 10
2122.IP "\*Lf.set_behavior\*O"
2123This function causes the window manager to restart with the default
2124behavior (if a custom behavior is configured) or revert to the
2125custom behavior.
2126By default this is bound to \*LShift\ Ctrl\ Meta\ <Key>!\*O.
2127.IP "\*Lf.title\*O"
2128This function inserts a title in the menu pane at the specified location.
2129.LE
2130.PP
2131Each function may be constrained as to which resource types can specify
2132the function (for example, menu pane) and also what context the function can
2133be used in (for example, the function is done to the selected client window).
2134Function contexts are
2135.VL 15
2136.IP "\*Lroot\*O"
2137No client window or icon has been selected as an object for
2138the function.
2139.IP "\*Lwindow\*O"
2140A client window has been selected as an object for the function.
2141This includes the window's title bar and frame.
2142Some functions are applied only when the window is
2143in its normalized state (for example, \*Vf.maximize\*O) or its maximized state
2144(for example, \*Vf.normalize\*O).
2145.IP "\*Licon\*O"
2146An icon has been selected as an object for the function.
2147.LE
2148.PP
2149If a function's context has been specified as \*Licon|window\*O and the
2150function is invoked in an icon box, the function applies to the icon
2151box, not to the icons inside.
2152.PP
2153If a function is specified in a type of resource where it is not supported
2154or is invoked in a context that does not apply,
2155the function is treated as \*Vf.nop\*O.
2156The following table indicates the resource types and function contexts in
2157which window manager functions apply.
2158.P
2159.wH .in 0
2160.TS
2161tab(~), center;
2162l l l.
2163\*LFunction\*O~\*LContexts\*O~\*LResources\*O
2164_
2165f.beep~root, icon, window~button, key, menu
2166f.circle_down~root, icon, window~button, key, menu
2167f.circle_up~root, icon, window~button, key, menu
2168f.exec~root, icon, window~button, key, menu
2169f.focus_color~root, icon, window~button, key, menu
2170f.focus_key~root, icon, window~button, key, menu
2171f.kill~icon, window~button, key, menu
2172f.lower~icon, window~button, key, menu
2173f.maximize~icon, window(normal)~button, key, menu
2174f.menu~root, icon, window~button, key, menu
2175f.minimize~window~button, key, menu
2176f.move~icon, window~button, key, menu
2177f.next_cmap~root, icon, window~button, key, menu
2178f.next_key~root, icon, window~button, key, menu
2179f.nop~root, icon, window~button, key, menu
2180f.normalize~icon, window(maximized)~button, key, menu
2181f.normalize_and_raise~icon, window~button, key, menu
2182f.pack_icons~root, icon, window~button, key, menu
2183f.pass_keys~root, icon, window~button, key, menu
2184f.post_wmenu~root, icon, window~button, key
2185f.prev_cmap~root, icon, window~button, key, menu
2186f.prev_key~root, icon, window~button, key, menu
2187f.quit_mwm~root, icon, window~button, key, menu (root only)
2188f.raise~icon, window~button, key, menu
2189f.raise_lower~icon, window~button, key, menu
2190f.refresh~root, icon, window~button, key, menu
2191f.refresh_win~window~button, key, menu
2192f.resize~window~button, key, menu
2193f.restore~icon, window~button, key, menu
2194f.restore_and_raise~icon, window~button, key, menu
2195f.restart~root, icon, window~button, key, menu (root only)
2196f.screen~root, icon, window~button, key, menu
2197f.send_msg~icon, window~button, key, menu
2198f.separator~root, icon, window~menu
2199f.set_behavior~root, icon, window~button, key, menu
2200f.title~root, icon, window~menu
2201.TE
2202.SS "Window Manager Event Specification"
2203Events are indicated as part of the specifications for button and
2204key-binding sets, and menu panes.
2205.PP
2206Button events have the following syntax:
2207.PP
2208.wH .in +4
2209.TS
2210tab(~);
2211l l.
2212\*Vbutton\*O =~[\*Vmodifier_list\*O]\*L<\*Vbutton_event_name\*L>\*O
2213\*Vmodifier_list\*O =~\*Vmodifier_name\*O {\*Vmodifier_name\*O}
2214.TE
2215.wH .in -4
2216.PP
2217All modifiers specified are interpreted as being exclusive
2218(this means that only the specified modifiers can be present when the
2219button event occurs).
2220The following table indicates the values that can be used
2221for \*Vmodifier_name\*O.\*F
2222.wH .FS
2223.wH .FS
2224The [Alt] key is frequently labeled [Extend] or [Meta].
2225Alt and Meta can be used interchangeably in event specification.
2226.wH .FE
2227.wH .FE
2228.P
2229.ne 2.5i
2230.TS
2231tab(~),center;
2232l l
2233l l.
2234\*LModifier\*O~\*LDescription\*O
2235_
2236Ctrl~Control Key
2237Shift~Shift Key
2238Alt~Alt/Meta Key
2239Meta~Meta/Alt Key
2240Lock~Lock Key
2241Mod1~Modifier1
2242Mod2~Modifier2
2243Mod3~Modifier3
2244Mod4~Modifier4
2245Mod5~Modifier5
2246.TE
2247.PP
2248.ne 10
2249The following table indicates the values that can be used for
2250\*Vbutton_event_name\*O.
2251.P
2252.ne 4i
2253.TS
2254tab(~),center;
2255l l
2256l l.
2257\*LButton\*O~\*LDescription\*O
2258_
2259Btn1Down~Button 1 Press
2260Btn1Up~Button 1 Release
2261Btn1Click~Button 1 Press and Release
2262Btn1Click2~Button 1 Double-Click
2263Btn2Down~Button 2 Press
2264Btn2Up~Button 2 Release
2265Btn2Click~Button 2 Press and Release
2266Btn2Click2~Button 2 Double-Click
2267Btn3Down~Button 3 Press
2268Btn3Up~Button 3 Release
2269Btn3Click~Button 3 Press and Release
2270Btn3Click2~Button 3 Double-Click
2271Btn4Down~Button 4 Press
2272Btn4Up~Button 4 Release
2273Btn4Click~Button 4 Press and Release
2274Btn4Click2~Button 4 Double-Click
2275Btn5Down~Button 5 Press
2276Btn5Up~Button 5 Release
2277Btn5Click~Button 5 Press and Release
2278Btn5Click2~Button 5 Double-Click
2279.TE
2280.PP
2281.ne 2i
2282Key events that are used by the window manager for menu mnemonics
2283and for binding to window manager functions are single key presses;
2284key releases are ignored.
2285Key events have the following syntax:
2286.PP
2287.wH .in +4
2288.TS
2289tab(~);
2290l l.
2291\*Vkey\*O =~[\*Vmodifier_list\*O]\*L<Key>\*Vkey_name\*O
2292\*Vmodifier_list\*O =~\*Vmodifier_name\*O {\*Vmodifier_name\*O}
2293.TE
2294.wH .in -4
2295.PP
2296All modifiers specified are interpreted as being exclusive
2297(this means that only the specified modifiers can be present when the
2298key event occurs).
2299Modifiers for keys
2300.ne 7
2301are the same as those that apply to buttons.
2302The \*Vkey_name\*O is an X11 keysym name.
2303Keysym names can be found in the keysymdef.h file
2304(remove the \*VXK_\*O prefix).
2305.SS "Button Bindings"
2306The \*LbuttonBindings\*O resource value is the name of a set of button
2307bindings that are used to configure window manager behavior.
2308A window manager function can be done when a button press  occurs with
2309the pointer over a framed client window,
2310an icon, or the root window.
2311The context for indicating where the button press applies is also the
2312context for invoking the window manager function when the button press
2313is done
2314(significant for functions that are context sensitive).
2315.PP
2316The button binding syntax is
2317.P
2318.na
2319.wH .in +5n
2320\*LButtons\*O \*Vbindings_set_name\*O
2321.nL
2322\*L{\*O
2323.nL
2324    \*Vbutton\*O    \*Vcontext\*O    \*Vfunction\*O
2325.nL
2326    \*Vbutton\*O    \*Vcontext\*O    \*Vfunction\*O
2327.nL
2328                         .
2329.nL
2330                         .
2331.nL
2332    \*Vbutton\*O    \*Vcontext\*O    \*Vfunction\*O
2333.nL
2334\*L}\*O
2335.wH .in -5n
2336.ad
2337.PP
2338.ne 2i
2339The syntax for the \*Vcontext\*O specification is
2340.P
2341.TS
2342tab(~), center;
2343ll.
2344\*Vcontext\*O =~\*Vobject\*O[\*L\ |\ \*Vcontext\*O]
2345\*Vobject\*O =~\*Lroot | icon | window | title | frame | border | app\*O
2346.TE
2347.P
2348The context specification indicates where the pointer must be for the
2349button binding to be effective.
2350For example, a context of \*Lwindow\*O indicates that the pointer must
2351be over a client window or
2352window management frame for the button binding to be effective.
2353The \*Lframe\*O context is for the window management frame around a
2354client window
2355(including the border and titlebar), the \*Lborder\*O context is
2356for the border part of the window management frame
2357.ne 15
2358(not including the titlebar), the \*Ltitle\*O
2359context is for the title area of the window management frame,
2360and the \*Lapp\*O context is for the application window
2361(not including the window management frame).
2362.P
2363If an \*Vf.nop\*O function is specified for a button binding, the button
2364binding is not done.
2365.SS "Key Bindings"
2366The \*LkeyBindings\*O resource value is the name of a set of key
2367bindings that are used to configure window manager behavior.  A window
2368manager function can be done when a particular key is pressed.
2369The context in which the key binding applies is indicated in the key
2370binding specification.
2371The valid contexts are the same as those that apply to button bindings.
2372.P
2373The key binding syntax is
2374.P
2375.na
2376.wH .in +5n
2377\*LKeys\*O \*Vbindings_set_name\*O
2378.nL
2379\*L{\*O
2380.nL
2381    \*Vkey\*O    \*Vcontext\*O    \*Vfunction\*O
2382.nL
2383    \*Vkey\*O    \*Vcontext\*O    \*Vfunction\*O
2384.nL
2385                .
2386.nL
2387                .
2388.nL
2389    \*Vkey\*O    \*Vcontext\*O    \*Vfunction\*O
2390.nL
2391\*L}\*O
2392.wH .in -5n
2393.ad
2394.PP
2395If an \*Vf.nop\*O function is specified for a key binding, the key
2396binding is not done.
2397If an \*Vf.post_wmenu\*O or \*Vf.menu\*O function is bound to a
2398key, \*Lmwm\*O will automatically use the same key for removing the menu from
2399the screen after it has been popped up.
2400.PP
2401The \*Vcontext\*O specification syntax is the same as for button bindings.
2402For key bindings, the \*Lframe\*O, \*Ltitle\*O, \*Lborder\*O, and \*Lapp\*O
2403contexts are equivalent to the \*Lwindow\*O context.
2404The context for a key event is the window or icon that has the keyboard
2405input focus (\*Lroot\*O if no window or icon has the keyboard input focus).
2406.nL
2407.ne 8
2408.SS "Menu Panes"
2409Menus can be popped up using the \*Vf.post_wmenu\*O and
2410\*Vf.menu\*O window manager functions.
2411The context for window manager functions that are done from
2412a menu is \*Vroot\*O, \*Vicon\*O or \*Vwindow\*O depending on how the
2413menu was popped up.
2414In the case of the \*Vwindow\*O menu or menus popped up with a key
2415binding, the location of the keyboard input
2416focus indicates the context.
2417For menus popped up using a button binding,
2418the context of the button binding is the context of the menu.
2419.P
2420The menu pane specification syntax is
2421.P
2422.na
2423.wH .in +5n
2424\*LMenu\*O \*Vmenu_name\*O
2425.nL
2426\*L{\*O
2427.nL
2428    \*Vlabel\*O  [\*Vmnemonic\*O]  [\*Vaccelerator\*O]   \*Vfunction\*O
2429.nL
2430    \*Vlabel\*O  [\*Vmnemonic\*O]  [\*Vaccelerator\*O]   \*Vfunction\*O
2431.nL
2432                .
2433.nL
2434                .
2435.nL
2436    \*Vlabel\*O  [\*Vmnemonic\*O]  [\*Vaccelerator\*O]   \*Vfunction\*O
2437.nL
2438\*L}\*O
2439.wH .in -5n
2440.ad
2441.PP
2442Each line in the \*VMenu\*O specification identifies the label for a menu
2443item and the function to be done if the menu item is selected.
2444Optionally a menu button mnemonic and a menu button keyboard accelerator
2445may be specified.
2446Mnemonics are functional only when the menu is posted
2447and keyboard traversal applies.
2448.PP
2449The \*Vlabel\*O may be a string or a bitmap file.
2450The label specification has the following syntax:
2451.P
2452.TS
2453tab(~), center;
2454ll.
2455\*Vlabel\*O =~\*Vtext\*L | \*Vbitmap_file\*O
2456\*Vbitmap_file\*O =~\*L@\*Vfile_name\*O
2457\*Vtext\*O =~\*Vquoted_item\*L | \*Vunquoted_item\*O
2458.TE
2459.P
2460The string encoding for labels must be compatible with the menu font that
2461is used.
2462Labels are greyed out for menu items that do the \*Vf.nop\*O function
2463or an invalid function or a function that doesn't apply in the current
2464context.
2465.P
2466.ne 5
2467A \*Vmnemonic\*O specification has the following syntax
2468.P
2469.wH .in +4
2470.TS
2471tab(~);
2472l l.
2473\*Vmnemonic\*O =~\*L_\*Vcharacter\*O
2474.TE
2475.wH .in -4
2476.PP
2477The first matching \*Vcharacter\*O in the label is underlined.
2478If there is no matching \*Vcharacter\*O in the label, no
2479mnemonic is registered with the window manager for that label.
2480Although the \*Vcharacter\*O must exactly match a character in the
2481label,
2482the mnemonic does not execute if any modifier (such as Shift) is pressed with
2483the character key.
2484.PP
2485The \*Vaccelerator\*O specification is a key event specification with
2486the same syntax as is used for key bindings to window manager functions.
2487.SS Environment
2488\*Lmwm\*O uses the environment variable HOME specifying the user's
2489home directory.
2490.PP
2491\*Lmwm\*O uses the environment variable LANG specifying the
2492user's choice of language for the \*Lmwm\*O message catalog and
2493the \*Lmwm\*O resource description file.
2494.PP
2495\*Lmwm\*O uses the environment variables XFILESEARCHPATH,
2496XUSERFILESEARCHPATH, XAPPLRESDIR, XENVIRONMENT, LANG, and HOME in
2497determining search paths for resource defaults files.
2498\*Lmwm\*O may also use XBMLANGPATH to search for bitmap files.
2499.PP
2500\*Lmwm\*O reads the $HOME/.motifbind file if it
2501exists to install a virtual
2502key bindings property on the root window.
2503For more information on the content of the \&.motifbind file, see
2504\*LVirtualBindings(3X)\*O.
2505.PP
2506.ne 2i
2507\*Lmwm\*O uses the environment variable MWMSHELL (or SHELL, if MWMSHELL
2508is not set), specifying the shell to use when executing commands via the
2509\*Vf.exec\*O function.
2510.nL
2511.ne 15
2512.SH Files
2513.na
2514\*L/usr/lib/X11/$LANG/system.mwmrc\*O
2515.nL
2516\*L/usr/lib/X11/system.mwmrc\*O
2517.nL
2518\*L/usr/lib/X11/app-defaults/Mwm\*O
2519.nL
2520\*L$HOME/Mwm\*O
2521.nL
2522\*L$HOME/.Xdefaults\*O
2523.nL
2524\*L$HOME/$LANG/.mwmrc\*O
2525.nL
2526\*L$HOME/.mwmrc\*O
2527.nL
2528\*L$HOME/.motifbind\*O
2529.ad
2530.SH RELATED INFORMATION
2531.na
2532\*LVendorShell(3X)\*O,
2533\*LVirtualBindings(3X)\*O,
2534\*LX(1)\*O, and
2535\*LXmInstallImage(3X)\*O.
2536.ad
Note: See TracBrowser for help on using the repository browser.