remove wl override clients from focus stack

no more client cursor clients in winlist hoorayyyyy
This commit is contained in:
Mike Blumenkrantz 2015-02-13 15:48:00 -05:00
parent e2b02d07d5
commit 62328e0c90
2 changed files with 7 additions and 0 deletions

View 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;

View 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);