Reference: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3436 Based on: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3595
5F7NOLLCOKIZTCHKBJR4ELVFJ7P46B22G2WL2ZSQL2CWZ4BPQNWQC
BBVJTFGO2BY35M4RQNBDESF5BZVEHFHWA72WWRMKP2OSFSMPTPXAC
RJ7S5NA6INT3LYOYNXEBBXJRGVZBRVSN2ZVQACWXOGFNBRUYFB2AC
T6DAHHAHXFVYYMTYUBWWWZ5ZZERFT64JUFENSXO2V3GNXD4WBMUQC
PMRSYJRYQAXZ3OEDD7ANMXTECMT2DNJEC3XQABRNA63SAOUZWA3AC
7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC
D425ND7AT3F7QJ3CCSESMVDOC3J5C5P32M5SJDBHECZJXLHNQ2FAC
S5I7HVUVLNMAV64UX4AW4OWIB7UTQRGQG6TXBR7ZMZXXLCTVGAJAC
F72VJF4KJZEYZEYGAGKCWPMEQGPKS7T5PEEJPJKZO6ZG246TTLAQC
AEOM6GBTSH3NGIN365GS5L2PAUUSXSMDPMYTGJPL7UDMHDWLYXSQC
MG3R3QL75P665IV2TNUENQ5IG3OM3IXT434UWW6RWFLIQYURV32AC
3EDO6OUSMQ77E3GRBT5QDQ556NF4YEU4LMRXT5IU2MQVOG2D3KUAC
OFP57N2VUSOJ2SBKN5HXUDIQ74H2V3RSJYGJ3DKFGTHFX5Y3U5VQC
IH7QAHDQUTGT7KS2IP7SLDHYDEDX4BCQ4KDRYKIGV5Y477X3ZABQC
IM5D7DQINVNZPB6MV4Q5TWZU23YM7QMWNCCZNTF4SBBEESV3S2PAC
DZARK42IRA3GGM2HTCVSMT3IXJATCQCKXPWJKS6CZ23FWRH34YDAC
7UDWES3V56FD5L7VJXSFC6POZ7SXN4Z2JNJQ3XBVN7KBZD6AXTDQC
OYZELWD247C2GT4QAW6YECUCA2GRLG4VI25BMOZKOGNRKERPZ6AQC
QO4HGTGWT2R4CXQONLUGEI36G6UGVDMHNR2IOZ47S3H2YTE5TCOQC
65GPTMYLVOQPVAKNBCN5RHHZEL7USZYSJ4VJQO7LYBCS7BZM7BYAC
UCSTVE5NIAIQ3NJL5YLDFDKDPOCJS6NMAGABSWG67RGCPH47JQEQC
L2QLSXLWYBIPQD2K7D5MGNCCS3AONK2UA7WDQXT5GVMXELM2BCRQC
if (!surface)
wlr_xcursor_manager_set_cursor_image(cursor_mgr, "left_ptr", cursor);
if (!surface && (!cursor_image || strcmp(cursor_image, "left_ptr")))
wlr_xcursor_manager_set_cursor_image(cursor_mgr, (cursor_image = "left_ptr"), cursor);
/* If we're "grabbing" the cursor, don't use the client's image */
/* TODO still need to save the provided surface to restore later */
/* If we're "grabbing" the cursor, don't use the client's image, we will
* restore it after "grabbing" sending a leave event, followed by a enter
* event, which will result in the client requesting set the cursor surface */