Otherwise the double access on destruction could be very messy. The
default for all these operations is the cst memory order which is
certainly good enough though technically not the most optimal.
(Could do acq_rel for all of them).
Super rarely we see bugs when the zposes differ from these values.
For now, let's workaround that and have a define to enable the behaviour so we can fix this in kernel later.
If our input focus is ever a child window, we need to account for its X/Y offset in the check for warping it.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Adds a --composite-debug flag for displaying frame markers on alternating corners of the screen or rotating in a localized square when compositing.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
Helps with launchers like FO:NV and other games where we end up having the visuals disjoint from what we actually want to input to.
Signed-off-by: Joshua Ashton <joshua@froggi.es>
We need to keep the screneshot textures around if they are still
ref'ed when we re-make the swapchain. std::unique_ptr makes this
impossible. Switch to std::shared_ptr, and get rid of the nLockRefs
field.
Otherwise we get this warning:
WARNING: Project specifies a minimum meson_version '>=0.54.0' but uses features which were added in newer versions:
* 0.55.0: {'Wrap files with patch_directory'}
Otherwise if all of the windows in the new situation never redraw
we never update to show the new focus configuration.
This change avoids things like stuck overlays and notification
windows if the underlying game is stuck.
We'll implement some more features on top of input-method, so let's
incubate our own protocol for now. We'll give feedback upstream
once we've experimented a bit with this approach.
The protocol is minimal: it just includes the features needed for
gamescope. It's always easier to add new requests/events than to
change existing ones.
This allows a Wayland client to send arbitrary UTF-8 text to the
currently focused X11 client. Useful for virtual keyboards.
We generate a keymap on-the-fly suitable for the text to type.