XmButtonBox(3X)
π XmButtonBox(3X) π
okay bestie, welcome to the XmButtonBox(3X) manual page. This is the Button Box class, and it's lowkey iconic for making rows or columns of buttons behave. Periodt. β¨
β¨ NAME β¨
XmButtonBox β The Button Box class
β¨ SYNOPSIS β¨
#include <Xm/ButtonBox.h>
β¨ DESCRIPTION β¨
The Button Box widget manages children (usually buttons) in a single row or single column layout. No cap, it's giving group-chat organizer energy: everyone lined up, nobody crowding anyone. π
The Button Box maintains equal spacing between its children at all times and attempts to adjust its height and width as necessary so that all children will fit. If this is not possible, due to parent or application programmer constraints, the Button Box will resize its children as necessary to fit within the available space. Highkey it's doing the most so everything fits. π«Ά
Note: in what follows, major direction refers to the direction of orientation, and minor direction refers to the perpendicular direction. iykyk π§
π Classes π
Button Box inherits behavior, resources, and traits from Core, Composite, Constraint, and XmManager. iykyk π
The class pointer is xmButtonBoxWidgetClass.
The class name is XmButtonBox.
π¦ 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).
XmNequalSizeβ Name:XmNequalSizeΒ· Class:XmCEqualSizeΒ· Type:BooleanΒ· Default:FalseΒ· Access:CSGXmNfillOptionβ Name:XmNfillOptionΒ· Class:XmCFillOptionΒ· Type:unsigned charΒ· Default:XmFillNoneΒ· Access:CSGXmNmarginHeightβ Name:XmNmarginHeightΒ· Class:XmCMarginΒ· Type:VerticalDimensionΒ· Default:0Β· Access:CSGXmNmarginWidthβ Name:XmNmarginWidthΒ· Class:XmCMarginΒ· Type:HorizontalDimensionΒ· Default:0Β· Access:CSGXmNorientationβ Name:XmNorientationΒ· Class:XmCOrientationΒ· Type:unsigned charΒ· Default:XmHORIZONTALΒ· Access:CSGXmNdefaultButtonβ Name:XmNdefaultButtonΒ· Class:XmCWidgetΒ· Type:WidgetΒ· Default:NULLΒ· Access:SG
π XmNequalSize π
Specifies whether the children are to be maintained with equal sized heights and widths. The chosen height and width for the children is found by asking each child for its preferred size and taking the largest value in each direction. So demure, so mindful. β¨
π XmNfillOption π
Specifies how to use any extra space left over once all children have been sized according to either their preference or equalSize. There are four options:
XmFillNoneβ No automatic filling is performed. Center the children in the minor direction and place the children with equal padding between them in the major direction.XmFillMinorβ Place the children with equal padding between them in the major direction, but force all the children to take on the Button Box minor dimension as their minor direction.XmFillMajorβ Center the children in the minor direction, but expand all the children in their major direction so that there is no padding between them. Expand the children such that their relative sizes remain constant.XmFillAllβ This option combines the placement actions and sizing actions ofXmFillMinorandXmFillMajor.
Regardless of the fill mode, the ButtonBox widget will always leave the specified margin between its edge and the nearest child. A new String to fillOption resource converter has been registered to convert the following strings to fill options: "none", "major", "minor", "all." This resource can therefore be set in an application defaults file. Obsessed. π
π XmNmarginHeight and XmNmarginWidth π
Specifies the number of pixels to use as a margin around the entire group of children. The marginHeight value applies to both the top and bottom margins, while the marginWidth applies to the left and right margins. Personal space matters, fr fr. π
π XmNorientation π
Specifies whether children are to be placed in a row or a column. The orientation may be either XmHORIZONTAL or XmVERTICAL. If the orientation is XmHORIZONTAL, the children are placed in a row with the major dimension being width and the minor dimension being height. If the value is XmVERTICAL, the children are placed in a column with the major dimension being height and the minor dimension being width. The default value is XmHORIZONTAL. Main character energy, honestly. π
π Inherited Resources π
Button Box inherits behavior and resources from the superclasses described in the following tables. For a complete description of each resource, refer to the reference page for that superclass.
πΈ XmManager Resource Set πΈ
Every XmButtonBox inherits this whole stack from XmManager, bestie. Name, class, type, default, access β all of it, right here, no skips. π
XmNbottomShadowColorβ classXmCBottomShadowColor, typePixel, defaultdynamic, accessCSGXmNbottomShadowPixmapβ classXmCBottomShadowPixmap, typePixmap, defaultXmUNSPECIFIED_PIXMAP, accessCSGXmNforegroundβ classXmCForeground, typePixel, defaultdynamic, accessCSGXmNhelpCallbackβ classXmCCallback, typeXtCallbackList, defaultNULL, accessCXmNhighlightColorβ classXmCHighlightColor, typePixel, defaultdynamic, accessCSGXmNhighlightPixmapβ classXmCHighlightPixmap, typePixmap, defaultdynamic, accessCSGXmNinitialFocusβ classXmCInitialFocus, typeWidget, defaultdynamic, accessCSGXmNlayoutDirectionβ classXmCLayoutDirection, typeXmDirection, defaultdynamic, accessCGXmNnavigationTypeβ classXmCNavigationType, typeXmNavigationType, defaultXmTAB_GROUP, accessCSGXmNpopupHandlerCallbackβ classXmCCallback, typeXtCallbackList, defaultNULL, accessCXmNshadowThicknessβ classXmCShadowThickness, typeDimension, defaultdynamic, accessCSGXmNstringDirectionβ classXmCStringDirection, typeXmStringDirection, defaultdynamic, accessCGXmNtopShadowColorβ classXmCTopShadowColor, typePixel, defaultdynamic, accessCSGXmNtopShadowPixmapβ classXmCTopShadowPixmap, typePixmap, defaultdynamic, accessCSGXmNtraversalOnβ classXmCTraversalOn, typeBoolean, defaultTrue, accessCSGXmNunitTypeβ classXmCUnitType, typeunsigned char, defaultdynamic, accessCSGXmNuserDataβ classXmCUserData, typeXtPointer, defaultNULL, accessCSG
π¦ Composite Resource Set π¦
And because XmButtonBox is also a Composite widget, you get this little trio on top of everything else. Three (3) resources, no more, no less, and yes the third one is genuinely just a count. π
XmNchildrenβ classXmCReadOnly, typeWidgetList, defaultNULL, accessGXmNinsertPositionβ classXmCInsertPosition, typeXtOrderProc, defaultNULL, accessCSGXmNnumChildrenβ classXmCReadOnly, typeCardinal, default0, accessG
Ngl, those access codes are doing a lot of heavy lifting and the page just hands them to you raw βCSG,CG,C,G. It's giving "iykyk" energy. Take them exactly as written, bestie, don't go improvising. π
β¨ Core Resource Set β¨
okay bestie, here's every single knob, dial, and vibe setting on this thing. no skipping, no summarizing β all of them, periodt. π
XmNacceleratorsβ class:XmCAcceleratorsΒ· type:XtAcceleratorsΒ· default:dynamicΒ· access:N/AXmNancestorSensitiveβ class:XmCSensitiveΒ· type:BooleanΒ· default:dynamicΒ· access:GXmNbackgroundβ class:XmCBackgroundΒ· type:PixelΒ· default:dynamicΒ· access:CSGXmNbackgroundPixmapβ class:XmCPixmapΒ· type:PixmapΒ· default:XmUNSPECIFIED_PIXMAPΒ· access:CSGXmNborderColorβ class:XmCBorderColorΒ· type:PixelΒ· default:XtDefaultForegroundΒ· access:CSGXmNborderPixmapβ class:XmCPixmapΒ· type:PixmapΒ· default:XmUNSPECIFIED_PIXMAPΒ· access:CSGXmNborderWidthβ class:XmCBorderWidthΒ· type:DimensionΒ· default:0Β· access:CSGXmNcolormapβ class:XmCColormapΒ· type:ColormapΒ· default:dynamicΒ· access:CGXmNdepthβ class:XmCDepthΒ· type:intΒ· default:dynamicΒ· access:CGXmNdestroyCallbackβ class:XmCCallbackΒ· type:XtCallbackListΒ· default:NULLΒ· access:CXmNheightβ class:XmCHeightΒ· type:DimensionΒ· default:dynamicΒ· access:CSGXmNinitialResourcesPersistentβ class:XmCInitialResourcesPersistentΒ· type:BooleanΒ· default:TrueΒ· access:CXmNmappedWhenManagedβ class:XmCMappedWhenManagedΒ· type:BooleanΒ· default:TrueΒ· access:CSGXmNscreenβ class:XmCScreenΒ· type:Screen *Β· default:dynamicΒ· access:CGXmNsensitiveβ class:XmCSensitiveΒ· type:BooleanΒ· default:TrueΒ· access:CSGXmNtranslationsβ class:XmCTranslationsΒ· type:XtTranslationsΒ· default:dynamicΒ· access:CSGXmNwidthβ class:XmCWidthΒ· type:DimensionΒ· default:dynamicΒ· access:CSGXmNxβ class:XmCPositionΒ· type:PositionΒ· default:0Β· access:CSGXmNyβ class:XmCPositionΒ· type:PositionΒ· default:0Β· access:CSG
Translations π
XmButtonBox inherits translations from XmManager. that's the whole tea, bestie. β¨
RELATED π«Ά
Composite(3)Constraint(3)Core(3)XmCreateButtonBox(3)XmManager(3)XmVaCreateButtonBox(3)XmVaCreateManagedButtonBox(3)
COPYRIGHT πΈ
Copyright (c) 1992 by Integrated Computer Solutions, Inc.
XmButtonBox(3X) β that's the source/version, and the date is whatever your local manpage footer says, bestie. mwah. πβ¨
π¦ 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