Commit Graph

254 Commits

Author SHA1 Message Date
Mike Blumenkrantz daaca89790 ecore-wl windows now emit 0x0 configure sizes more reliably when fs/maximized 2015-03-04 16:46:39 -05:00
Mike Blumenkrantz 50da07d026 ecore-wl update window saved.size on any resize instead of just fs/maximize 2015-03-04 16:45:50 -05:00
Chris Michael be862c1d7f ecore-wl: Send xdg_surface_set_window_geometry when we update window
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 <cp.michael@samsung.com>
2015-03-02 12:25:27 -05:00
Mike Blumenkrantz f298183d4e ecore-wl fullscreen state is based on either window type or attribute
fixes fullscreen state detection when being set to fullscreen by the compositor

@fix
2015-02-26 22:30:44 -05:00
Chris Michael eedd6c3159 ecore-wayland: Don't send key repeat events for keys which should not
get them

Summary: Some keys in certain keyboard layouts should not be repeated
so add a test which uses xkb to inform us if this key supports
repeating.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-02-03 15:31:17 -05:00
Mike Blumenkrantz 45aba1343e ecore-wl should maybe clear its repeat timer for keyboard on window free 2015-02-01 18:32:04 -05:00
Chris Michael c6e70107dc ecore-wayland: Don't send a mouse_up on grab release unless we
actually have a grabbed button

Summary: If we don't have an actual grabbed mouse button, then don't
send a mouse up event. Caught this while adding e_grabinput support to
Enlightenment.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-23 16:01:08 -05:00
Mike Blumenkrantz 30a2311879 ecore-wl needs to also set xdg props again on show
fix T1819
2015-01-20 19:11:25 -05:00
Chris Michael ade7482ee2 ecore-wayland: Don't crash if we have no input->cursor_name
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 <cp.michael@samsung.com>
2015-01-16 10:35:06 -05:00
Chris Michael 6b1e62afa4 ecore-wayland: Fix issue with Elementary DnD test not releasing mouse
Summary: When we do an input_ungrab, we should be sending a mouse up
event so that apps/elm/etc know that the mouse has been released. This
fixes an issue in the Elm Features DnD test report by Daniel Zaoui

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 11:37:02 -05:00
Chris Michael 70f0bc47ed ecore-wayland: Don't set move cursor unless we actually start a drag
Summary: We should not be setting a 'move' cursor unless we actually
make the call to start a drag

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-01-13 11:23:27 -05:00
Chris Michael 080b9e4730 ecore-wayland: Simplify opaque and input region handling.
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 <cp.michael@samsung.com>
2015-01-07 14:50:00 -05:00
Philippe Coval 17dbfd3ec7 ecore-wayland: make possible to disable xdg-shell at runtime
Summary:
Since xdg-shell is not yet supported officialy by wayland
It makes sense to have it disabled by default
and enable it on purpose.

Using env variable : EFL_WAYLAND_DONT_USE_XDG_SHELL
(name is inspired from Qt implementation of xdg-shell
but in the opposite way)

There is no EFL_WAYLAND_USE_XDG_SHELL in efl,
please use EFL_WAYLAND_DONT_USE_XDG_SHELL instead.

By default xdg-shell is enabled since it's supported by efl

Since there is only one shell supported at runtime
it's easier to switch to wl-shell (wayland's fallback shell)
by change this env variable.

Note, this patch can be reverted once xdg-shell replaces wl-shell
in wayland which is not the case in weston-1.6
but could integrated into upcoming wayland-1.7
(to be confirmed on release)

Change-Id: Id3732492397df9abe4a7c9e6e92a8f2c993c8395
Bug: https://phab.enlightenment.org/T1901
Bug-Tizen: TC-1353/part
Forwarded: https://phab.enlightenment.org/T1901
Signed-off-by: Philippe Coval <philippe.coval@open.eurogiciel.org>

Tizen Test Plan: echo 'export EFL_WAYLAND_DONT_USE_XDG_SHELL=defined' > /etc/profile.d/ecore.sh

Reviewers: seoz, devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1734
2014-12-05 14:08:02 -05:00
Chris Michael cf8801e6cf ecore-wayland: Check for xdg_surface before sending ack_configure
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 <cp.michael@samsung.com>
2014-12-01 13:52:30 -05:00
Chris Michael c4e398bd4b ecore-wayland: Fix formatting
Summary: No functional changes, just formatting

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-12-01 13:51:02 -05:00
Chris Michael 1d0bde0639 ecore-wayland: Add safety check for xdg_popup creation
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 <cp.michael@samsung.com>
2014-12-01 13:47:10 -05:00
Chris Michael 728833ed43 ecore-wayland: Add safety check for window surface creation
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 <cp.michael@samsung.com>
2014-12-01 13:45:23 -05:00
Chris Michael 5244ad1f8d ecore-wayland: No need for setting the input here as it's done again
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 <cp.michael@samsung.com>
2014-12-01 13:43:34 -05:00
Chris Michael 4f68955268 ecore-wayland: Check return of input_region create and get our safely
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 <cp.michael@samsung.com>
2014-12-01 13:15:15 -05:00
Chris Michael 000dbd0b96 ecore-wayland: If we fail to create a new opaque region, safely exit
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 <cp.michael@samsung.com>
2014-12-01 13:13:34 -05:00
vivek 9be84a1ce7 ecore-wayland: Check if system has mouse in ecore_wl_input
Summary:
Added a condition to check if system has mouse before setting
the cursor on surface.

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1707
2014-12-01 10:00:26 -05:00
MinJeong Kim 2eae14651c ecore-wayland: Fixed a request of start_drag with null value
Summary:
Fixed a request of start_drag with null value.
The request with null value has caused SIGABRT and printed
"error marshalling arguments for start_drag (signature ?oo?ou):
null value passed for arg 1".

@fix

Test Plan:
1. Run enlightenment(wayland)
2. Run elementary_test -to FeatureDnd on enlightenment
3. Click any image and try to drag it.
(Without this revision, SIGABRT will occur
 and with this revision, will not.)

Reviewers: gwanglim, devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1720
2014-12-01 09:58:39 -05:00
vivek 35beedd3d7 ecore-wayland: Fix the issue of UnIconifying an xdg_surface
Summary:
Fixed the issue of UnIconifying an xdg_surface which is
needed for Enlightenment IBox scenario.

@fix

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1593
2014-11-12 08:32:42 -05:00
Stefan Schmidt 3f0e3d1804 ecore-wayland: Add since tag to new ecore_wl_window_xdg_surface_get() function 2014-10-24 14:43:27 +02:00
Srivardhan Hebbar 8004a794b1 ecore_wayland: Making _ecore_wl_shutdown return int instead of EINA_BOOL.
Summary:
_ecore_wl_shutdown should return int instead of EINA_BOOL. So changing the function prototype.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1574
2014-10-23 10:41:06 -04:00
Chris Michael f2bcb7d50e ecore-wayland: Add error message for calling shutdown without calling
init

Summary: If someone calls ecore_wayland_shutdown without first calling
ecore_wl_init, then the init count is wrong. Warn the caller.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-23 10:33:40 -04:00
Srivardhan Hebbar 005cdf359d ecore_wayland: Making _ecore_wl_init_count not to go below zero in shutdown.
Summary:
If _ecore_wl_init_count goes below zero, then there would be problem if someone calls ecore_wl_shutdown 1st and then ecore_wl_init later. So fixing this issue in ecore_wl_shutdown.

@fix

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1571
2014-10-23 09:02:47 -04:00
Chris Michael fc4b1982cc ecore-wayland: We should be dispatching pending events After we flush
clients

Summary: When flush_clients is called, those clients may add events to
the queue. We should be waiting to dispatch pending events until After
clients have been flushed.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-20 10:14:35 -04:00
Chris Michael a0a4257018 ecore-wayland: Add support for handling surface delete callback
Summary: This adds a private function to call when a surface gets
deleted so we can cleanup properly.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael bbf196ad79 ecore-wayland: Cleanup shell surface creation
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 <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael e78dcd3f4f ecore-wayland: Add/Implement code to handle iconifying a window
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 <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael d7f1b277dc ecore-wayland: Add minimized field to window structure
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 45e4ef504e ecore-wayland: Add API functions to iconify an Ecore_Wl_Window
These API functions will be called from ecore_evas to iconify an
Ecore_Wl_Window. This is implemented in the xdg_shell protocol

@feature

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael bd5852be29 ecore-wayland: Bump xdg_shell version for pending release
Wayland 1.6 is due in 2 weeks. The existing xdg_shell code here will
not function with current wayland (from git) unless we bump the xdg
version number.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 0655178b3b ecore-wayland: Add support for xdg_surface class name
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 <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 3c2f43194f ecore-wayland: Fix formatting and add a FIXME note
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 795e260442 ecore-wayland: Check for valid shell before sending bound event
We could have either wl_shell OR xdg_shell, so check if we have either
one before dispatching the interfaces_bound event.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael ea7721026c ecore-wayland: Add missing EINA_UNUSED and fix it's usage in other
places

Some paramaters here were being used, while others were not. This
fixes the various usage of EINA_UNUSED here to be proper.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 16d13b9a74 ecore-wayland: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael 65bd5f91ee ecore-wayland: Check return of calloc
Calloc 'can' fail so lets check the return and make sure 'global' is
valid else we will segfault.

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael c656332d48 ecore-wayland: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-10-01 16:15:37 -04:00
Chris Michael d8d7a95c94 Added support for xdg-shell protocol in ecore-wayland.
Summary: Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Projects: #efl

Differential Revision: https://phab.enlightenment.org/D1328
2014-10-01 16:15:37 -04:00
Chris Michael 9787c89935 Added support for xdg-shell protocol in ecore-wayland
Summary: Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Reviewed By: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1326
2014-10-01 16:15:37 -04:00
Srivardhan Hebbar 96f53fc69d ecore_wayland: Added cursor_name to Ecore_Wl_Window.
Summary:
Added cursor_name to Ecore_Wl_Window so that we can compare with input cursor name and avoid unnecessary cursor set calls to wayland.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1481
2014-09-26 08:02:25 -04:00
vivek 59710fadbd Ecore_Wayland: Raise a event when data source target accepts events
Summary:
   1) Added data source target struct for target event
   2) Raise a event when data source target accepts pointer focus or
      motion events

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1466
2014-09-19 09:04:49 -04:00
vivek 0e9a691d62 Ecore_Wayland: Raise a event when data source cancelled
Summary:
  1) Created a event struct for data source cancel event
  2) Raise a event when data source is cancelled

Signed-off-by: vivek <vivek.ellur@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1465
2014-09-19 08:42:49 -04:00
Chris Michael 026b1e9dc5 ecore-wayland: Don't crash if we have no shm interface yet when
setting cursor theme

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-18 11:57:24 -04:00
Chris Michael eefabe1abe ecore-wayland: Allow setting input->cursor_size even if we don't have
the shm interface yet

@fix

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2014-09-18 11:56:41 -04:00
Mike Blumenkrantz 9a218f4f20 ecore-wayland should not cause crashes when setting cursor size if display shm is not yet acquired
crash added in c01c8456fe
2014-09-18 11:49:36 -04:00
Srivardhan Hebbar 7fd450e690 ecore_wayland: Added goto in ecore_init for exit to reduce repetition of code.
Summary:
Instead of repeating the clean-up code if any initialization fails in the init function, I've moved those to one location and added goto.

Signed-off-by: Srivardhan Hebbar <sri.hebbar@samsung.com>

Reviewers: devilhorns

Subscribers: cedric

Differential Revision: https://phab.enlightenment.org/D1461
2014-09-18 11:03:26 -04:00