XkbFreeGeometry(3)

πŸ’… XkbFreeGeometry(3) β€” XKB FUNCTIONS πŸ’…

okay bestie, welcome to the XKB FUNCTIONS manual page for XkbFreeGeometry(3) β€” the one about freeing an entire geometry. it’s giving cleanup era, and yes, we’re gonna get into every detail. slay. ✨


🌸 NAME 🌸

XkbFreeGeometry β€” free an entire geometry

✨ SYNOPSIS ✨

void XkbFreeGeometry (XkbGeometryPtr geom, unsigned int which, Bool
       free_all);

πŸŽ€ ARGUMENTS πŸŽ€

  • geom β€” geometry to be freed. bye-bye, geometry 🫢
  • which β€” mask of geometry components to be freed. it’s giving β€œpick your fave subcomponents” πŸ’…
  • free_all β€” True => the entire geometry is freed. the whole thing, no crumbs πŸ‘‘

πŸ¦‹ DESCRIPTION πŸ¦‹

Xkb provides a number of functions to allocate and free subcomponents of a keyboard geometry. Use these functions to create or modify keyboard geometries.

Big important note, bestie: these functions merely allocate space for the new element(s), and it is up to you to fill in the values explicitly in your code. These allocation functions increase sz_* but never touch num_* (unless there is an allocation failure, in which case they reset both sz_* and num_* to zero). These functions return Success if they succeed, BadAlloc if they are not able to allocate space, or BadValue if a parameter is not as expected.

The values of which and free_all determine how much of the specified geometry is freed. The valid values for which are:

#define   XkbGeomPropertiesMask      (1<<0)
#define   XkbGeomColorsMask          (1<<1)
#define   XkbGeomShapesMask          (1<<2)
#define   XkbGeomSectionsMask        (1<<3)
#define   XkbGeomDoodadsMask         (1<<4)
#define   XkbGeomKeyAliasesMask      (1<<5)
#define   XkbGeomAllMask             (0x3f)

If free_all is True, the entire geometry is freed regardless of the value of which. Otherwise, the portions of the geometry specified by which are freed. periodt. πŸ’–

πŸ’€ DIAGNOSTICS πŸ’€

  • BadAlloc β€” Unable to allocate storage
  • BadValue β€” An argument is out of range

xoxo, bestie πŸ’‹ β€” footer tea: X Version 11, libX11 1.8.14, and XkbFreeGeometry(3). no date in the footer, so we’re not making one up ✨

πŸ“¦ where this page comes from