[Contents] [Index] [Next] [Previous]

MWM Properties and Resources


In addition to the properties and protocols described in ICCCM, Motif uses properties and protocols of its own. A Motif application usually specifies these properties using VendorShell and BulletinBoard resources.

Decorations

An application expresses preferences for MWM window decorations by supplying a value for the decorations field of the _MOTIF_WM_HINTS property on the window. A Motif application does this by supplying a value for the VendorShell resource XmNmwmDecorations. The value is the bitwise inclusive OR of one or more flag bit constants, each of which indicates a preference for or against a particular decoration. If a value has been supplied for this resource, MWM displays only those decorations specified by both XmNmwmDecorations and the MWM clientDecoration resource (for primary windows) or specified by both XmNmwmDecorations and the MWM transientDecoration resource (for transient windows). If no value has been supplied for XmNmwmDecorations, MWM displays the decorations specified by the clientDecoration or transientDecoration resource.

Functions

An application expresses preferences for MWM window functions by supplying a value for the functions field of the _MOTIF_WM_HINTS property on the window. A Motif application does this by supplying a value for the VendorShell resource XmNmwmFunctions. The value is the bitwise inclusive OR of one or more flag bit constants, each of which indicates a preference for or against a particular function. If a value has been supplied for this resource, MWM displays only those functions specified by both XmNmwmFunctions and the MWM clientFunctions resource (for primary windows) or specified by both XmNmwmFunctions and the MWM transientFunctions resource (for transient windows). If no value has been supplied for XmNmwmFunctions, MWM displays the functions specified by the clientFunctions or transientFunctions resource.

BulletinBoard may change the initial value of XmNmwmFunctions if its parent is a subclass of VendorShell. The BulletinBoard resource XmNnoResize determines whether the decorations of the VendorShell parent include resize controls.

Input Mode

An application can inform MWM that it should impose constraints on which windows can obtain input. It does so by setting the input_mode field of the _MOTIF_WM_HINTS property on a window. A Motif application does this by supplying a value for the VendorShell resource XmNmwmInputMode. For a BulletinBoard whose parent is a DialogShell, the application can set XmNmwmInputMode indirectly by specifying a value for the BulletinBoard resource XmNdialogStyle.

The possible modes are as follows:

Modeless
Input goes to any window.
Primary application modal
Input does not go to ancestors of this window or their descendants.
Full application modal
Input goes to this window or its descendants and to other applications but not to other windows in this application.
System modal
Input goes only to this window or its descendants.

Window Menu

An application can supply items for MWM to add to the end of the window menu for a window by specifying a value for the _MOTIF_WM_MENU property. A Motif application does this by supplying a value for the VendorShell resource XmNmwmMenu. The window menu itself is the value of the MWM windowMenu resource.

MWM Messages

An application can specify a message for MWM to send the application when the user invokes the f.send_msg function. The application places a _MOTIF_WM_MESSAGES atom on the WM_PROTOCOLS property for the window. The application also places an atom on the _MOTIF_WM_MESSAGES property. When the f.send_msg function is invoked with this atom as the argument, MWM sends the application a ClientMessage. The application can use XmAddWMProtocols to place a _MOTIF_WM_MESSAGES atom on the WM_PROTOCOLS property, and it can use XmAddProtocolCallback to place an atom on the _MOTIF_WM_MESSAGES property and associate it with a routine to be called when MWM sends the ClientMessage.

MWM Information

MWM maintains a _MOTIF_WM_INFO property on the root window of each screen it manages. This property is available for applications to inspect but not to change. The XmIsMotifWMRunning routine examines this property when determining whether or not MWM is running.