consistent naming for coordinate variables
x and y are reserved (inasmuch as it's dwl's choice) for coordinates
relative to the layout. ox and oy are used for output-relative
coordinates. sx and sy are surface-relative. dx and dy are deltas.
figuring this out the first time was kind of a Thing... just don't pay
attention to what happens in render and you should be fine.
inline xytosurface in xytoclient
It was a simpler function than it looked
split out setup() and run()
cherry-pick 25d0d1b from upstream
inline handlemove/handleresize
render_data only needs coordinates, not Client
give types some more dwm-like typedef names
use expressions in sizeof instead of type names
no longer need resize_edges (always bottom right)
Also gets rid of the clunky move+resize code
ditch the moverequest/resizerequest xdg stuff
dear window, you are not the window manager
No need for struct dwl_server
the only use was to hold global state, which is now actually global
make server a global
dwm isn't afraid of global variables
functions: dwm style and more dwm-like names
treat startup command as long-running
Not quite a perfect mirror of xinit, where the startup command execs the
window manager, and the termination of that process brings down the
windowing system, but it might be the Wayland analogue.