Shell man page

Shell — The Shell widget class


#include <Xm/Xm.h>
#include <X11/Shell.h>


Shell is a top-level widget (with only one managed child) that encapsulates the interaction with the window manager.

At the time the shell's child is managed, the child's width is used for both widgets if the shell is unrealized and no width has been specified for the shell. Otherwise, the shell's width is used for both widgets. The same relations hold for the height of the shell and its child.


Shell inherits behavior and resources from Composite and Core.

The class pointer is shellWidgetClass.

The class name is Shell.

New Resources

The following table defines a set of widget resources used by the programmer to specify data. The programmer can also set the resource values for the inherited classes to set attributes for this widget. To reference a resource by name or by class in a .Xdefaults file, remove the XmN or XmC prefix and use the remaining letters. To specify one of the defined values for a resource in a .Xdefaults file, remove the Xm prefix and use the remaining letters (in either lowercase or uppercase, but include any underscores between words). The codes in the access column indicate if the given resource can be set at creation time (C), set by using XtSetValues (S), retrieved by using XtGetValues (G), or is not applicable (N/A).

Shell Resource Set
Name Class Type Default Access

XmNallowShellResize XmCAllowShellResize Boolean False CG

XmNcreatePopupChildProc XmCCreatePopupChildProc XtCreatePopupChildProc NULL CSG

XmNgeometry XmCGeometry String NULL CSG

XmNoverrideRedirect XmCOverrideRedirect Boolean False CSG

XmNpopdownCallback XmCCallback XtCallbackList NULL C

XmNpopupCallback XmCCallback XtCallbackList NULL C

XmNsaveUnder XmCSaveUnder Boolean False CSG

XmNvisual XmCVisual Visual * CopyFromParent CSG


Specifies that if this resource is False, the Shell widget instance returns XtGeometryNo to all geometry requests from its children. All Motif convenience create dialog functions override this default value and set XmNallowShellResize to True.


Specifies the pointer to a function that is called when the Shell widget instance is popped up by XtPopup. The function creates the child widget when the shell is popped up instead of when the application starts up. This can be used if the child needs to be reconfigured each time the shell is popped up. The function takes one argument, the popup shell, and returns no result. It is called after the popup callbacks specified by XmNpopupCallback.


Specifies the desired geometry for the widget instance. This resource is examined only when the widget instance is unrealized and the number of its managed children is changed. It is used to change the values of the XmNx, XmNy, XmNwidth, and XmNheight resources. When XtGetValues is called on this resource, the returned value is a pointer to the actual resource value and should not be freed. In addition, this resource is not copied on creation or by XtSetValues. The application must ensure that the string remains valid until the shell is realized.


If True, specifies that the widget instance is a temporary window that should be ignored by the window manager. Applications and users should not normally alter this resource.


Specifies a list of callbacks that is called when the widget instance is popped down by XtPopdown.


Specifies a list of callbacks that is called when the widget instance is popped up by XtPopup. The second argument to XtPopup must be XtGrabNone.


If True, specifies that it is desirable to save the contents of the screen beneath this widget instance, avoiding expose events when the instance is unmapped. This is a hint, and an implementation may save contents whenever it desires, including always or never.


Specifies the visual used in creating the widget.

Inherited Resources

Shell inherits behavior and resources from the superclass described in the following table. For a complete description of each resource, refer to the reference page for that superclass.

Composite Resource Set
Name Class Type Default Access

XmNchildren XmCReadOnly WidgetList NULL G

XmNinsertPosition XmCInsertPosition XtOrderProc NULL CSG

XmNnumChildren XmCReadOnly Cardinal 0 G

Core Resource Set
Name Class Type Default Access

XmNaccelerators XmCAccelerators XtAccelerators dynamic CSG

XmNancestorSensitive XmCSensitive Boolean dynamic G

XmNbackground XmCBackground Pixel dynamic CSG

XmNbackgroundPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG

XmNborderColor XmCBorderColor Pixel XtDefaultForeground CSG

XmNborderPixmap XmCPixmap Pixmap XmUNSPECIFIED_PIXMAP CSG

XmNborderWidth XmCBorderWidth Dimension 0 CSG

XmNcolormap XmCColormap Colormap dynamic CG

XmNdepth XmCDepth int dynamic CG

XmNdestroyCallback XmCCallback XtCallbackList NULL C

XmNheight XmCHeight Dimension dynamic CSG

XmNinitialResourcesPersistent XmCInitialResourcesPersistent Boolean True C

XmNmappedWhenManaged XmCMappedWhenManaged Boolean True CSG

XmNscreen XmCScreen Screen * dynamic CG

XmNsensitive XmCSensitive Boolean True CSG

XmNtranslations XmCTranslations XtTranslations dynamic CSG

XmNwidth XmCWidth Dimension dynamic CSG

XmNx XmCPosition Position 0 CSG

XmNy XmCPosition Position 0 CSG


There are no translations for Shell.

Referenced By

ApplicationShell(3), OverrideShell(3), TopLevelShell(3), TransientShell(3), VendorShell(3), WMShell(3), XmDialogShell(3), XmMenuShell(3).