path: root/src/lib/ecore_wayland (follow)
AgeCommit message (Collapse)Author
2017-03-09ecore_wayland: avoid crash during shutdown due to Ecore_Event queue.Cedric BAIL
2017-02-15doxygen: fix typos and some wrong expressions in API reference.Myoungwoon Roy, Kim
Summary: I had fixed some typos and some wrong expressions, such as capital letters, singular, and orders of groups in API reference doxygen. Test Plan: Doxygen revision Reviewers: stefan, cedric, raster, Jaehyun_Cho, jpeg Subscribers: conr2d Differential Revision: Signed-off-by: Cedric BAIL <>
2016-11-18ecore_wayland: fix over writing file descriptor bug for readingTaehyub Kim
Summary: fix over writing file descriptor bug for reading. when we paste data to entry very fast, source->fd is over wrote by latest fd. It cause blocking of read function since the read function use invalid fd. so I make memorizing valid fd and using it in read function. @fix Reviewers: Hermet, jpeg, cedric, devilhorns, ManMower, raster Differential Revision:
2016-06-28ecore-wayland: Prevent duplicated mouse up events.JengHyun Kang
Summary: Prevent duplicated mouse up events generated from input_ungrab. If you touch downs and ups about all of fingers, that is sufficient condition to call ecore_wl_input_ungrab(). And then one mouse up event is generated from that function. So if you set a callback about ECORE_EVENT_MOUSE_BUTTON_UP, you can watch two mouse up events are occurred. Test Plan: Touch and release. And watch mouse up events. Reviewers: raster, zmike, devilhorns Reviewed By: devilhorns Subscribers: ohduna, input.hacker, cedric, jpeg Differential Revision:
2016-05-03ecore-wayland: Deprecate Ecore_Wayland libraryChris Michael
This patch deprecates the Ecore_Wayland library with a warning to not use it. This (imo) is a better method of deprecation rather than adding EINA_DEPRECATED to every function. Signed-off-by: Chris Michael <>
2016-04-20ecore-wl(2): add copyright headers (MIT) from westonMike Blumenkrantz
these files were created containing code which was very obviously copied from weston. when copying code, copyright headers must also be copied in order to comply with licenses.
2016-04-20Ecore: Use calloc() to initialize Ecore_Event_Mouse_XXXXDuna Oh
Summary: To ensure initialize all fields of Ecore_Event_Mouse_XXX, use calloc() instead of malloc(). Test Plan: N/A Reviewers: gwanglim, cedric, raster, devilhorns, ManMower, zmike Subscribers: jpeg, input.hacker, JHyun Differential Revision:
2016-03-24ecore_wayland: Add a new API to get keymap - ecore_wl_input_keymap_get()JengHyun Kang
Summary: Each Ecore_Wl_Input structure has there own keymap. This keymap is struct xkb_keymap used in libxkbcommon lib and the client can get this keymap from server in wayland system. So if the client want to get keymap and use some libxkbcommon APIs, use this API to get keymap. Test Plan: Use this api after initialize wayland system. Reviewers: raster, zmike, ManMower, devilhorns Reviewed By: devilhorns Subscribers: input.hacker, ohduna, cedric, jpeg Differential Revision:
2016-01-14ecore_wayland: move check for pointer capabilityDuna Oh
Summary: We don't need to work for cursor if system doesn't have pointer devices. Since this function is called by elementary(e.g. entry) also, we move a check condition into the function. @fix Reviewers: raster, zmike, devilhorns, ManMower, gwanglim Subscribers: cedric, JHyun, input.hacker, jpeg Differential Revision:
2016-01-13ecore_wayland: send mouse_move when sets touch_focus window in cb_touch_downDuna Oh
Summary: When user touches the screen, ecore_drm generates MOUSE_MOVE event before MOUSE_BUTTON_DOWN. But when ecore_wayland gets touch_motion before touch_down, touch_focus window is NULL and sending MOUSE_MOVE event fails. Also in terms of 'touch' input, touch_focus needs be set in cb_touch_down, not in cb_pointer_enter. So this commit makes sure that ecore_wayland generates MOUSE_MOVE when touch_focus is set. @fix Test Plan: when the application is launched for first time, user clicks on any area of the screen. We can see the posion of touch event wrong. Reviewers: raster, zmike, devilhorns, gwanglim, ManMower Reviewed By: ManMower Subscribers: jpeg, JHyun, cedric, input.hacker Differential Revision:
2016-01-07ecore_wayland: set touch_focus window when gets pointer_enterDuna Oh
Summary: When user touches the screen, ecore_wayland gets touch_motion event before touch_down event. But touch_focus would be NULL in cb_touch_motion, so doesn't send ECORE_EVENT_MOUSE_MOVE event to client. This fix set touch_focus when gets pointer_enter same as pointer_focus. Test Plan: when the application is launched for first time, user clicks on any area of the screen. We can see the posion of touch event wrong. @fix Reviewers: devilhorns, raster, ManMower, zmike Subscribers: input.hacker, cedric, jpeg, JHyun Differential Revision:
2015-12-18ecore_wayland: rename session recovery to align namespaceStefan Schmidt
Align out extension naming with other unstable wayland protocols. The unstable protocols from the wayland-protocols repo are prefixed with a zwp additionally we keep a e prefix for now as we are still developing this here. No functional change, just rename. Pointed out by Derek that the session-recovery interface name is a bit to generic here.
2015-12-16ecore_wayland: add listener for uuid and provide already existing oneStefan Schmidt
Setup a listener to receive an uid from the compositor. If we already have one during creation, aka we are re-connecting to recover a session, we provide it to the compositor so it can look our attributes up based on it. Again hidden behind and env var to avoid problems with other developments, for now. ref T2922
2015-12-16ecore_wayland: store uuid received from compositorStefan Schmidt
If we get an uuid assigned from the compositor we will store them locally to provide it later on if needed. ref T2922
2015-12-16ecore_wayland: create session recovery listener only if env var is setStefan Schmidt
Same as for the global we make sure here we only add the listener if the, for now, needed env var is set. ref T2922
2015-12-16ecore_wayland: only bind session recovery interface when env var is setStefan Schmidt
To avoid trouble for other wayland testing we hide the session recovery work behind EFL_WAYLAND_SESSION_RECOVERY. Without this env var being set we do not bind the global. ref T2922
2015-12-16ecore_wayland: remove disabled code for session recovery listenerStefan Schmidt
The listener is handled inside ecore_wl_window. Remove the dead code from here.
2015-12-03ecore-wl: Remove setting window animator in server modeChris Michael
Signed-off-by: Chris Michael <>
2015-12-03ecore-wl: Make "server mode" a globalChris Michael
Signed-off-by: Chris Michael <>
2015-12-03ecore-wayland: Add support for using timer based animators if inChris Michael
server mode Summary: For E internal windows, we cannot use custom animator sources due to Other animators using a timer-based solution. For this case, when running in "server mode" for internal windows we will default to a timer based animator solution. Signed-off-by: Chris Michael <>
2015-11-18ecore-wayland: Reduce overhead for maximize/fullscreen set functionsChris Michael
This patch just gets the state flags directly from the window rather than calling "get" functions to return the same parameter. @fix Signed-off-by: Chris Michael <>
2015-11-18ecore-wayland: Fix iconified functions for consistencyChris Michael
* sanitize bool params * enforce window state flag setting * correctly detect window state using window flag @fix Signed-off-by: Chris Michael <>
2015-11-18ecore-wayland: Add EINA_SAFETY checks to window functionsChris Michael
This adds EINA_SAFETY returns for all public facing ecore_wl_window functions. @fix Signed-off-by: Chris Michael <>
2015-11-17ecore-wayland: rewrite maximize/fullscreen set functions for consistencyMike Blumenkrantz
* use safety macros for win struct param (should be the case for all fns here) * sanitize bool params * enforce window state flag setting * correctly detect window state using window flag instead of type @fix ref T2841
2015-11-17ecore-wayland: return only the relevant state value for maximize/fullscreenMike Blumenkrantz
having window types for fullscreen/maximize is not defined by spec and leads to state mismatches when toggling from api vs receiving events from the compositor @fix
2015-11-17ecore-wayland: Make ecore_wl_window_maximized_get return proper valuesChris Michael
This brings ecore_wl_window_maximized_get more inline with ecore_wl_fullscreen_get function in that it will now check either the window maximized state, or the window type, to determine if a window is actually maximized @fix Signed-off-by: Chris Michael <>
2015-10-26ecore_wayland: fix build for ivi-shell.Stefan Schmidt
During a rework this bit got missed and made the build fail if ivi-shell was enabled. Thanks a lot to aerodynamik for bringing this to our attention and even pointed out the fix. Fixes T2798
2015-10-20ecore-wayland: plug some trivial leaksMike Blumenkrantz
2015-10-19ecore-wayland: only do deferred shell surface creation when a surface existsMike Blumenkrantz
2015-10-19ecore-wayland: defer shell surface creation for windows if shell is not boundMike Blumenkrantz
in the case where a surface is created before the compositor binds its shell(s), a shell surface would never be created fixes case where internal windows would not create frames in enlightenment @fix
2015-10-16Revert "ecore-wayland: Redo window animators to not use Custom source animators"Mike Blumenkrantz
This reverts commit bd83d4c03ab9f6f6ae225976b9595a1dfde61237. adding an animator (and then not managing its ticks) causes the animator to fire constantly. in this case, it was causing 100% cpu usage and forcing a compositor re-render for every frame regardless of damages
2015-10-14ecore-wayland: Redo window animators to not use Custom source animatorsChris Michael
Summary: This moves window animators (for frame callbacks) to not use a custom animator source but rather use a timer-based source. This also moves animators to be per-window based (in that an animator is created per-window). @fix Signed-off-by: Chris Michael <>
2015-10-13ecore-wl: Add missing EINA_UNUSED for unused function paramatersChris Michael
Signed-off-by: Chris Michael <>
2015-10-12ecore-wl: Don't update window size during ecore_wl_window_resizeChris Michael
function Summary: As we call ecore_wl_window_update_size from various places when needed, don't call it inside the resize function. This addresses an issue where sizes for the Ecore_Wl_Window may be out of sync @fix Signed-off-by: Chris Michael <>
2015-10-09ecore-wayland: Comment out unused functionsChris Michael
Summary: As we do not listen for surface enter/leave events, we do not need these functions so comment them out. Thanks to Tom for the report :) @fix Signed-off-by: Chris Michael <>
2015-10-09ecore-wayland: Comment out unused functions for session listenerChris Michael
Summary: As session listener is currently disabled in Ecore_Wayland, we don't need these functions defined so comment them out. Thanks to Tom for the report :) @fix Signed-off-by: Chris Michael <>
2015-10-05ecore-wayland: Don't use custom animator when in server modeChris Michael
Signed-off-by: Chris Michael <> Reviewed-by: @zmike necessary to avoid breaking the compositor canvas animator
2015-09-23ecore_wl: abort if wl_display_dispatch returns negative valueBoram Park
Summary: If the connection between server and client has problems, wl_display_dispatch an return negative value. i.e. when enlightenment has been killed accidently. In this case, app can enter into infinite loop. Signed-off-by: Boram Park <> Reviewers: stefan_schmidt, zmike, gwanglim, raster, devilhorns Subscribers: cedric Differential Revision:
2015-08-27ecore_wayland: only add listener if recovery interface was binded correctlyStefan Schmidt
In the case the bidn fails we could crash here by accessing it.
2015-08-26ecore_wayland: add wayland session recovery listenerStefan Schmidt
Register and wait for the uuid event issued by the compositor once a new surface is created.
2015-08-26ecore_wayland: bind and destroy session_recovery interface correctly.Stefan Schmidt
This was missing from the initial session recovery support patches. Bind the interface so we can actually work with it on the client side and destroy it at the end. @fix
2015-08-20Add experimental implementation of custom animator ticksChris Michael
Signed-off-by: Chris Michael <>
2015-08-13ecore-wl: do not nul terminate dropsMike Blumenkrantz
the application can do this based on mime types. we should not be nul terminating incremental drop data @fix
2015-08-04ecore-wl: Support wl_keyboard_send_repeat_info for adjusting keyboard repeat ↵Chris Michael
rate and delay Summary: This adds support for allowing a client/compositor to adjust the keyboard repeat rate and delay via a call to wl_keyboard_send_repeat_info. @feature Signed-off-by: Chris Michael <>
2015-07-14ecore-wl: Reset input keyboard repeat values when we cancel the timerChris Michael
Summary: If we end up cancelling the keyboard repeat timer due to no focused surface, we should also reset the input repeat values. @fix Signed-off-by: Chris Michael <>
2015-07-14ecore-wl: Don't renew keyboard-repeat timer if we have no focused surfaceChris Michael
Summary: During the keyboard repeat function, if we have no keyboard focused window to send the key to, then we should cancel the repeat timer. @fix Signed-off-by: Chris Michael <>
2015-07-14ecore-wl: Reset ecore_wl_input repeat values on keyboard leaveChris Michael
Summary: As we delete any keyboard repeat timers when we get a keyboard leave event, we should also reset any stored values there (key, sym, time, etc). @fix Signed-off-by: Chris Michael <>
2015-07-14ecore-wl: Reset input's pointer & keyboard focus on eventsChris Michael
Summary: If we get pointer or keyboard leave events, then reset the Ecore_Wl_Input's idea of focus (eg: set input->pointer_focus and input->keyboard_focus fields to NULL) just in case we cannot find a window for this surface. @fix Signed-off-by: Chris Michael <>
2015-07-08ecore-wayland: Remove improper use of EINA_UNUSEDChris Michael
Summary: 'version' is actually used inside this function so no need for EINA_UNUSED here. @fix Signed-off-by: Chris Michael <>
2015-07-01ecore-wl: disable session recoveryMike Blumenkrantz
this is guaranteed to crash in 100% of use cases.