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