Commit Graph

20497 Commits

Author SHA1 Message Date
Mike Blumenkrantz 2bf57d79af set shm engine for wl internal windows
this seems to be necessary for now to prevent crashing
2015-06-25 20:25:41 -04:00
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 6f46020e5d redo wayland-only configure option and define
HAVE_WAYLAND_ONLY is now only set when there is only wayland. this means there
is no x11 support. zero. no x compositor. no xwayland. no x11 output module.
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 64b98b712e remove wayland-clients configure option
this has been dead for a long time and is no longer necessary since
xwayland support exists
2015-06-25 20:04:31 -04:00
Mike Blumenkrantz 8e282cea60 bump wayland version requirement to 1.8 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 5637f34df9 fix xwayland configure check 2015-06-25 20:04:30 -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 1c57f178ce xwayland: Add checks for xcb libraries needed for xwayland support
Signed-off-by: Chris Michael <cp.michael@samsung.com>
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 db295ffaf7 xwayland: Fix configure.ac to substitute the 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