improve type safety of toplevel_from_wlr_surface()
merge toplevel_from_{wlr_layer_surface,popup} into client_from_wlr_surface
now it is a big function called toplevel_from_wlr_surface
Merge branch 'wlroots-next' into main
Merge remote-tracking branch 'upstream/main' into wlroots-next
Merge remote-tracking branch 'upstream/main' into wlroots-next
allow unmanaged clients (like dzen or dmenu) to have keyboard focus
correctly handle cursor motion when button is held (for layer surfaces)
Merge remote-tracking branch 'djpohly/main' into wlroots-next
new function to notify keyboard enter
Merge remote-tracking branch 'djpohly/main' into wlroots-next
set monitor for clients that don't have one in updatemons()
only if selmon is enabled and the clients are mapped
handle client_from_wlr_surface() receiving a subsurface
always set the same monitor and tags for child clients of a client
fixes #272
remove a useless check
if `s->role_data == NULL`, wlr_*_surface_from_wlr_surface() will return NULL
and we are checking it