path: root/src/lib/ecore_wayland/ecore_wl_window.c (follow)
AgeCommit message (Collapse)Author
2020-05-04remove arguments of LOGFN in ecre_x and ecore_wayland as the are always the sameVincent Torri
Reviewers: raster Subscribers: cedric, #reviewers, #committers Tags: #efl 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-03ecore-wl: Remove setting window animator in server modeChris 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-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-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-20Add experimental implementation of custom animator ticksChris Michael
Signed-off-by: Chris Michael <>
2015-06-08ecore-wayland: Fix T2466: Update xdg shell protocol codeChris Michael
Summary: This updates the xdg_shell protocol and code to support XDG_SHELL version 5. This allows EFL/Elm apps to function again in Weston. @fix Signed-off-by: Chris Michael <>
2015-04-27ecore-wayland: Fix issue of efl/elm apps not setting opaque & input regionsChris Michael
Summary: Since evas handles surface damage & surface commit roles now, we no longer are calling ecore_wl_commit inside ecore_evas. This was causing the surface opaque & input regions to no longer be set. We fix that here by creating and setting opaque/input regions whenever the appropriate ecore_wl region functions are called. @fix Signed-off-by: Chris Michael <>
2015-03-17ecore-wayland: Use calloc rather than malloc+memsetBryce Harrington
Summary: In addition to being fewer lines of code, malloc + memset to 0 is slower than calloc. See Signed-off-by: Bryce Harrington <> Reviewers: zmike, cedric, devilhorns Reviewed By: devilhorns Subscribers: cedric Differential Revision:
2015-03-13ecore-wayland: Whitespace cleanupBryce Harrington
Summary: Remove trailing whitespace, convert tabs to spaces as per style guide. Reviewers: zmike Subscribers: cedric Differential Revision:
2015-03-13ecore-wl xdg surface configure no longer requires special case for fs/maxMike Blumenkrantz
the surface size comes directly from the compositor shell when applicable
2015-03-10ecore-wayland: don't resize the window on focusDerek Foreman
Reviewers: devilhorns, zmike Subscribers: cedric Differential Revision:
2015-03-04ecore-wl windows now emit 0x0 configure sizes more reliably when fs/maximizedMike Blumenkrantz
2015-03-04ecore-wl update window saved.size on any resize instead of just fs/maximizeMike Blumenkrantz
2015-03-02ecore-wl: Send xdg_surface_set_window_geometry when we update windowChris Michael
size/position Summary: We should be implementing xdg_surface_set_window_geometry for efl apps, so this commit adds the function call to that. @fix Signed-off-by: Chris Michael <>
2015-02-26ecore-wl fullscreen state is based on either window type or attributeMike Blumenkrantz
fixes fullscreen state detection when being set to fullscreen by the compositor @fix
2015-02-01ecore-wl should maybe clear its repeat timer for keyboard on window freeMike Blumenkrantz
2015-01-20ecore-wl needs to also set xdg props again on showMike Blumenkrantz
fix T1819
2015-01-16ecore-wayland: Don't crash if we have no input->cursor_nameChris Michael
Summary: If we are using a touchscreen, there will be no pointer and thus no cursor_name to use. Trap for that case by checking if input->cursor_name is valid. @fix Signed-off-by: Chris Michael <>
2015-01-07ecore-wayland: Simplify opaque and input region handling.Chris Michael
Summary: We can make opaque and input region handling simplier if we just use one opaque & input region per window. Previous code would always create a new region, set it to the surface, then destroy it. This code works much nicer in that it hammers the protocol with less region create/destroy calls. @fix Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: Check for xdg_surface before sending ack_configureChris Michael
Summary: Calling wayland library functions with NULL typically leads to an abort, so add a safety check for valid xdg_surface before calling function @fix Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: Fix formattingChris Michael
Summary: No functional changes, just formatting Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: Add safety check for xdg_popup creationChris Michael
Summary: xdg_shell_get_xdg_popup could return NULL, in which case any calls below would cause an abort in the wayland libraries, so this adds a trap for that. @fix Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: Add safety check for window surface creationChris Michael
Summary: We cannot call wl_proxy_get_id if the surface creation failed else that would lead to an abort in the wayland libraries. This commit adds a safety check @fix Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: No need for setting the input here as it's done againChris Michael
directly below. Summary: Not much of a functional change, just removing an extra unnecessary line. Input is being set directly below this with an if (!( line, so no point in this one. @fix Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: Check return of input_region create and get our safelyChris Michael
Summary: If wl_region_create fails, then we cannot call wl_region functions on a NULL region. That causes the wayland libraries to abort, so let's add a safety check so that we don't crash. @fix Signed-off-by: Chris Michael <>
2014-12-01ecore-wayland: If we fail to create a new opaque region, safely exitChris Michael
the function. Summary: If the compositor fails to create a new opaque region, then we cannot call wl_region functions on a NULL region. This leads to an abort in the wayland libraries, so let's trap the return of wl_region_create and exit safely @fix Signed-off-by: Chris Michael <>
2014-11-12ecore-wayland: Fix the issue of UnIconifying an xdg_surfacevivek
Summary: Fixed the issue of UnIconifying an xdg_surface which is needed for Enlightenment IBox scenario. @fix Signed-off-by: vivek <> Reviewers: devilhorns Reviewed By: devilhorns Subscribers: cedric Differential Revision:
2014-10-01ecore-wayland: Add support for handling surface delete callbackChris Michael
Summary: This adds a private function to call when a surface gets deleted so we can cleanup properly. @fix Signed-off-by: Chris Michael <>
2014-10-01ecore-wayland: Cleanup shell surface creationChris Michael
Summary: We had some duplication happening here when the IVI shell code got added. This cleans up the surface creation code (parts of it were being duplicated) @fix Signed-off-by: Chris Michael <>
2014-10-01ecore-wayland: Add/Implement code to handle iconifying a windowChris Michael
xdg_shell protocol provides functions to minimize a surface. This is now implemented via ecore_wl_window_iconified_set. NB: This Does Not work for wl_shell surfaces because wl_shell provides no method to minimize. Signed-off-by: Chris Michael <>
2014-10-01ecore-wayland: Add support for xdg_surface class nameChris Michael
xdg_shell supports setting a "class name" on a window by using xdg_surface_set_app_id. This commit implements that. @fix Signed-off-by: Chris Michael <>
2014-10-01ecore-wayland: Fix formatting and add a FIXME noteChris Michael
Signed-off-by: Chris Michael <>