[gnome-shell] Consolidate window tracking filters between app monitor and overview.



commit bcc3dc0711be396a7429f28a660c68056790ece8
Author: Steve Frécinaux <code istique net>
Date:   Fri Aug 28 18:36:23 2009 +0200

    Consolidate window tracking filters between app monitor and overview.
    
    The windows we considered for both the app monitor and the overview
    workspaces were the same, but the code was duplicated once in C, once
    in Javascript.

 js/ui/workspaces.js     |    7 ++-----
 src/shell-app-monitor.c |   16 ++++++++--------
 src/shell-app-monitor.h |    2 ++
 3 files changed, 12 insertions(+), 13 deletions(-)
---
diff --git a/js/ui/workspaces.js b/js/ui/workspaces.js
index 7fa0bb1..59d7ab7 100644
--- a/js/ui/workspaces.js
+++ b/js/ui/workspaces.js
@@ -745,11 +745,8 @@ Workspace.prototype = {
 
     // Tests if @win should be shown in the Overview
     _isOverviewWindow : function (win) {
-        let wintype = win.get_window_type();
-        if (wintype == Meta.WindowType.DESKTOP || 
-            wintype == Meta.WindowType.DOCK)
-            return false;
-        return !win.is_override_redirect();
+        let appMon = Shell.AppMonitor.get_default()
+        return appMon.is_window_usage_tracked(win.get_meta_window());
     },
 
     _createWindowIcon: function(window) {
diff --git a/src/shell-app-monitor.c b/src/shell-app-monitor.c
index a640957..8548d37 100644
--- a/src/shell-app-monitor.c
+++ b/src/shell-app-monitor.c
@@ -345,7 +345,7 @@ window_is_tracked (MetaWindow *window)
 }
 
 /**
- * window_is_usage_tracked:
+ * shell_app_monitor_is_window_usage_tracked:
  *
  * Determine if it makes sense to track the given window for application
  * usage.  An example of a window we don't want to track is the root
@@ -358,8 +358,8 @@ window_is_tracked (MetaWindow *window)
  *
  * Returns: %TRUE iff we want to record focus time spent in this window
  */
-static gboolean
-window_is_usage_tracked (MetaWindow *window)
+gboolean
+shell_app_monitor_is_window_usage_tracked (MetaWindow *window)
 {
   if (!window_is_tracked (window))
     return FALSE;
@@ -562,7 +562,7 @@ get_active_window (ShellAppMonitor *monitor)
   display = meta_screen_get_display (screen);
   window = meta_display_get_focus_window (display);
 
-  if (window != NULL && window_is_usage_tracked (window))
+  if (window != NULL && shell_app_monitor_is_window_usage_tracked (window))
     return window;
   return NULL;
 }
@@ -756,7 +756,7 @@ track_window (ShellAppMonitor *self,
    * tracked it doesn't count for the purposes of an application
    * running.
    */
-  if (!window_is_usage_tracked (window))
+  if (!shell_app_monitor_is_window_usage_tracked (window))
     return;
 
   usage = get_app_usage_from_window (self, window);
@@ -812,7 +812,7 @@ disassociate_window (ShellAppMonitor   *self,
   if (window == self->watched_window)
     self->watched_window = NULL;
 
-  if (window_is_usage_tracked (window))
+  if (shell_app_monitor_is_window_usage_tracked (window))
     {
       AppUsage *usage;
       const char *context;
@@ -930,7 +930,7 @@ shell_app_monitor_get_windows_for_app (ShellAppMonitor *self,
       ShellAppInfo *app = value;
       const char *id = shell_app_info_get_id (app);
 
-      if (!window_is_usage_tracked (window))
+      if (!shell_app_monitor_is_window_usage_tracked (window))
         continue;
 
       if (strcmp (id, appid) != 0)
@@ -1181,7 +1181,7 @@ shell_app_monitor_get_running_apps (ShellAppMonitor *monitor,
       if (strcmp (get_window_context (window), context) != 0)
         continue;
 
-      if (!window_is_usage_tracked (window))
+      if (!shell_app_monitor_is_window_usage_tracked (window))
         continue;
 
       id = shell_app_info_get_id (app);
diff --git a/src/shell-app-monitor.h b/src/shell-app-monitor.h
index a56bd5e..efc1e9a 100644
--- a/src/shell-app-monitor.h
+++ b/src/shell-app-monitor.h
@@ -44,6 +44,8 @@ GList *shell_app_monitor_get_most_used_apps (ShellAppMonitor *monitor,
 
 GSList *shell_app_monitor_get_windows_for_app (ShellAppMonitor *monitor, const char *appid);
 
+gboolean shell_app_monitor_is_window_usage_tracked (MetaWindow *window);
+
 /* Get whatever's running right now */
 GSList *shell_app_monitor_get_running_apps (ShellAppMonitor *monitor, const char *context);
 



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