use wl_container_of() instead of data in some functions
inline input_device in virtualkeyboard()
fix idle inhibitor check
previously we tried to get a client from the surface and then compare it with
the excluded surface, if we cannot get a client from the surface (e.g: a layer
surface) it just ignored all the next idle inhibitors no matter what
What I have should done is just checking if the excluded surface is equal to
the current idle inhibitor's surface and continue in case it is.
resize the fullscreen background when resize the client
define _POSIX_C_SOURCE through CPPFLAGS
like dwm
fix condition that always evaluate to false in commitlayersurfacenotify()
set `c->prev` in setmon() and not in mapnotify()
only enable/disable clients from the specified monitor in arrange()
also fix a crash when m is null, this can only happen when selmon is NULL
set c->prev in mapnotify()
Closes: #300
don't arrange layers on disabled monitors
call setfullscreen() in setmon()
this will help when sending to another monitor a fullscreen client
and also will prevent a crash when a client request fullscreen when it has no monitor
prevent segfault when destroying monitors
also don't count unmapped surfaces for exclusive zone
and exclusive_focus is now of type `void *`
various improvements to layer surface
- remove various useless assignments of layersurface->mon
- styles changes
- do not set wlr_layer_surface->output to NULL at destroy
conform the idle inhibitor protocol
previously we disable idle tracking simply due to the fact that it exist
new function to notify keyboard enter