[mutter/wayland] wayland: Tie activate / deactivate to appears-focused



commit 7615d17293666df495aec34981a2cd55ea023c2d
Author: Jasper St. Pierre <jstpierre mecheye net>
Date:   Tue Feb 18 23:03:56 2014 -0500

    wayland: Tie activate / deactivate to appears-focused
    
    ... rather than actual focus. This makes things behave better.

 src/core/window.c                   |    8 ++++++++
 src/wayland/meta-wayland-keyboard.c |    4 ----
 2 files changed, 8 insertions(+), 4 deletions(-)
---
diff --git a/src/core/window.c b/src/core/window.c
index 5c57d3c..5465e7b 100644
--- a/src/core/window.c
+++ b/src/core/window.c
@@ -6360,6 +6360,14 @@ meta_window_appears_focused_changed (MetaWindow *window)
 
   if (window->frame)
     meta_frame_queue_draw (window->frame);
+
+  if (window->surface)
+    {
+      if (meta_window_appears_focused (window))
+        meta_wayland_surface_activated (window->surface);
+      else
+        meta_wayland_surface_deactivated (window->surface);
+    }
 }
 
 /**
diff --git a/src/wayland/meta-wayland-keyboard.c b/src/wayland/meta-wayland-keyboard.c
index 963ad29..f4ac4d8 100644
--- a/src/wayland/meta-wayland-keyboard.c
+++ b/src/wayland/meta-wayland-keyboard.c
@@ -542,8 +542,6 @@ meta_wayland_keyboard_set_focus (MetaWaylandKeyboard *keyboard,
           struct wl_display *display = wl_client_get_display (client);
           serial = wl_display_next_serial (display);
           wl_keyboard_send_leave (resource, serial, keyboard->focus_surface->resource);
-
-          meta_wayland_surface_deactivated (keyboard->focus_surface);
         }
 
       wl_list_remove (&keyboard->focus_resource_listener.link);
@@ -584,8 +582,6 @@ meta_wayland_keyboard_set_focus (MetaWaylandKeyboard *keyboard,
                                  &keyboard->keys);
        }
 
-      meta_wayland_surface_activated (surface);
-
       keyboard->focus_resource = resource;
       keyboard->focus_surface = surface;
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]