XMSEPARATOR(3)

πŸ“¦
version 2.5.2 Β· 2 versions
, in alpine 3.24, arch rolling, centos-stream 9, epel 10, fedora 43, fedora 44, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

okay so this is the XmSeparator(library call) manual page, and we're about to make Separator widgets make sense, bestie πŸ’– No cap, she's a whole vibe.

✨ NAME ✨

XmSeparator β€” The Separator widget class. Periodt. πŸ‘‘

🌸 SYNOPSIS 🌸

#include <Xm/Separator.h>

πŸ’– DESCRIPTION πŸ’–

So Separator is a primitive widget that separates items in a display. It's giving divider energy ✨. You get several different line drawing styles, plus horizontal or vertical orientation. Choose your fighter πŸ’….

The Separator line drawing is automatically centered within the height of the widget for a horizontal orientation, and centered within the width of the widget for a vertical orientation. The way that works? An XtSetValues with a new XmNseparatorType resizes the widget to its minimal height (for horizontal orientation) or its minimal width (for vertical orientation) unless height or width is explicitly set in the XtSetValues call. Lowkey important, highkey useful 🫢.

Separator does not draw shadows around the separator. The Primitive resource XmNshadowThickness is used for the Separator's thickness when XmNseparatorType is XmSHADOW_ETCHED_IN, XmSHADOW_ETCHED_IN_DASH, XmSHADOW_ETCHED_OUT, or XmSHADOW_ETCHED_OUT_DASH. Not me keeping track of every etch variant 😭.

Separator does not highlight and allows no traversing. The primitive resource XmNtraversalOn is forced to False. So don't try to tab into her, she's not about that life πŸ™ˆ.

The XmNseparatorType of XmNO_LINE provides an escape to the application programmer who needs a different style of drawing. A pixmap the height of the widget can be created and used as the background pixmap by building an argument list using the XmNbackgroundPixmap argument type as defined by Core. Whenever the widget is redrawn, its background is displayed containing the desired separator drawing. Separator holds the XmQTmenuSavvy trait. Iconic behavior, fr fr πŸ’–.

πŸ¦‹ Classes πŸ¦‹

Separator inherits behavior, resources, and traits from Core and XmPrimitive. It's giving nepo baby but make it widget hierarchy πŸ‘‘.

The class pointer is xmSeparatorWidgetClass.

The class name is XmSeparator.

✨ 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). Got it? Slay πŸ’….

πŸŽ€ XmSeparator Resource Set πŸŽ€

  • XmNmargin
    • Class: XmCMargin
    • Type: Dimension
    • Default: 0
    • Access: CSG
  • XmNorientation
    • Class: XmCOrientation
    • Type: unsigned char
    • Default: XmHORIZONTAL
    • Access: CSG
  • XmNseparatorType
    • Class: XmCSeparatorType
    • Type: unsigned char
    • Default: XmSHADOW_ETCHED_IN
    • Access: CSG

πŸ’… Resource Deets πŸ’…

  • XmNmargin β€” For horizontal orientation, specifies the space on the left and right sides between the border of the Separator and the line drawn. For vertical orientation, specifies the space on the top and bottom between the border of the Separator and the line drawn. Basically she needs her personal space, periodt 🫢.
  • XmNorientation β€” Displays Separator vertically or horizontally. This resource can have values of XmVERTICAL and XmHORIZONTAL. Pick your axis, bestie 🌈.
  • XmNseparatorType β€” Specifies the type of line drawing to be done in the Separator widget. The options are:
    • XmSINGLE_LINE β€” Single line.
    • XmDOUBLE_LINE β€” Double line.
    • XmSINGLE_DASHED_LINE β€” Single-dashed line.
    • XmDOUBLE_DASHED_LINE β€” Double-dashed line.
    • XmNO_LINE β€” No line.
    • XmSHADOW_ETCHED_IN β€” A line whose shadows give the effect of a line etched into the window. The thickness of the line is equal to the value of XmNshadowThickness. For horizontal orientation, the top shadow is drawn in XmNtopShadowColor and the bottom shadow is drawn in XmNbottomShadowColor. For vertical orientation, the left edge is drawn in XmNtopShadowColor and the right edge is drawn in XmNbottomShadowColor.
    • XmSHADOW_ETCHED_OUT β€” A line whose shadows give the effect of an etched line coming out of the window. The thickness of the line is equal to the value of XmNshadowThickness. For horizontal orientation, the top shadow is drawn in XmNbottomShadowColor and the bottom shadow is drawn in XmNtopShadowColor. For vertical orientation, the left edge is drawn in XmNbottomShadowColor and the right edge is drawn in XmNtopShadowColor.
    • XmSHADOW_ETCHED_IN_DASH β€” Identical to XmSHADOW_ETCHED_IN except a series of lines creates a dashed line.
    • XmSHADOW_ETCHED_OUT_DASH β€” Identical to XmSHADOW_ETCHED_OUT except a series of lines creates a dashed line.

🧚 Inherited Resources 🧚

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

πŸŽ€ XmPrimitive Resource Set πŸŽ€

Bestie, this is the full roster β€” every single resource that lives on XmPrimitive, with its Name, Class, Type, Default and Access. Nothing skipped, not one row, we're doing all eighteen and we're doing them right. ✨

The five columns, so you can read along: Name (what you actually type), Class (the fancier name it inherits under), Type (what kind of value it eats), Default (what you get if you say nothing), Access (the lil code telling you what you're allowed to do with it). 🫢


  • XmNbottomShadowColor β€” class XmCBottomShadowColor, type Pixel, default dynamic, access CSG. Your bottom shadow's color moment. πŸ’…
  • XmNbottomShadowPixmap β€” class XmCBottomShadowPixmap, type Pixmap, default XmUNSPECIFIED_PIXMAP, access CSG. The pixmap version, and yeah, the default is literally unspecified. She contains multitudes. πŸ™ˆ
  • XmNconvertCallback β€” class XmCCallback, type XtCallbackList, default NULL, access C. A whole callback list, defaulting to nothing at all.
  • XmNforeground β€” class XmCForeground, type Pixel, default dynamic, access CSG. The foreground, obviously. Main character pixel energy. πŸ‘‘
  • XmNhelpCallback β€” class XmCCallback, type XtCallbackList, default NULL, access C. Help callback, sitting there as NULL until you give it a purpose.
  • XmNhighlightColor β€” class XmCHighlightColor, type Pixel, default dynamic, access CSG. The highlight color. Glow-up pending.
  • XmNhighlightOnEnter β€” class XmCHighlightOnEnter, type Boolean, default False, access CSG. A boolean, and it starts out as False, so don't come for her. 😭
  • XmNhighlightPixmap β€” class XmCHighlightPixmap, type Pixmap, default dynamic, access CSG. Highlight, but make it a pixmap.
  • XmNhighlightThickness β€” class XmCHighlightThickness, type Dimension, default 0, access CSG. Zero thickness by default β€” she's got no body, only vibes. πŸ’€
  • XmNlayoutDirection β€” class XmCLayoutDirection, type XmDirection, default dynamic, access CG. Notice the access is CG, not CSG β€” read it again, bestie, it's CG. πŸ¦‹
  • XmNnavigationType β€” class XmCNavigationType, type XmNavigationType, default XmNONE, access CSG. Defaults to XmNONE, so she's not navigating anywhere yet. 🧚
  • XmNpopupHandlerCallback β€” class XmCCallback, type XtCallbackList, default NULL, access C. Popup handler callback, NULL until summoned. πŸ”₯
  • XmNshadowThickness β€” class XmCShadowThickness, type Dimension, default 2, access CSG. Two whole units of shadow. Iconic, honestly. ✨
  • XmNtopShadowColor β€” class XmCTopShadowColor, type Pixel, default dynamic, access CSG. Top shadow color β€” the bottom one's better half. πŸ’–
  • XmNtopShadowPixmap β€” class XmCTopShadowPixmap, type Pixmap, default dynamic, access CSG. Top shadow, pixmap edition.
  • XmNtraversalOn β€” class XmCTraversalOn, type Boolean, default False, access G. Starts False, and the access here is just G β€” that's it, one letter, no cap. 🌸
  • XmNunitType β€” class XmCUnitType, type unsigned char, default dynamic, access CSG. Yep, the type is unsigned char. Weird but true, periodt.
  • XmNuserData β€” class XmCUserData, type XtPointer, default NULL, access CSG. Your lil pocket for whatever you want, NULL until you fill it. πŸ“

That's the entire set, every row accounted for, no crumbs left behind. 🌈

πŸ’– Core Resource Set πŸ’–

okay bestie, here's the whole glow-up menu of resources this widget inherits from Core β€” every single one, no skips, we don't gatekeep. Each bullet is like: name, class, type, default, access. Slay.

  • XmNaccelerators β€” class XmCAccelerators, type XtAccelerators, default dynamic, access CSG ✨
  • XmNancestorSensitive β€” class XmCSensitive, type Boolean, default dynamic, access G πŸ’…
  • XmNbackground β€” class XmCBackground, type Pixel, default dynamic, access CSG πŸŽ€
  • XmNbackgroundPixmap β€” class XmCPixmap, type Pixmap, default XmUNSPECIFIED_PIXMAP, access CSG πŸ¦‹
  • XmNborderColor β€” class XmCBorderColor, type Pixel, default XtDefaultForeground, access CSG 🌸
  • XmNborderPixmap β€” class XmCPixmap, type Pixmap, default XmUNSPECIFIED_PIXMAP, access CSG 🌈
  • XmNborderWidth β€” class XmCBorderWidth, type Dimension, default 0, access CSG ⭐
  • XmNcolormap β€” class XmCColormap, type Colormap, default dynamic, access CG πŸ’œ
  • XmNdepth β€” class XmCDepth, type int, default dynamic, access CG πŸ”₯
  • XmNdestroyCallback β€” class XmCCallback, type XtCallbackList, default NULL, access C 😭
  • XmNheight β€” class XmCHeight, type Dimension, default dynamic, access CSG πŸ‘‘
  • XmNinitialResourcesPersistent β€” class XmCInitialResourcesPersistent, type Boolean, default True, access C 🫢
  • XmNmappedWhenManaged β€” class XmCMappedWhenManaged, type Boolean, default True, access CSG ✨
  • XmNscreen β€” class XmCScreen, type Screen *, default dynamic, access CG 🌸
  • XmNsensitive β€” class XmCSensitive, type Boolean, default True, access CSG πŸ’…
  • XmNtranslations β€” class XmCTranslations, type XtTranslations, default dynamic, access CSG πŸ¦‹
  • XmNwidth β€” class XmCWidth, type Dimension, default dynamic, access CSG πŸŽ€
  • XmNx β€” class XmCPosition, type Position, default 0, access CSG ⭐
  • XmNy β€” class XmCPosition, type Position, default 0, access CSG 🌈

🧚 Translations 🧚

not to be dramatic but… there are literally no translations for XmSeparator. that's it. that's the tea. πŸ’€


the besties this page is linked to, go read them too fr fr:


and that's the whole page, you made it to the end 🫢 this is XmSeparator(library call), and yes the footer is giving "source + version + date" energy, so like… remember it's the library-call version of this page. iconic. periodt. πŸ’–βœ¨