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 storageBadValueβ 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
- alpine 3.24: libx11-doc 1.8.14-r0 Β· X11
- arch rolling: libx11 1.8.14-1 Β· MIT AND X11
- nixos 26.05: libx11 1.8.14
- nixpkgs unstable: libx11 1.8.14
- Copyright (c) 1999, Oracle and/or its affiliates
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms