Commit Graph

16923 Commits

Author SHA1 Message Date
Mike Blumenkrantz b862ec63d0 add wrappers for window/pixmap/comp_data fetching in x11 compositor
these helper functions automatically account for "swapped" xwayland
clients and return the expected value from the wl client comp_data.
in this way, all of the current x11 compositor code can be reused with
minimal changes
2015-06-25 20:25:41 -04:00
Mike Blumenkrantz cd646e8ecd reject non-x11 clients from _e_comp_x_client_zone_geometry_set() 2015-06-25 20:25:40 -04:00
Mike Blumenkrantz 2b38147c43 add hooking for WL_SURFACE_ID atom on XWayland windows and composite them
in order to maximize the amount of reused code the following details the current
process for xwayland compositing:

* get map request from window
* force reparenting
* show window
* await WL_SURFACE_ID x11 message
* move x11 client data + pixmap onto corresponding wayland client
* business as usual with wayland compositing

this is pretty similar to the method of the reference code in weston,
except that there's no x11 compositor in weston
2015-06-25 20:25:36 -04:00
Mike Blumenkrantz c8bdacc727 fix grabinput to work better with multiple compositor backends
check root window to determine existence of X11 compositor,
use both wayland and non-wayland define codepaths where available
2015-06-25 20:12:03 -04:00
Mike Blumenkrantz 3585643302 reject non-X clients from _e_comp_x_object_add() 2015-06-25 20:12:03 -04:00
Mike Blumenkrantz f832640f18 block xkb activation for non-X11 compositors 2015-06-25 20:11:54 -04:00
Mike Blumenkrantz d7c60da84f correct e_comp->new_client count for overrides in x compositor 2015-06-25 20:05:26 -04:00
Mike Blumenkrantz 2654b7e3e7 move X idle flusher to comp_x 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz fab0b8122f don't call wl comp delete function twice on shutdown 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 5b63ce91dc comment out grabinput focus calls in wayland compositor
these did nothing, remove for now
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 412595dc60 set client visibility for shell-less wayland clients appropriately during commit 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 179118a70c reject ignored clients from being processed in client idler 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz ca013d9439 reject stacking clients from frame updates in client idler 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 01a4273c38 use ctrl+alt+backspace hotkey in wayland compositor for all non-release builds 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 05a0602f6e unused variable-- 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz d7c58215f4 set wl client surface pointer in surface create method
remnant from when clients were created by the shell
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 96ad70435c remove unnecessary header includes from e_comp_x.h 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 877597e7a1 don't undef NEED_X in wl compositor headers
no idea why this was here
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz eec5cf6a67 remove E_Comp_Data typedef, use backend-specific typedefs unconditionally
this turned into a bit of a charlie-foxtrot due to constant pointer aliasing
in the wl compositor codebase

no functional changes
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 9e104dfca1 simplify e build and add X headers for xwayland module 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 56a2dd11c2 add setup for WL_SURFACE_ID X atom 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 113147fa30 use c array size for e atom init 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 2ae8d726f3 HAVE_WAYLAND_CLIENTS || HAVE_WAYLAND_ONLY -> HAVE_WAYLAND
these are semantically identical
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 972b003163 finish xwayland module implementation
note that this basically does nothing other than start an xserver and connection

bisect harder if looking for bugs
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz bd313e90dd fix xwayland fd dup conditionals 2015-06-25 20:04:31 -04:00
Mike Blumenkrantz dbce320216 load wl_desktop_shell and xwayland after wl comp load 2015-06-25 20:04:30 -04:00
Mike Blumenkrantz ca7087b443 update xwayland for api changes 2015-06-25 20:04:30 -04:00
Mike Blumenkrantz 3e20ea2fbc fix xwayland linkage + makefile formatting 2015-06-25 20:04:30 -04:00
Mike Blumenkrantz 829865b4f4 remove xwayland .desktop and .edj files 2015-06-25 20:04:30 -04:00
Chris Michael 5a7b3c5cf9 xwayland: Add code to cleanup xwayland on shutdown
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 8f09e55b45 xwayland: Check for sigusr1 in event handler
XWayland servers sends us SIGUSR1 when it has finished initializing,
so we should be checking the signal number when we get the event.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael f49acd38b4 xwayland: Fix build breakage with recent e_comp_wl changes
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 90f2d06ee0 xwayland: Add some debugging code while trying to work out failures
with this

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael eb4df84aa5 xwayland: Fix launching of XWayland server and pass proper display to
wl_client_create

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael d79c5657f9 Whitelist the new xwayland module
Signed-off-by: Chris Michael <cp.michael@samsung.com>

Conflicts:
	src/bin/e_module.c
2015-06-25 20:04:30 -04:00
Chris Michael 0885237671 xwayland: Create the wl_client which represents the window manager
process.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael c1b2bb0618 xwayland: Create and bind to unix & abstract sockets
NB: XWayland server needs the sockets setup prior to launching it so
we add some code to create & bind the needed sockets before starting
the XWayland binary

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 3af3abf452 xwayland: Fix makefile to use xwayland binary path
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 2724f92bc6 Add start of xwayand module code
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael c86c57bee0 add xwayland module edj file for icon
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 576b11567d add xwayland module desktop file
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 09852f5d64 Add xwayland Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael 68dcfac5d3 Add xwayland module to modules Makefile
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 20:04:30 -04:00
Chris Michael a57ce9ca85 wl-desktop-shell: Don't crash when trying to place popup menus in QT apps
This is a partial fix for T2517. It fixes the crash, but does not
address popup menu placement.

Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 12:05:05 -04:00
Chris Michael 475a246ea9 wl-desktop-shell: Remove useless return at end of function
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 09:45:28 -04:00
Chris Michael 609fa7100d wl-desktop-shell: Fix formatting
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-25 09:30:59 -04:00
Tom Hacohen ba82d22692 Logging: Fix broken logging macros.
This is macro 101, you don't EVER put multiple statements in a macro
like that.
See Chris's commits, these broken macros already introduced (subtle)
bugs. Always surround macros in "do {} while()" unless you absolutely
can't (like when you declare a new variable to be used in the scope).

Why is it even there? I think we can safely assume eina log is available
for usage in E...

@fix
2015-06-22 15:39:58 +01:00
Chris Michael b1b407ef22 Fix Coverity CID1298053
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-22 10:20:30 -04:00
Chris Michael 3e23c54b8a Fix Coverity CID1298052
Signed-off-by: Chris Michael <cp.michael@samsung.com>
2015-06-22 10:19:13 -04:00
Mike Blumenkrantz 2936a4ccfe handle compositor animation race condition when changing effects
this is more of an academic case than any existing scenario, but
it's possible that an effect may be stopped by something attempting
to trigger another effect during the animation
2015-06-20 12:31:32 -04:00