remove wl override clients from focus stack
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 13 Feb 2015 20:48:00 +0000 (15:48 -0500)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 13 Feb 2015 20:48:00 +0000 (15:48 -0500)
no more client cursor clients in winlist hoorayyyyy

src/bin/e_comp_wl_input.c
src/modules/wl_desktop_shell/e_mod_main.c

index 1a01532..0d86402 100644 (file)
@@ -1,3 +1,4 @@
+#define EXECUTIVE_MODE_ENABLED
 #define E_COMP_WL
 #include "e.h"
 #include <sys/mman.h>
@@ -57,12 +58,16 @@ _e_comp_wl_input_pointer_cb_cursor_set(struct wl_client *client, struct wl_resou
    sid = e_comp_wl_id_get(wl_resource_get_id(surface_resource), pid);
    if (!(ec = e_pixmap_find_client(E_PIXMAP_TYPE_WL, sid)))
      {
+        Eina_List *l;
+
         ec = e_client_new(NULL, e_pixmap_new(E_PIXMAP_TYPE_WL, sid), 1, 0);
         ec->lock_focus_out = ec->layer_block = ec->visible = ec->override = 1;
         ec->new_client = 0;
         ec->icccm.title = eina_stringshare_add("noshadow");
         evas_object_pass_events_set(ec->frame, 1);
         ec->client.w = ec->client.h = 1;
+        l = e_client_focus_stack_get();
+        e_client_focus_stack_set(eina_list_remove(l, ec));
      }
    /* ignore cursor changes during resize/move I guess */
    if (e_client_action_get()) return;
index eb8e789..ba8d531 100644 (file)
@@ -1,3 +1,4 @@
+#define EXECUTIVE_MODE_ENABLED
 #define E_COMP_WL
 #include "e.h"
 #include "e_desktop_shell_protocol.h"
@@ -1311,6 +1312,7 @@ _e_xdg_shell_cb_popup_get(struct wl_client *client, struct wl_resource *resource
    ec->netwm.type = E_WINDOW_TYPE_POPUP_MENU;
    ec->comp_data->set_win_type = EINA_TRUE;
    evas_object_layer_set(ec->frame, E_LAYER_CLIENT_POPUP);
+   e_client_focus_stack_set(eina_list_remove(e_client_focus_stack_get(), ec));
 
    /* set this client as a transient for parent */
    _e_shell_surface_parent_set(ec, parent_resource);