XdbeGetVisualInfo(3)
π XdbeGetVisualInfo β bestie edition π
okay so this is a page from the X FUNCTIONS manual, and it's all about XdbeGetVisualInfo(3). yes that's the whole title, no notes, she's iconic like that β¨
β¨ NAME β¨
XdbeGetVisualInfo β get dbe Visual Information π
πΈ SYNOPSIS πΈ
#include <X11/extensions/Xdbe.h>
XdbeScreenVisualInfo *XdbeGetVisualInfo(
Display *dpy,
Drawable *screen_specifiers,
int *num_screens)
π DESCRIPTION π
okay bestie, listen. this function is literally just handing you the tea about which visuals support double buffering π«Ά
so num_screens tells her how many elements are chilling in the screen_specifiers list. and each drawable in screen_specifiers? it's designating a screen β like, "hey, I want the supported visuals for this one please" πββοΈ
but here's the plot twist: if num_screens is zero, then you're requesting info for all screens, periodt. and in that case, when the function comes back, num_screens gets set to the number of screens that were found π
if an error happens, this function returns NULL. otherwise? she returns a pointer to a list of XdbeScreenVisualInfo structures of length num_screens π
now the mapping, and this matters:
- the *n*th element in the returned list corresponds to the *n*th drawable in the
screen_specifierslist - UNLESS
num_screenswas passed in with the value zero β in which case the *n*th element in the returned list corresponds to the *n*th screen of the server, starting with screen zero π
the XdbeScreenVisualInfo structure π
she has these fields, and yes we're keeping them exactly:
int count
XdbeVisualInfo *visinfo
countβ specifies the number of items invisinfovisinfoβ specifies a list of visuals, depths, and performance hints for this screen
the XdbeVisualInfo structure π¦
and this one has:
VisualID visual
int depth
int perflevel
visualβ specifies one visual ID that supports double-bufferingdepthβ specifies the depth of the visualperflevelβ a performance hint
now about perflevel, because the way this is worded is very specific and we're respecting it: the only operation defined on a perflevel is comparison to a perflevel of another visual on the same screen. the visual having the higher perflevel is likely to have better double-buffering graphics performance than the visual having the lower perflevel π₯
and you literally cannot deduce anything from these, no cap: - the magnitude of the difference of twoperflevels - aperflevelvalue in isolation - comparingperflevels from different servers
like, don't do it. it's giving undefined vibes and it will not slay π
π ERRORS π
BadDrawableβ one or more values passed inscreen_specifiersis not a valid drawable. (rude, honestly π)
π SEE ALSO π
DBE, XdbeAllocateBackBufferName(), XdbeBeginIdiom(), XdbeDeallocateBackBufferName(), XdbeEndIdiom(), XdbeFreeVisualInfo(), XdbeGetBackBufferAttributes(), XdbeQueryExtension(), XdbeSwapBuffers() π«Ά
okay that's the whole page, mwah π this was X Version 11, libXext 1.3.6, and yeah XdbeGetVisualInfo(3) β go forth and double buffer, bestie, you ate πβ¨π
π¦ where this page comes from
- alpine 3.22: libxext-doc 1.3.6-r2 Β· MIT
- alpine 3.23: libxext-doc 1.3.6-r2 Β· MIT
- centos-stream 10: libXext-devel 1.3.6-3.el10 Β· MIT-open-group AND X11 AND HPND AND HPND-sell-variant AND SMLNJ AND MIT AND ISC AND HPND-doc AND HPND-doc-sell
- fedora 43: libXext-devel 1.3.6-4.fc43 Β· MIT-open-group AND X11 AND HPND AND HPND-sell-variant AND SMLNJ AND MIT AND ISC AND HPND-doc AND HPND-doc-sell
- fedora 43: libXext-devel 1.3.6-4.fc43 Β· MIT-open-group AND X11 AND HPND AND HPND-sell-variant AND SMLNJ AND MIT AND ISC AND HPND-doc AND HPND-doc-sell
- fedora 44: libXext-devel 1.3.6-5.fc44 Β· MIT-open-group AND X11 AND HPND AND HPND-sell-variant AND SMLNJ AND MIT AND ISC AND HPND-doc AND HPND-doc-sell
- fedora 44: libXext-devel 1.3.6-5.fc44 Β· MIT-open-group AND X11 AND HPND AND HPND-sell-variant AND SMLNJ AND MIT AND ISC AND HPND-doc AND HPND-doc-sell
- opensuse-leap 16.0: libXext-devel 1.3.6-160000.3.2 Β· MIT
- opensuse-leap 16.0: libXext-devel 1.3.6-160000.3.2 Β· MIT
- opensuse-leap 16.0: libXext-devel 1.3.6-160000.3.2 Β· MIT
- opensuse-leap 16.0: libXext-devel 1.3.6-160000.3.2 Β· MIT
- Copyright (c) 1995 Hewlett-Packard Company
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms