XGetVisualInfo(3)
πΈ NAME πΈ
okay so this is XGetVisualInfo(3) from the XLIB FUNCTIONS girlies, and she's here to help you obtain visual information and visual structure. bestie, we're talking XGetVisualInfo, XMatchVisualInfo, XVisualIDFromVisual, and the whole XVisualInfo struct. slay. π
β¨ SYNTAX β¨
XVisualInfo *XGetVisualInfo(Display *display, long vinfo_mask,
XVisualInfo *vinfo_template, int *nitems_return);
Status XMatchVisualInfo(Display *display, int screen, int depth, int
class, XVisualInfo *vinfo_return);
VisualID XVisualIDFromVisual(Visual *visual);
π ARGUMENTS π
classβ specifies the class of the screen. very "what kind of screen is this" energy. π¦depthβ specifies the depth of the screen. yes ma'am, depth matters. πdisplayβ specifies the connection to the X server. this is your lil server link-up. πnitems_returnβ returns the number of matching visual structures. it's giving "count the matches, bestie." π’screenβ specifies the screen. main character screen behavior. π₯οΈvisualβ specifies the visual type. the visual in question, periodt. πvinfo_maskβ specifies the visual mask value. this is the filter vibe. π―vinfo_returnβ returns the matched visual information. here's the tea you asked for. βvinfo_templateβ specifies the visual attributes that are to be used in matching the visual structures. it's the matchy-matchy blueprint. π§©
π DESCRIPTION π
The XGetVisualInfo function returns a list of visual structures that have attributes equal to the attributes specified by vinfo_template. If no visual structures match the template using the specified vinfo_mask, XGetVisualInfo returns a NULL. To free the data returned by this function, use XFree. no cap, don't forget the cleanup. π§Ό
The XMatchVisualInfo function returns the visual information for a visual that matches the specified depth and class for a screen. Because multiple visuals that match the specified depth and class can exist, the exact visual chosen is undefined.
β οΈ okay bestie, "undefined" is the key word here β the exact visual chosen is undefined, so don't act brand new and assume you know which one you're getting. π
If a visual is found, XMatchVisualInfo returns nonzero and the information on the visual to vinfo_return. Otherwise, when a visual is not found, XMatchVisualInfo returns zero. slay, that's the whole status report. π«
The XVisualIDFromVisual function returns the visual ID for the specified visual type. iconic little ID lookup behavior. π
π¦ STRUCTURES π¦
The XVisualInfo structure contains:
/* Visual information mask bits */
#define VisualNoMask 0x0
#define VisualIDMask 0x1
#define VisualScreenMask 0x2
#define VisualDepthMask 0x4
#define VisualClassMask 0x8
#define VisualRedMaskMask 0x10
#define VisualGreenMaskMask 0x20
#define VisualBlueMaskMask 0x40
#define VisualColormapSizeMask 0x80
#define VisualBitsPerRGBMask 0x100
#define VisualAllMask 0x1FF
/* Values */
typedef struct {
Visual *visual;
VisualID visualid;
int screen;
int depth;
int class;
unsigned long red_mask;
unsigned long green_mask;
unsigned long blue_mask;
int colormap_size;
int bits_per_rgb;
} XVisualInfo;
π SEE ALSO π
XFree(3)Xlib - C Language X Interface
mwah π β footer sign-off vibes: X Version 11, libX11 1.8.14, XGetVisualInfo(3). that's the whole source/version moment, bestie. π«Άβ¨
π¦ 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
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms