add selclient() helper
This may get inlined later, but it's nice for now. The focused client
if any should always be both at the top of fstack and visible on selmon.
continue to focus monitor under mouse cursor
focus monitor under mouse cursor initially
grabbed_client was too long a name
set normal and dwm-like defaults in config.def.h
move config.h to config.def.h
inline moveresize
There were only two lines left in common
grabsx/y are only used by move now
calculate resize based just on cursor/window
This eliminates the need for grab_height and grab_width.
add TinyWL and dwm LICENSE files
Credit where credit is due - dwl started with TinyWL and will be
including more bits of dwm code as it grows
Don't change tiling order in focusnext()
Use the focus stack instead to determine which client is focused
add separate list of clients for focus order
Previously, clicking a client to focus it would change where it was in
the tiled layout as well.
layouts: tile and floating
Behavior's still a little wonky but positioning is there.
"root" color was easy to make configurable
fix rendering on scaled monitors
I have no idea why this takes the raw unscaled resolution, and then we
have to multiply by the scale *again* in render(), but that's life.
introduce rules for monitor configuration
(with dwm, this would already have been done by the X server)
no need to manage unmapped clients
is there?
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.