Index: tasklist.c
===================================================================
RCS file: /cvs/gnome/libwnck/libwnck/tasklist.c,v
retrieving revision 1.76
diff -u -r1.76 tasklist.c
--- tasklist.c	28 Feb 2005 07:28:20 -0000	1.76
+++ tasklist.c	11 May 2005 21:25:15 -0000
@@ -115,8 +115,6 @@
   guint really_toggling : 1; /* Set when tasklist really wants
                               * to change the togglebutton state
                               */
-  guint was_active : 1;      /* used to fixup activation behavior */ 
-
   guint button_activate;
 
   guint32 dnd_timestamp;
@@ -1932,6 +1930,8 @@
 {
   WnckTasklist *tasklist;
   WnckWindowState state;
+  WnckWorkspace *active_ws;
+  WnckWorkspace *window_ws;
 
   tasklist = task->tasklist;
 
@@ -1940,34 +1940,14 @@
       
   state = wnck_window_get_state (task->window);
 
-  if (state & WNCK_WINDOW_STATE_MINIMIZED)
-    {
-      WnckWorkspace *active_ws;
-      WnckWorkspace *window_ws;
-
-      active_ws = wnck_screen_get_active_workspace (tasklist->priv->screen);
-      window_ws = wnck_window_get_workspace (task->window);
-      if (window_ws &&
-          active_ws != window_ws &&
-          tasklist->priv->switch_workspace_on_unminimize)
-        wnck_window_move_to_workspace (task->window, active_ws);
+  active_ws = wnck_screen_get_active_workspace (tasklist->priv->screen);
+  window_ws = wnck_window_get_workspace (task->window);
+  if (window_ws &&
+      active_ws != window_ws &&
+      tasklist->priv->switch_workspace_on_unminimize)
+    wnck_window_move_to_workspace (task->window, active_ws);
 
-      wnck_window_activate_transient (task->window, timestamp);
-    }
-  else
-    {
-      if (task->was_active || wnck_window_transient_is_active (task->window))
-	{
-	  task->was_active = FALSE;
-	  wnck_window_minimize (task->window);
-	  return;
-	}
-      else
-	{
-          wnck_window_activate_transient (task->window, timestamp);
-        }
-    }
-  
+  wnck_window_activate_transient (task->window, timestamp);
 
   if (tasklist->priv->activate_timeout_id)
     gtk_timeout_remove (tasklist->priv->activate_timeout_id);
@@ -2572,23 +2552,7 @@
       return TRUE;
 
     case WNCK_TASK_WINDOW:
-      if (event->button == 1)
-        {
-          /* is_most_recently_activated == is_active for click &
-	   * sloppy focus methods.  We use the former here because
-	   * 'mouse' focus provides a special case.  In that case, no
-	   * window will be active, but if a window was the most
-	   * recently active one (i.e. user moves mouse straight from
-	   * window to tasklist), then we should still minimize it.
-           */
-          if (wnck_window_is_most_recently_activated (task->window))
-            task->was_active = TRUE;
-          else
-            task->was_active = FALSE;
-
-          return FALSE;
-        } 
-      else if (event->button == 3)
+      if (event->button == 3)
         {
           if (task->action_menu)
             gtk_widget_destroy (task->action_menu);
