In order to hide a window (via wayland) we can actually assign a NULL
buffer to the surface, so there is no need to destroy the window's
wl_surface during a hide request.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary:
When launching an Elementary App using Wayland the elm_config will
automatically connect to the Wayland's display server and all events
regarding seats are lost, since by the time that Ecore_Evas is created
the global events were already dispatched. To fix this problem,
everytime an Ecore_Evas is created, the code must check if there
are any seat capabilities available, if so, the devices will be created.
Reviewers: bdilly, barbieri, cedric, jpeg
Subscribers: devilhorns, cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D4390
If a NULL surface gets passed into ecore_wl2_window_pointer_set that
would mean we are unsetting the cursor surface, so we should still be
calling wl_pointer_set_cursor even with a NULL surface.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we call the same code during ecore_wl2_window_surface_get and
ecore_wl2_window_show functions that basically create the wl_surface
for a given window we can unify that code into one function that can
be called from various places. This also fixes an issue inside
ecore_wl2_window_show where the window surface_id may not have been
getting filled properly.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
As we already call _ecore_wl2_input_cursor_update_stop above, we
actually don't need to call it a second time.
Signed-off-by: Chris Michael <cp.michael@samsung.com>
If we have no cursor surface, then we don't need the pointer frame
callback anymore so call cursor_update_stop which will delete the
pointer frame callback
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Remove the const char *cursor field from the window structure as this
is useless. It was never used for any real functional purpose.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit removes usage of libwayland-cursor inside Ecore_Wl2
library. This is done so that EFL Wayland applications can use EFL
mouse pointers and not look ugly :)
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
When setting a cursor by name, the _ecore_wl2_input_cursor_set
function already makes a call to stop updating the cursor, so no need
to run that twice.
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit essentially removes the ability to use wl_cursor for EFL
Wayland Client Applications. This is a request from "some old man" ;)
for efl wayland applications to use EFL pointers, not X/FDO pointers.
@feature
Signed-off-by: Chris Michael <cp.michael@samsung.com>
add support for reconnecting wayland applications if the compositor dies
disconnect -> destroy gl ctx + image textures -> block rendering ->
reconnect -> create gl ctx -> create image textures -> unblock rendering ->
sprinkle special seasoning on top -> just like ma used to make
#SamsungFeatures
@feature
This patch ports the existing session recovery protocol from
Ecore_Wayland so that it is used inside Ecore_Wl2.
@feature
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
this is an event representing the "new" state of the surface after a
configure event. it must contain the exact states which could potentially
have changed in the configure in order to ensure synchronization between
csd states and window size.
ecore events for xdg-shell configures must be sent only upon receiving a
configure event since states are set by the compositor and not by the client
@fix
#hoorayforbeta
Summary:
printf %m stringifies and prints errno. I've tried to remove its use
anywhere that the immediately preceding function might not set errno
or is a complicated function for which knowing errno doesn't really
give any useful information.
I've left a few of the drmMode calls because they're just wrappers
around ioctl, which legitimately sets errno.
@fix
Reviewers: zmike, devilhorns
Reviewed By: zmike, devilhorns
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3572
* sanitize boolean params
* enforce window state flag setting
* use window flag instead of window type for state
@fix
ref T2919
Signed-off-by: Chris Michael <cp.michael@samsung.com>
We need a way to store the configure serial, and make the
xdg_surface_ack_configure callback be callable by Ecore_Evas at the
appropriate time. This fixes an issue where previously we were
(potentially) sending a configure acknowledgment while not applying
the configure due to deferred rendering.
@fix
Signed-off-by: Chris Michael <cpmichael@osg.samsung.com>
Rather than rely on window->type for maximized & fullscreen, use the
cooresponding window flag
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Summary: When we finish moving a window, previously the mouse cursor
would never get unset from the hand cursor. This is due to the way
that grabs work in wayland, and not ever getting an event notification
for the move being completed. This patch works around that issue
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>
Previously, when we maximized or fullscreen a window, we were sending
the improper geometry to the window_configure callback
@fix
Signed-off-by: Chris Michael <cp.michael@samsung.com>