a xdg_toplevel can only have one xdg_toplevel_decoration so there is no need to have a new struct for decorations
KTZQPN4Y5YMJV72M54WVFCA6ZL6MIEMARZRIJBWQV5FY3A6S7OGAC
OZ6EU4ESUN5IPI6LR6W3AFJYSENWH63M33AZCLX7CAHD3EERD7RAC
PJHDUTG622NXK3JNTSDWH22FMIPNF4CEHINWBJBCUA7REWA5WMMAC
Z3JG5NTQH7H3V53KPUZBZ4K5WQA3CXNIN5AHPXRTMGP4UVVKDXKQC
OKQDKOVUGULJA6E4XL4VMUHPT4IOFYBFBJAU7QXNNPP6PJ4DYLVAC
PLJJLNS7E2UXW2YARGBSV6IHZEBGL5EW354IMMHPDATY5DQD77DAC
7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC
SP45PRAMJKF52GEK4TQU6PQQ3AY3KRXCUDGQNUN65UOBA4R6VL6QC
XF2LUZ7CQT44LC4F2L3UAY5TSMWQTKA5XBMMQPKRGSWE6MGCEYIAC
EMEGEGSGKVPZCIPCOYJ47YRTVZG4HPEQBANVEV77663UMCI5V36QC
MIZBQX6SKECIVNNGBF3LCR3IHXQVWQ5BJURMRSBNEVEUWFBH3MTQC
J6OSBEBQXZR5JZ5TOCCUPELBPUVEQULGCXURXLPY7WFYTDEQOU2AC
D425ND7AT3F7QJ3CCSESMVDOC3J5C5P32M5SJDBHECZJXLHNQ2FAC
6OWRW24NFJB3AYE4GRX346CXWOTA3O5XRNCF6KIG4JRR5BEKA26QC
JTZBFGPCDJDJWECXH2LLXY3SUAQNCP45HLJQKG3V7XGTPLD634WAC
6US7XFRJWUNIUZHKTODZDU3DX6WO5K3J2G3ECIQYSVBDII3DXGWAC
DGJFEKNKYTSZNU4VGJXLHBOQGRGKYQVDN6IHN25DPKPDEGYQBBAQC
FXT4YHEK6Q56BYLNUJJJZC5ZG6AJ2KNXROZIJNXSTOWIRH3A6XDQC
MJZ6RCUUOK7R2RMXPXMLRWBAEM6234D2IS7RGPHAE5UN2S64GLGAC
YCC55JJHQR3BEO3ZTP6NVDKTFU4NNNJP2SW755QMMUAIEBMXXIRAC
EQRGODLKSVSPFSUZU7BV5ER72U4QS4ATSBKV544XXQVKKTOSC7EAC
HQ7H76DZBXQOQEYAB7WD76B5R6KSY65ANHC5XTLDDMPJ7KPYCOAAC
LISTEN(&wlr_deco->events.request_mode, &d->request_mode, getxdecomode);
LISTEN(&wlr_deco->events.destroy, &d->destroy, destroyxdeco);
LISTEN(&deco->events.request_mode, &c->set_decoration_mode, requestdecorationmode);
LISTEN(&deco->events.destroy, &c->destroy_decoration, destroydecoration);