discomfitor pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=0885237671b1e38029014b252ce70934ab921d93

commit 0885237671b1e38029014b252ce70934ab921d93
Author: Chris Michael <cp.mich...@samsung.com>
Date:   Sun Jul 6 10:51:01 2014 -0400

    xwayland: Create the wl_client which represents the window manager
    process.
    
    Signed-off-by: Chris Michael <cp.mich...@samsung.com>
---
 src/modules/xwayland/e_mod_main.c | 22 +++++++++++++++-------
 1 file changed, 15 insertions(+), 7 deletions(-)

diff --git a/src/modules/xwayland/e_mod_main.c 
b/src/modules/xwayland/e_mod_main.c
index fe8b64e..5ff6d55 100644
--- a/src/modules/xwayland/e_mod_main.c
+++ b/src/modules/xwayland/e_mod_main.c
@@ -8,10 +8,12 @@ typedef struct _E_XWayland_Server E_XWayland_Server;
 struct _E_XWayland_Server
 {
    int disp;
-   int abs_fd, unx_fd;
+   int abs_fd, unx_fd, wm_fd;
    char lock[256];
 
+   struct wl_display *wl_disp;
    struct wl_event_loop *loop;
+   struct wl_client *client;
 
    Ecore_Fd_Handler *abs_hdlr, *unx_hdlr;
    Ecore_Event_Handler *sig_hdlr;
@@ -214,9 +216,11 @@ fail:
         break;
       default:
         close(socks[1]);
-        /* TODO: client_create */
+        exs->client = wl_client_create(exs->disp, socks[0]);
+
         close(wms[1]);
-        /* TODO */
+        exs->wm_fd = wms[0];
+
         /* TODO: remove event sources */
         break;
       case -1:
@@ -230,15 +234,16 @@ fail:
 static Eina_Bool 
 _cb_signal_event(void *data EINA_UNUSED, int type EINA_UNUSED, void *event 
EINA_UNUSED)
 {
-   /* E_XWayland_Server *exs; */
-
    /* NB: SIGUSR1 comes from XWayland Server when it has finished 
     * initialized. */
 
-   /* if (!(exs = data)) return ECORE_CALLBACK_RENEW; */
-
    /* TODO: create "window manager" process */
 
+   /* TODO: NB: 
+    * 
+    * Weston creates a smaller window manager process here.
+    * We Maybe able to just do e_comp_x_init, but will have to test that */
+
    return ECORE_CALLBACK_RENEW;
 }
 
@@ -261,6 +266,9 @@ e_modapi_init(E_Module *m)
    if (!(exs = calloc(1, sizeof(E_XWayland_Server))))
      return NULL;
 
+   /* record wayland display */
+   exs->wl_disp = comp->wl_comp_data->wl.disp;
+
    /* default display to zero */
    exs->disp = 0;
 

-- 


Reply via email to