XkbFreeGeomRows(3)
okay bestie, this is XkbFreeGeomRows(3) from the XKB FUNCTIONS manual β the page where we free rows in a section and try to keep our keyboard geometry life together. π
β¨
π NAME π
XkbFreeGeomRows β free rows in a section. That's the name, that's the job, and it's lowkey iconic. π
β¨ SYNOPSIS β¨
void XkbFreeGeomRows (XkbSectionPtr section, int first, int count, Bool free_all);
π ARGUMENTS π
sectionβ the section in which rows should be freed. This is the location of the whole cleanup era. πfirstβ the first row to be freed. Gotta start somewhere, bestie. π₯countβ the number of rows to be freed. Math, but make it slay. π’free_allβ when this isTrue, all rows are freed (True => all rows are freed). It's the "free everyone" button. π―
πΈ DESCRIPTION πΈ
okay so Xkb has a whole bunch of functions for allocating and freeing subcomponents of a keyboard geometry. You use these functions to create or modify keyboard geometries. But here's the important tea: 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. They do not auto-fill the values for you. periodt. π
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. π«Ά
Now for XkbFreeGeomRows itself: if free_all is True, all rows are freed regardless of the value of first and count. Otherwise, the number of rows specified by count are freed, beginning with the row specified by first in the specified section. Selective cleanup or full send, your call. ππ₯
π₯ RETURN VALUES π₯
SuccessβXkbFreeGeomRowsreturnsSuccesswhen there are no allocation or argument errors. Queen behavior, no notes. π
π DIAGNOSTICS π
BadAllocβ Unable to allocate storage. The storage said no, and honestly same. πBadValueβ An argument is out of range. It's giving "not like the other arguments." π
byeee π«Ά this page is signed off with X Version 11, libX11 1.8.14, and the XkbFreeGeomRows(3) footer tag β the original footer line doesn't list a separate date, so that's the source/version/date tea, no cap. ππ
π¦ 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