dear window, you are not the window manager
VCO2F4GKRE2J4RCCVNLY3R2CRRU2HCE3Z36SDKENAPGSA6U4E6ZAC /* cotd */struct wlr_xdg_toplevel *toplevel = xdg_surface->toplevel;view->request_move.notify = moverequest;wl_signal_add(&toplevel->events.request_move, &view->request_move);view->request_resize.notify = resizerequest;wl_signal_add(&toplevel->events.request_resize, &view->request_resize);
moveresize(view, CurMove, 0);}voidmoverequest(struct wl_listener *listener, void *data){/* This event is raised when a client would like to begin an interactive* move, typically because the user clicked on their client-side* decorations. Note that a more sophisticated compositor should check the* provied serial against a list of button press serials sent to this* client, to prevent the client from requesting this whenever they want. */struct dwl_view *view = wl_container_of(listener, view, request_move);
resizerequest(struct wl_listener *listener, void *data){/* This event is raised when a client would like to begin an interactive* resize, typically because the user clicked on their client-side* decorations. Note that a more sophisticated compositor should check the* provied serial against a list of button press serials sent to this* client, to prevent the client from requesting this whenever they want. */struct wlr_xdg_toplevel_resize_event *event = data;struct dwl_view *view = wl_container_of(listener, view, request_resize);moveresize(view, CurResize, event->edges);}void