call arrange() or resize() depending on c->isfloating in commitnotify
remove selclient()
selclient() does not work well when dealing newly mapped
clients (specifically those mapped on invisible tags).
This fixes various bugs related to things not working because selclient() would
return NULL.
References: 94c8bd604870365bc201524b63158623e6f32a8f
fix unset fullscreen for all visible clients when mapping a new one
this also changes our policy about when we unset fullscreen:
dwl will unset fullscreen for clients who share tags (and monitor) with a newly
mapped client, it does not matter if the clients are visible or not
call checkidleinhibitor() in arrange() and not in focusclient()
fix checking idle inhibit state
checking `bypass_surface_visibility` first, could cause that even if the idle
inhibitor is being destroyed it will disable idle tracking
and if we couldn't get its scene tree, then assume that the surface is visible
implement ext-session-lock-v1
return early if couldn't find the popup's parent
fix popups appearing outside the monitor
and a potentially crash
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
remove unneeded call to wlr_scene_rect_set_color()
wlr_scene_rect_create() requires a color as parameter
add option for set button map
fix null deref in sigchld() if Xwayland is disabled