xcb_create_cursor(3)

πŸ“¦
version 1.17.0 Β· 4 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, centos-stream 10, debian trixie, fedora 43, fedora 44, nixpkgs unstable, opensuse-leap 16.0, ubuntu questing, ubuntu resolute, ubuntu stonking

✨ xcb_create_cursor ✨

okay bestie, welcome to the xcb_create_cursor(3) page β€” yes it's in section 3, and yes it's one of the XCB Requests pages, and yes we're gonna get through this together 🫢


🌸 NAME 🌸

xcb_create_cursor -

bestie. the description is literally blank. the manpage authors left it as just a dash. no notes, no lore, nothing. iconic of them honestly πŸ’€

πŸŽ€ SYNOPSIS πŸŽ€

first things first, you gotta pull in the header:

#include <xcb/xproto.h>

Request function

and here's the whole thing, character for character, do not touch a single one of these:

xcb_void_cookie_t xcb_create_cursor(xcb_connection_t *conn,
       xcb_cursor_t cid, xcb_pixmap_t source, xcb_pixmap_t mask,
       uint16_t fore_red, uint16_t fore_green, uint16_t fore_blue,
       uint16_t back_red, uint16_t back_green, uint16_t back_blue,
       uint16_t x, uint16_t y);

that's twelve arguments plus the connection. she's got a lot going on and we respect her for it πŸ’…


πŸ’– REQUEST ARGUMENTS πŸ’–

okay so here's the thing, and I need you to sit down for this one: every single one of these is marked TODO: NOT YET DOCUMENTED. in the original. like, all of them. so I'm gonna give you the names, the exact types, and the honest truth, which is that nobody wrote the docs yet. no cap.

  • conn β€” The XCB connection to X11. (this one is actually documented! the rest of them, bestie… 😭)
  • cid β€” TODO: NOT YET DOCUMENTED.
  • source β€” TODO: NOT YET DOCUMENTED.
  • mask β€” TODO: NOT YET DOCUMENTED.
  • fore_red β€” TODO: NOT YET DOCUMENTED.
  • fore_green β€” TODO: NOT YET DOCUMENTED.
  • fore_blue β€” TODO: NOT YET DOCUMENTED.
  • back_red β€” TODO: NOT YET DOCUMENTED.
  • back_green β€” TODO: NOT YET DOCUMENTED.
  • back_blue β€” TODO: NOT YET DOCUMENTED.
  • x β€” TODO: NOT YET DOCUMENTED.
  • y β€” TODO: NOT YET DOCUMENTED.
lowkey obsessed with the fact that the original page just says TODO: NOT YET DOCUMENTED. twelve times in a row and calls it a day. we keep it real here, so that's exactly what we're passing along. no invented facts on this page, periodt 🌈

πŸ¦‹ DESCRIPTION πŸ¦‹

…yeah. there isn't one. the DESCRIPTION section of this manpage is empty. the vibes are immaculate and the content is absent πŸ™ˆ


⭐ RETURN VALUE ⭐

she returns an xcb_void_cookie_t. and listen, because this part actually matters:

Errors (if any) have to be handled in the event loop. that's the deal. you don't get them handed to you on the spot.

but if you do want to handle errors directly with xcb_request_check instead, then use xcb_create_cursor_checked. two different paths, pick your fighter ✨

for the full breakdown on how this whole cookie situation works, go read xcb-requests(3). it's giving required reading, ngl.


πŸ’€ ERRORS πŸ’€

okay this is genuinely the most chill line in the whole page:

This request does never generate any errors.

no errors. zero. none. not one. she simply does not miss πŸŽ€


🌈 SEE ALSO 🌈

…also empty bestie. nothing here. the void stares back 🫢


πŸ‘‘ AUTHOR πŸ‘‘

Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

(so if you've got beef with the twelve TODOs above, that's the address, go off πŸ’Œ)


X Version 11 Β· libxcb 1.17.0 Β· xcb_create_cursor(3)

and that's the page, bestie! πŸ’– X Version 11, libxcb 1.17.0 β€” that's the source and the version this beauty shipped from. take care of her, she's doing her best even with all those TODOs. mwah πŸŽ€βœ¨πŸ¦‹