? current.patch
? metacity-libwnck.patch
Index: src/window.c
===================================================================
RCS file: /cvs/gnome/metacity/src/window.c,v
retrieving revision 1.333
diff -p -u -r1.333 window.c
--- src/window.c	31 Jul 2004 21:26:05 -0000	1.333
+++ src/window.c	3 Aug 2004 05:17:50 -0000
@@ -456,7 +456,6 @@ meta_window_new_with_attrs (MetaDisplay 
   window->initial_workspace_set = FALSE;
   window->initial_timestamp_set = FALSE;
   window->net_wm_user_time_set = FALSE;
-  window->focus_despite_user_time = FALSE;
   window->calc_placement = FALSE;
   window->shaken_loose = FALSE;
   window->have_focus_click_grab = FALSE;
@@ -1619,9 +1618,6 @@ window_takes_focus_on_map (MetaWindow *w
     case META_WINDOW_NORMAL:
     case META_WINDOW_DIALOG:
     case META_WINDOW_MODAL_DIALOG:
-      if (window->focus_despite_user_time)
-	return TRUE;
-
       meta_topic (META_DEBUG_STARTUP,
                   "COMPARISON:\n"
                   "  net_wm_user_time_set : %d\n"
@@ -1718,8 +1714,6 @@ meta_window_show (MetaWindow *window)
     meta_window_stack_just_below (window,
                                   window->display->focus_window);
 
-  window->focus_despite_user_time = FALSE;
- 
   if (!window->placed)
     {
       /* We have to recalc the placement here since other windows may
@@ -1934,8 +1928,6 @@ meta_window_unminimize (MetaWindow  *win
   if (window->minimized)
     {
       window->minimized = FALSE;
-      window->focus_despite_user_time = TRUE;
-      
       meta_window_queue_calc_showing (window);
 
       meta_window_foreach_transient (window,
@@ -2195,6 +2187,9 @@ void
 meta_window_activate (MetaWindow *window,
                       guint32     timestamp)
 {
+  if (timestamp != 0)
+    window->net_wm_user_time = timestamp;
+
   /* disable show desktop mode unless we're a desktop component */
   maybe_leave_show_desktop_mode (window);
  
Index: src/window.h
===================================================================
RCS file: /cvs/gnome/metacity/src/window.h,v
retrieving revision 1.105
diff -p -u -r1.105 window.h
--- src/window.h	31 Jul 2004 21:26:05 -0000	1.105
+++ src/window.h	3 Aug 2004 05:17:51 -0000
@@ -147,7 +147,6 @@ struct _MetaWindow
   
   /* whether net_wm_user_time has been set yet */
   guint net_wm_user_time_set : 1;
-  guint focus_despite_user_time : 1;
   
   /* These are the flags from WM_PROTOCOLS */
   guint take_focus : 1;
