OVERRIDESHELL(3)
π OverrideShell(library call) π
okay so bestie, welcome to the manual page for OverrideShell β yes that's the library call name, that's the whole vibe, we're doing a widget class today and it's lowkey iconic. π
β¨ NAME β¨
OverrideShell β the OverrideShell widget class. that's it, that's the name, she's simple and she's powerful. π
πΈ SYNOPSIS πΈ
#include <Xm/Xm.h>
#include <X11/Shell.h>
two includes. that's all you need to pull her in. slay. β¨
π DESCRIPTION π
so OverrideShell is the widget class for shell windows that completely bypass the window manager. like, not "mostly", not "kinda", not "we asked nicely" β completely. she does not talk to the WM, the WM does not talk to her, they are strangers fr fr. π«Ά
the classic example, the one everybody knows? PopupMenu shells. that's her moment, that's her main character energy. π₯
π Classes π
OverrideShell inherits behavior and resources from Core, Composite, and Shell. the whole family tree, bestie. π³
- the class pointer is
overrideShellWidgetClass. - the class name is
OverrideShell.
π¦ New Resources π¦
okay so plot twist: OverrideShell defines no new resources. zero. nada. π
BUT β and this is the part you need to remember β she overrides the XmNoverrideRedirect and XmNsaveUnder resources in the Shell class. so she's not adding anything new, she's just editing what her mama gave her. π
π Inherited Resources π
OverrideShell inherits behavior and resources from the following superclasses. for a complete description of each resource, go read the reference page for that superclass β I'm not gonna retype their whole life story here. π
so here's the tea: 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.
and now the little .Xdefaults magic trick, listen up because this is important π
- 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, whichever, but include any underscores between words.
and the codes in the access column? they tell you 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)
got it? got it. π
β Shell Resource Set β
XmNallowShellResizeβ classXmCAllowShellResize, typeBoolean, defaultFalse, accessCGXmNcreatePopupChildProcβ classXmCCreatePopupChildProc, typeXtCreatePopupChildProc, defaultNULL, accessCSGXmNgeometryβ classXmCGeometry, typeString, defaultNULL, accessCSGXmNoverrideRedirectβ classXmCOverrideRedirect, typeBoolean, defaultTrue, accessCSGXmNpopdownCallbackβ classXmCCallback, typeXtCallbackList, defaultNULL, accessCXmNpopupCallbackβ classXmCCallback, typeXtCallbackList, defaultNULL, accessCXmNsaveUnderβ classXmCSaveUnder, typeBoolean, defaultTrue, accessCSGXmNvisualβ classXmCVisual, typeVisual *, defaultCopyFromParent, accessCSG
π Composite Resource Set π
XmNchildrenβ classXmCReadOnly, typeWidgetList, defaultNULL, accessGXmNinsertPositionβ classXmCInsertPosition, typeXtOrderProc, defaultNULL, accessCSGXmNnumChildrenβ classXmCReadOnly, typeCardinal, default0, accessG
and bestieβ¦ that's only part 1 π there's MORE coming, don't go anywhere. π
Okay so the resource table. π It's five whole columns wide β Name, Class, Type, Default, Access β and I am not making you squint at box-drawing characters in a terminal. So I flipped it vertical. Same nineteen entries, same values, char for char. Each one reads: name β class β type β default β access. Periodt.
β¨ Core Resource Set β¨
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
Heads up bestie: the access codes are copied exactly as the original table gives them βCSG,G,CG,Cβ and no, I'm not editorialising on what each letter means. That's the spec's business, not mine. π
π¦ Translations π¦
Not me having to report this: there are no translations for OverrideShell. That's the whole thing. The translation table is empty. Nothing in it. Zero. π
π RELATED π
And that's the page, bestie β the footer signs it off as OverrideShell(library call), which is literally the whole vibe: it's a library call, it lives in section 3, and it's done. π Go forth and override, icon. π
π¦ 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