On Fri, May 25, 2012 at 05:50:06PM +0300, Tiago Vignatti wrote:
> Signed-off-by: Tiago Vignatti <[email protected]>

Committed with the few changes below.
Kristian

> ---
>  src/xwayland/window-manager.c |    9 +++++++++
>  1 file changed, 9 insertions(+)
> 
> diff --git a/src/xwayland/window-manager.c b/src/xwayland/window-manager.c
> index 3cc0a50..62f5f07 100644
> --- a/src/xwayland/window-manager.c
> +++ b/src/xwayland/window-manager.c
> @@ -306,6 +306,8 @@ weston_wm_window_read_properties(struct weston_wm_window 
> *window)
>                       break;
>               case XCB_ATOM_ATOM:
>                       atom = xcb_get_property_value(reply);
> +                     if (*atom & wm->atom.net_wm_window_type)
> +                             window->type = *atom;

We don't need this...

>                       *(xcb_atom_t *) p = *atom;

because this will do exactly that.  When we're reading
net_wm_window_type, p will point to window->type.

>                       break;
>               case TYPE_WM_PROTOCOLS:
> @@ -438,6 +440,12 @@ weston_wm_window_activate(struct wl_listener *listener, 
> void *data)
>       xcb_client_message_event_t client_message;
>  
>       if (window) {
> +             /* send the focus only for top-level windows. We might want to
> +              * improve the logic better here to satisfy this:
> +              * http://tronche.com/gui/x/icccm/sec-4.html#s-4.1.7 */
> +             if (window->type != wm->atom.net_wm_window_type_normal)
> +                     return;
> +
>               client_message.response_type = XCB_CLIENT_MESSAGE;
>               client_message.format = 32;
>               client_message.window = window->id;
> @@ -714,6 +722,7 @@ weston_wm_handle_create_notify(struct weston_wm *wm, 
> xcb_generic_event_t *event)
>       window->id = create_notify->window;
>       window->properties_dirty = 1;
>       window->decorate = 1;
> +     window->type = 0;

Let's set this to XCB_ATOM_NONE instead.

>       window->width = create_notify->width;
>       window->height = create_notify->height;
> -- 
> 1.7.9.5
> 
> _______________________________________________
> wayland-devel mailing list
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/wayland-devel
_______________________________________________
wayland-devel mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/wayland-devel

Reply via email to