don't resize clients on commit
It creates an infinite commit-resize loop when scale != 1
Remove now-unneeded call to motionnotify
This appears to have been here for the side effect of updating the drag
icon's position.
Remove unused icon variable
Make drag_icon a persistent scene node
If there is no current drag icon, this node will be empty, but we now
have `drag_icon != NULL` as an invariant. This allows us to eliminate a
conditional, since there's no harm in moving an empty node's coordinates
around with the pointer.
ΔSLOC: -1
properly destroy scene
ΔSLOC: +1
Unify signal handling under wl_event_loop
Merge our signal handlers into a single function and let Wayland deal
with all the struct sigaction stuff.
ΔSLOC: -3
Separate drag icon from layers array and Lyr enum
If we treat the drag icon as distinct from other layers (it doesn't have
contents that are interactive, focusable, etc.), then we can iterate
over layers meaningfully with a simple for loop.
ΔSLOC: -8
Don't bother with ignoring SIGCHLD
It added complexity, especially with the differences in behavior between
handled and ignored signals across an exec().
Reset ignored signal handler in spawn() as well
fix startup_cmd SIGCHLD handler
Ignored handlers are not reset by exec() calls
activate lock surface in updatemons
Fixes an issue when swaylock does not receive input after turn off and then
turn on the outputs
Prevent using a wlr_layer_surface after destroying it, due to no available outputs
correctly check if a scene node is enabled
checking only wlr_scene_node.enabled may result in a false positive because it
does not consider if its ancestors are enabled as well.
remove unneeded check of `m` in arrange()
arrange must never be called with a NULL argument