we don't have to do this if the surface is the same
WSJCAK3HTXKINVAAWRF32D2F4IHLG7GQW6AWJMYVFLR6VFWL2L2QC 5NXELRTS2KF2SZJRXZBJNNDXZG23OSWVUVCIQSPV7TH7T3XKL4PAC JTZBFGPCDJDJWECXH2LLXY3SUAQNCP45HLJQKG3V7XGTPLD634WAC E7UO6NRGXFDMBU3BSJYRDNOA3Y7VHD7NWPHI5PHCPHQF6ZNOPZLQC 7B74AT3BXYB7PVW4F6SGQNPMHOU5TEV5TZ54CG6VSQI46XSEKWXQC F72VJF4KJZEYZEYGAGKCWPMEQGPKS7T5PEEJPJKZO6ZG246TTLAQC D425ND7AT3F7QJ3CCSESMVDOC3J5C5P32M5SJDBHECZJXLHNQ2FAC EQRGODLKSVSPFSUZU7BV5ER72U4QS4ATSBKV544XXQVKKTOSC7EAC if (cursor_mode == CurPressed && !seat->drag) {if ((type = toplevel_from_wlr_surface(seat->pointer_state.focused_surface, &w, &l)) >= 0) {c = w;surface = seat->pointer_state.focused_surface;sx = cursor->x - (type == LayerShell ? l->geom.x : w->geom.x);sy = cursor->y - (type == LayerShell ? l->geom.y : w->geom.y);}
if (cursor_mode == CurPressed && !seat->drag && surface != held_grab&& toplevel_from_wlr_surface(held_grab, &w, &l) >= 0) {c = w;surface = held_grab;sx = cursor->x - (l ? l->geom.x : w->geom.x);sy = cursor->y - (l ? l->geom.y : w->geom.y);