The user may change the client’s signals priority setting while it is stopped, which would not restart it.
We may as well also always change the actual priority.
This is a per-client setting: activating it in the menu will have the process being SIGSTOPped/SIGCONTed instead of having its priority changed on focus change.
We kept an extra reference for wayland clients and dropped it on their final
render to stop crashes. However, if they're not on screen at the time of
their deletion this reference still needed to be dropped.
Fixes clients remaining on the deskmirror after dying on another desktop.
so getting top object was broken. it didnt account for repeat event
objects that would be included. so get the full l,ist and walk them
top to bottom for the first one thats a client. THAT is the correct
thing to do. this would affect both x11 and wayland.
@fix
in the case where there is no smart parent, this fixes the object tree
and resolves some stacking issues. if there is a parent or a parent is added
later, nothing is changed
fixes eg. screenshot preview visibility in wayland
Quite a hack overall, but if you don't need those parameter, just put
nothing and it will work.
@fix T4112
Signed-off-by: Cedric Bail <cedric@osg.samsung.com>
Moves and resizes tripped up the new xdg focus logic, so test if the
focus is leaving the client entirely before trying to determine if it's
leaving into a parent surface.
this commit introduces the setting of the index. Setting the index here
means that the layout with the id 0..n, out of the compiled keymap file
will be used. After a new index is set the modifiers are updated, that
the client are aware of the new resulting group.
If the api is called before the compositor is inited (this can happen
in e_xkb, so the drm can use the keymap at startup) then the index is
saved in between and will be flushed once the compositor does the init.
There are actually toolkits that create surfaces, do nothing with them,
and destroy them. Sending keyboard leave events for this causes problems.
Fixes a bug in handling of some GTK popups.
Mirrors can be rendered independently of what they're mirroring,
which (at least under wayland) can result in a situation where the
mirror is rendered before the parent sets up their image pointers
properly.
We give mirrors their own callback to prevent that from causing a
crash.
Wayland pixmap ids are a different data type for internal and
external windows. cast them both to 64-bits so they're the same
size regardless of arch.
ref d3ba524a62
in a choice between fixing a corner case popup behavior and breaking dnd
or having functional dnd and adding hacks to fix corner case popup behavior,
adding more hacks was the obvious correct solution
ref 03a4ecbdb0