diff -ur engage.old/src/e_mod_main.c engage/src/e_mod_main.c
--- engage.old/src/e_mod_main.c	2011-07-17 01:14:07.471477883 +0800
+++ engage/src/e_mod_main.c	2011-07-17 17:55:17.319787970 +0800
@@ -752,13 +752,17 @@
       return EINA_TRUE;
 
    Ngi_Item *it = ng->item_active;
-
-   if (ev->buttons == 2)
+    
+   // Remove this. Can be accessed by
+   // (i) Settings -> Extensions,  (ii) Everything, (iii) Right click @ bar
+   // Instead bind middle mouse button to comp-scale, same class windows
+   /*if (ev->buttons == 2)
      {
         ngi_configure_module(ng->cfg);
         return EINA_TRUE;
      }
-   else if (ng->item_active && ev->buttons == 1)
+   else*/
+   if (ng->item_active && ev->buttons == 1)
      {
         it->drag.x = ev->root.x;
         it->drag.y = ev->root.y;
diff -ur engage.old/src/ng_taskbar.c engage/src/ng_taskbar.c
--- engage.old/src/ng_taskbar.c	2011-05-17 20:42:59.903334754 +0800
+++ engage/src/ng_taskbar.c	2011-07-17 17:49:01.277788040 +0800
@@ -440,6 +440,7 @@
 		      ll_it->class == it->class &&
 		      l_it->class != it->class)
 		    break;
+          ll_it = l_it;
 	       }
 	     else
 	       {
@@ -455,7 +456,7 @@
    if (l_it)
      {
         if (box->cfg->taskbar_append_right)
-           box->items = eina_list_append_relative(box->items, it, l_it);
+           box->items = eina_list_append_relative(box->items, it, ll_it);
         else
            box->items = eina_list_prepend_relative(box->items, it, l_it);
      }
@@ -732,7 +733,7 @@
           } /* switch */
         ngi_border_menu_show(item->box, it->border, x, y, dir, ev->timestamp);
      }
-   else if (ev->buttons == 1 && ev->double_click && !it->border->iconic)
+   else if (ev->buttons == 1 && !ev->double_click && bd->focused)
      {
         e_border_iconify(it->border);
      }
@@ -759,7 +760,21 @@
 	ngi_bar_lock(item->box->ng, 0);
      }
 
-   if (ev->buttons != 1)
+   
+   if (ev->buttons == 2 && bd)
+     {
+	char buf[1024];
+	E_Action *act = e_action_find("scale-windows");
+
+	if (!act) return;
+	if (!bd->client.icccm.class) return;
+	  
+    if (bd->iconic) e_border_uniconify(bd);
+	snprintf(buf, 1024, "go_scale_class:%s", bd->client.icccm.class);
+	act->func.go(NULL, buf);
+    return;
+     }
+   else if (ev->buttons != 1)
      return;
 
    if (bd->shaded)
@@ -784,19 +799,7 @@
      {
 	e_border_raise(bd);
      }
-   if (bd->focused)
-     {
-	char buf[1024];
-	E_Action *act = e_action_find("scale-windows");
-
-	if (!act) return;
-	if (!bd->client.icccm.class) return;
-	  
-	snprintf(buf, 1024, "go_scale_class:%s", bd->client.icccm.class);
-	act->func.go(NULL, buf);
-     }
-   else
-     e_border_focus_set(bd, 1, 1);
+   e_border_focus_set(bd, 1, 1);
 }
 
 
