SHELL(3)
π SHELL π (library call)
okay so bestie, sit DOWN, hydrate, and get comfy, because we're about to talk about Shell β and not the bash kind, the β¨widgetβ¨ kind. This is the man page for the Shell widget class, coming at you from the Shell(library call) corner of the manual. Part 1 of 2, so don't go anywhere. π
β¨ NAME β¨
Shell β The Shell widget class ππ
β¨ SYNOPSIS β¨
#include <Xm/Xm.h>
#include <X11/Shell.h>
β¨ DESCRIPTION β¨
So what is a Shell, you ask? It's a top-level widget β meaning it has exactly one managed child, no more, no less β and its whole job is to encapsulate the interaction with the window manager. It's giving main character energy but for window manager negotiations. π
Here's the tea on sizing: at the time the shell's child gets 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. And the exact same relations hold for the height of the shell and its child. Symmetry, we love to see it. π¦
πΈ Classes πΈ
Shell inherits behavior and resources from Composite and Core. Family tree, iconic.
- 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. (Yes bestie, it's a table in the original β we're doing bullets, but nothing is getting lost, promise.) 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.Xdefaultsfile, remove theXmNorXmCprefix and use the remaining letters. To specify one of the defined values for a resource in a.Xdefaultsfile, remove theXmprefix 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).
The Shell Resource Set π
XmNallowShellResizeβ ClassXmCAllowShellResize, typeBoolean, defaultFalse, accessCG. Specifies that if this resource isFalse, the Shell widget instance returnsXtGeometryNoto all geometry requests from its children. All Motif convenience create dialog functions override this default value and setXmNallowShellResizetoTrue.XmNcreatePopupChildProcβ ClassXmCCreatePopupChildProc, typeXtCreatePopupChildProc, defaultNULL, accessCSG. Specifies the pointer to a function that is called when the Shell widget instance is popped up byXtPopup. 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 byXmNpopupCallback.XmNgeometryβ ClassXmCGeometry, typeString, defaultNULL, accessCSG. 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 theXmNx,XmNy,XmNwidth, andXmNheightresources. WhenXtGetValuesis 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 byXtSetValues. The application must ensure that the string remains valid until the shell is realized.XmNoverrideRedirectβ ClassXmCOverrideRedirect, typeBoolean, defaultFalse, accessCSG. IfTrue, 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.XmNpopdownCallbackβ ClassXmCCallback, typeXtCallbackList, defaultNULL, accessC. Specifies a list of callbacks that is called when the widget instance is popped down byXtPopdown.XmNpopupCallbackβ ClassXmCCallback, typeXtCallbackList, defaultNULL, accessC. Specifies a list of callbacks that is called when the widget instance is popped up byXtPopup. The second argument toXtPopupmust beXtGrabNone.XmNsaveUnderβ ClassXmCSaveUnder, typeBoolean, defaultFalse, accessCSG. IfTrue, 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.XmNvisualβ ClassXmCVisual, typeVisual *, defaultCopyFromParent, accessCSG. 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. (Go read it, bestie β we're just passing the baton here. π«Ά)
The Composite Resource Set π§©
XmNchildrenβ ClassXmCReadOnly, typeWidgetList, defaultNULL, accessG.XmNinsertPositionβ ClassXmCInsertPosition, typeXtOrderProc, defaultNULL, accessCSG.XmNnumChildrenβ ClassXmCReadOnly, typeCardinal, default0, accessG.
β¦and that's literally only half the story, so don't close the tab. Part 2 is right there waiting for you π
β¨ Core Resource Set β¨
okay bestie, here's the whole roster π
every single resource, its class, its type, its default, and who's allowed to touch it (that's the Access column β C = create, S = set, G = get, so CSG means you can do all three, G means read-only vibes, etc.). no skips, no cuts, we're doing all of them π«Ά
XmNacceleratorsβ classXmCAccelerators, typeXtAccelerators, defaultdynamic, accessCSGXmNancestorSensitiveβ classXmCSensitive, typeBoolean, defaultdynamic, accessGXmNbackgroundβ classXmCBackground, typePixel, defaultdynamic, accessCSGXmNbackgroundPixmapβ classXmCPixmap, typePixmap, defaultXmUNSPECIFIED_PIXMAP, accessCSGXmNborderColorβ classXmCBorderColor, typePixel, defaultXtDefaultForeground, accessCSGXmNborderPixmapβ classXmCPixmap, typePixmap, defaultXmUNSPECIFIED_PIXMAP, accessCSGXmNborderWidthβ classXmCBorderWidth, typeDimension, default0, accessCSGXmNcolormapβ classXmCColormap, typeColormap, defaultdynamic, accessCGXmNdepthβ classXmCDepth, typeint, defaultdynamic, accessCGXmNdestroyCallbackβ classXmCCallback, typeXtCallbackList, defaultNULL, accessCXmNheightβ classXmCHeight, typeDimension, defaultdynamic, accessCSGXmNinitialResourcesPersistentβ classXmCInitialResourcesPersistent, typeBoolean, defaultTrue, accessCXmNmappedWhenManagedβ classXmCMappedWhenManaged, typeBoolean, defaultTrue, accessCSGXmNscreenβ classXmCScreen, typeScreen *, defaultdynamic, accessCGXmNsensitiveβ classXmCSensitive, typeBoolean, defaultTrue, accessCSGXmNtranslationsβ classXmCTranslations, typeXtTranslations, defaultdynamic, accessCSGXmNwidthβ classXmCWidth, typeDimension, defaultdynamic, accessCSGXmNxβ classXmCPosition, typePosition, default0, accessCSGXmNyβ classXmCPosition, typePosition, default0, accessCSG
ngl the "dynamic" defaults are the main character energy of this table β they get figured out at runtime, not from a static value. and <hotpink>XmUNSPECIFIED_PIXMAP</hotpink> is just the classic "bestie I literally did not specify a pixmap" placeholder π
πΈ Translations πΈ
k so here's the tea: there are no translations for Shell. that's it. that's the whole section. nothing to remap, no keybindings waiting for you, she's empty π
π RELATED π
Composite(3) and Core(3). go read those if you wanna know what she inherits from β the family tree matters, iykyk π
and that's a wrap on Shell(library call) β source is the library call page itself, and honestly she ate with zero crumbs left. bye bestie, go build something iconic β¨ππ¦
π¦ where this page comes from
- alpine 3.24: motif-doc 2.5.2-r0 Β· LGPL-2.1-or-later
- arch rolling: openmotif 2.3.8-4 Β· LGPL-2.1-or-later
- centos-stream 9: motif-devel 2.3.4-32.el9 Β· LGPLv2+
- centos-stream 9: motif-devel 2.3.4-32.el9 Β· LGPLv2+
- epel 10: motif-devel 2.3.8-2.el10_2 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-1.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 43: motif-devel 2.3.8-2.fc43 Β· LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 Β· LicenseRef-Callaway-LGPLv2+
- fedora 44: motif-devel 2.3.8-3.fc44 Β· LicenseRef-Callaway-LGPLv2+
- nixos 26.05: motif 2.3.8
- nixpkgs unstable: motif 2.3.8
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- opensuse-leap 16.0: motif-devel 2.3.8-bp160.1.1 Β· LGPL-2.1-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms