APPLICATIONSHELL(3)
π ApplicationShell β the ApplicationShell widget class π
okay so bestie, you found it: ApplicationShell(library call) β this is the manual page for the ApplicationShell widget class, and we're gonna go through it together, no stress, no cap. β¨
πΈ SYNOPSIS πΈ
#include <Xm/Xm.h>
#include <X11/Shell.h>
π¦ DESCRIPTION π¦
So, ApplicationShell is literally the main top-level window for an application. That's its whole thing, that's its job, and it eats every single time. π
Quick vibe check though: an application should have more than one ApplicationShell only if it implements multiple logical applications. Like, don't just spawn extras for funsies. One app, one shell, periodt. π
β¨ Classes β¨
ApplicationShell inherits all its behavior and resources from these iconic ancestors, in order:
CoreCompositeShellWMShellVendorShellTopLevelShell
The class pointer is applicationShellWidgetClass.
The class name is ApplicationShell.
iykyk π«Ά
π New Resources π
Okay so here's the tea: this table defines the widget resources you (the programmer) get to use to specify data. And here's the best part β you can also set resource values for the inherited classes to set attributes for this widget. So flexible. So generous. We love to see it. π
Now, for the .Xdefaults girlies: to reference a resource by name or by class in a .Xdefaults file, you remove the XmN or XmC prefix and just use the remaining letters. And to specify one of the defined values for a resource in a .Xdefaults file, you remove the Xm prefix and use the remaining letters (lowercase OR uppercase, your choice, live your truth β but keep any underscores between words). π
The codes in the access column are the whole personality of this section:
Cβ can be set at creation timeSβ can be set by usingXtSetValuesGβ can be retrieved by usingXtGetValuesN/Aβ not applicable
π ApplicationShell Resource Set π
XmNargcβ Class:XmCArgcΒ· Type:intΒ· Default:0Β· Access:CSGXmNargvβ Class:XmCArgvΒ· Type:String *Β· Default:NULLΒ· Access:CSG
XmNargc β specifies the number of arguments given in the XmNargv resource. The function XtInitialize sets this resource on the shell widget instance it creates by using its parameters as the values. efficient, honestly. β¨
XmNargv β specifies the argument list required by a session manager to restart the application if it is killed. π This list should be updated at appropriate points by the application if a new state has been reached that can be directly restarted. The function XtInitialize sets this resource on the shell widget instance it creates by using its parameters as the values. And listen: when XtGetValues is called on this resource, the returned value is a pointer to the actual resource value and should not be freed. Do not free it. Not me warning you twice but also yes I am. π
π Inherited Resources π
ApplicationShell inherits behavior and resources from the following superclasses. For a complete description of each resource, go read the reference page for that superclass β this is a group project and they did their part. π«Ά
π TopLevelShell Resource Set π
XmNiconicβ Class:XmCIconicΒ· Type:BooleanΒ· Default:FalseΒ· Access:CSGXmNiconNameβ Class:XmCIconNameΒ· Type:StringΒ· Default:NULLΒ· Access:CSGXmNiconNameEncodingβ Class:XmCIconNameEncodingΒ· Type:AtomΒ· Default:dynamicΒ· Access:CSG
π VendorShell Resource Set π
okay bestie, this is the VendorShell Resource Set β the whole entire vibe. columns are Name, Class, Type, Default, and Access. not a single row is getting left behind π β¨
XmNaudibleWarningβ classXmCAudibleWarning, typeunsigned char, defaultXmBELL, accessCSGπXmNbuttonFontListβ classXmCButtonFontList, typeXmFontList, defaultdynamic, accessCSGπXmNbuttonRenderTableβ classXmCButtonRenderTable, typeXmRenderTable, defaultdynamic, accessCSGπ¦XmNdefaultFontListβ classXmCDefaultFontList, typeXmFontList, defaultdynamic, accessCGπΈXmNdeleteResponseβ classXmCDeleteResponse, typeunsigned char, defaultXmDESTROY, accessCSGπXmNinputMethodβ classXmCInputMethod, typeString, defaultNULL, accessCSGπXmNinputPolicyβ classXmCInputPolicy, typeXmInputPolicy, defaultXmPER_SHELL, accessCSGπ«ΆXmNkeyboardFocusPolicyβ classXmCKeyboardFocusPolicy, typeunsigned char, defaultXmEXPLICIT, accessCSGπXmNlabelFontListβ classXmCLabelFontList, typeXmFontList, defaultdynamic, accessCSGπXmNlabelRenderTableβ classXmCLabelRenderTabel, typeXmRenderTable, defaultdynamic, accessCSGβXmNlayoutDirectionβ classXmCLayoutDirection, typeXmDirection, defaultXmLEFT_TO_RIGHT, accessCGπXmNmwmDecorationsβ classXmCMwmDecorations, typeint, default-1, accessCGπXmNmwmFunctionsβ classXmCMwmFunctions, typeint, default-1, accessCGπXmNmwmInputModeβ classXmCMwmInputMode, typeint, default-1, accessCGπXmNmwmMenuβ classXmCMwmMenu, typeString, defaultNULL, accessCGπ§XmNpreeditTypeβ classXmCPreeditType, typeString, defaultdynamic, accessCSGβ¨XmNshellUnitTypeβ classXmCShellUnitType, typeunsigned char, defaultXmPIXELS, accessCSGπXmNtextFontListβ classXmCTextFontList, typeXmFontList, defaultdynamic, accessCSGπ¦XmNtextRenderTableβ classXmCTextRenderTable, typeXmRenderTable, defaultdynamic, accessCSGπΈXmNunitTypeβ classXmCUnitType, typeunsigned char, defaultXmPIXELS, accessCSGπXmNuseAsyncGeometryβ classXmCUseAsyncGeometry, typeBoolean, defaultFalse, accessCSGπ
π The WMShell Resource Set π
Okay bestie, this is the whole resource table for the WMShell class β every name, every class, every type, every default, every access mode. I'm not skipping one of them, so grab a snack. π
Also, heads up: every single one of these has access CSG β so instead of me saying it 26 times like a broken record, just know it's on all of them, mwah. π
XmNbaseHeightβ classXmCBaseHeight, typeint, defaultXtUnspecifiedShellInt. It's giving "I'll tell you later" energy, fr fr.XmNbaseWidthβ classXmCBaseWidth, typeint, defaultXtUnspecifiedShellInt. Same vibe, but horizontal β¨.XmNheightIncβ classXmCHeightInc, typeint, defaultXtUnspecifiedShellInt. Height increments, lowkey mysterious until you set it.XmNiconMaskβ classXmCIconMask, typePixmap, defaultNULL. No mask unless you hand one over π.XmNiconPixmapβ classXmCIconPixmap, typePixmap, defaultNULL. Your icon's glow-up slot, currently empty.XmNiconWindowβ classXmCIconWindow, typeWindow, defaultNULL. AnotherNULLdefault, another blank canvas π¦.XmNiconXβ classXmCIconX, typeint, defaultXtUnspecifiedShellInt. Icon x-position, unspecified for now.XmNiconYβ classXmCIconY, typeint, defaultXtUnspecifiedShellInt. Icon y-position, also playing hard to get.XmNinitialStateβ classXmCInitialState, typeint, defaultNormalState. She starts normal, periodt π.XmNinputβ classXmCInput, typeBoolean, defaultTrue. Input is on by default, as she should be.XmNmaxAspectXβ classXmCMaxAspectX, typeint, defaultXtUnspecifiedShellInt. Aspect ratio ceiling, x side.XmNmaxAspectYβ classXmCMaxAspectY, typeint, defaultXtUnspecifiedShellInt. Aspect ratio ceiling, y side.XmNmaxHeightβ classXmCMaxHeight, typeint, defaultXtUnspecifiedShellInt. How tall is too tall? Unspecified, bestie.XmNmaxWidthβ classXmCMaxWidth, typeint, defaultXtUnspecifiedShellInt. How wide is too wide? Also unspecified.XmNminAspectXβ classXmCMinAspectX, typeint, defaultXtUnspecifiedShellInt. Aspect ratio floor, x side.XmNminAspectYβ classXmCMinAspectY, typeint, defaultXtUnspecifiedShellInt. Aspect ratio floor, y side.XmNminHeightβ classXmCMinHeight, typeint, defaultXtUnspecifiedShellInt. Minimum height, currently vibing as unspecified.XmNminWidthβ classXmCMinWidth, typeint, defaultXtUnspecifiedShellInt. Minimum width, same deal π.XmNtitleβ classXmCTitle, typeString, defaultdynamic. The main character's name tag β¨.XmNtitleEncodingβ classXmCTitleEncoding, typeAtom, defaultdynamic. How that name tag gets encoded.XmNtransientβ classXmCTransient, typeBoolean, defaultFalse. Not transient by default, she's here to stay π«Ά.XmNwaitForWmβ classXmCWaitForWm, typeBoolean, defaultTrue. Yes, we are waiting on the window manager, babe.XmNwidthIncβ classXmCWidthInc, typeint, defaultXtUnspecifiedShellInt. Width increments, unspecified until you say otherwise.XmNwindowGroupβ classXmCWindowGroup, typeWindow, defaultdynamic. Your little window friend group π§.XmNwinGravityβ classXmCWinGravity, typeint, defaultdynamic. Gravity: dynamic, so she moves how she moves.XmNwmTimeoutβ classXmCWmTimeout, typeint, default5000 ms. Five whole seconds of patience for the WM, iconic β.
That's the full set β 26 resources, zero skips, zero edits to the names, classes, types, defaults or access modes. No cap. π
π Shell Resource Set π
bestie, the columns are Name, Class, Type, Default, Access β and every single row is right here, no cap π
XmNallowShellResizeβ class:XmCAllowShellResize, type:Boolean, default:False, access:CGβ¨XmNcreatePopupChildProcβ class:XmCCreatePopupChildProc, type:XtCreatePopupChildProc, default:NULL, access:CSGπXmNgeometryβ class:XmCGeometry, type:String, default:NULL, access:CSGπ¦XmNoverrideRedirectβ class:XmCOverrideRedirect, type:Boolean, default:False, access:CSGπΈXmNpopdownCallbackβ class:XmCCallback, type:XtCallbackList, default:NULL, access:CπXmNpopupCallbackβ class:XmCCallback, type:XtCallbackList, default:NULL, access:CπXmNsaveUnderβ class:XmCSaveUnder, type:Boolean, default:False, access:CSGβ¨XmNvisualβ class:XmCVisual, type:Visual *, default:CopyFromParent, access:CSGπ
π¦ Composite Resource Set π¦
and the Composite Resource Set is also serving, columns are Name, Class, Type, Default, Access β here we go π«Ά
XmNchildrenβ class:XmCReadOnly, type:WidgetList, default:NULL, access:GπXmNinsertPositionβ class:XmCInsertPosition, type:XtOrderProc, default:NULL, access:CSGβ¨XmNnumChildrenβ class:XmCReadOnly, type:Cardinal, default:0, access:GπΈ
π Core Resource Set π
okay bestie, here's the whole squad of resources this widget ships with β every name, class, type, default and access level, nothing skipped, nothing hidden, we're giving thorough π
XmNacceleratorsβ classXmCAccelerators, typeXtAccelerators, defaultdynamic, accessCSGβ¨XmNancestorSensitiveβ 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
πΈ Translations πΈ
There are no translations for ApplicationShell. That's it. That's the whole section. Empty. Void. Not a single one. π
π«Ά RELATED π«Ά
the extended fam, the mutuals, the group chat that actually shows up:
and that's a wrap on the whole page, bestie π this one's ApplicationShell(library call) β the library call section of the manual, in case you were wondering where to look it up, iykyk π go forth and shell responsibly, ily, bye β¨π¦
π¦ 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