discomfitor pushed a commit to branch master. http://git.enlightenment.org/core/enlightenment.git/commit/?id=62328e0c90d120bc2d8ed966823295c0675ff4f8
commit 62328e0c90d120bc2d8ed966823295c0675ff4f8 Author: Mike Blumenkrantz <zm...@osg.samsung.com> Date: Fri Feb 13 15:48:00 2015 -0500 remove wl override clients from focus stack no more client cursor clients in winlist hoorayyyyy --- src/bin/e_comp_wl_input.c | 5 +++++ src/modules/wl_desktop_shell/e_mod_main.c | 2 ++ 2 files changed, 7 insertions(+) diff --git a/src/bin/e_comp_wl_input.c b/src/bin/e_comp_wl_input.c index 1a01532..0d86402 100644 --- a/src/bin/e_comp_wl_input.c +++ b/src/bin/e_comp_wl_input.c @@ -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; diff --git a/src/modules/wl_desktop_shell/e_mod_main.c b/src/modules/wl_desktop_shell/e_mod_main.c index eb8e789..ba8d531 100644 --- a/src/modules/wl_desktop_shell/e_mod_main.c +++ b/src/modules/wl_desktop_shell/e_mod_main.c @@ -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); --