diff -u gnome-panel-2.26.2.orig/applets/wncklet/window-list.c gnome-panel-2.26.2/applets/wncklet/window-list.c
--- gnome-panel-2.26.2.orig/applets/wncklet/window-list.c	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.26.2/applets/wncklet/window-list.c	2009-07-17 18:46:48.000000000 +0200
@@ -35,6 +35,7 @@
 	GtkWidget *tasklist;
 	
 	gboolean include_all_workspaces;
+	gboolean scroll_enabled;
 	WnckTasklistGroupingType grouping;
 	gboolean move_unminimized_windows;
   
@@ -53,11 +54,12 @@
 	GtkWidget *minimized_windows_label;
 	GtkWidget *move_minimized_radio;
 	GtkWidget *change_workspace_radio;
+	GtkWidget *enable_scroll_check;
 
 	GtkWidget *about;
 
 	/* gconf listeners id */
-	guint listeners [3];
+	guint listeners [4];
 } TasklistData;
 
 static void display_properties_dialog (BonoboUIComponent *uic,
@@ -85,6 +87,8 @@
 				    tasklist->grouping);
 	wnck_tasklist_set_include_all_workspaces (WNCK_TASKLIST (tasklist->tasklist),
 						  tasklist->include_all_workspaces);
+	wnck_tasklist_set_scroll_enabled (WNCK_TASKLIST (tasklist->tasklist),
+					  tasklist->scroll_enabled);
 	wnck_tasklist_set_switch_workspace_on_unminimize (WNCK_TASKLIST (tasklist->tasklist),
 							  tasklist->move_unminimized_windows);
 }
@@ -176,12 +180,14 @@
 	gconf_client_notify_remove (client, tasklist->listeners[0]);
 	gconf_client_notify_remove (client, tasklist->listeners[1]);
 	gconf_client_notify_remove (client, tasklist->listeners[2]);
+	gconf_client_notify_remove (client, tasklist->listeners[3]);
 
 	g_object_unref (G_OBJECT (client));
 	
 	tasklist->listeners[0] = 0;
 	tasklist->listeners[1] = 0;
 	tasklist->listeners[2] = 0;
+	tasklist->listeners[3] = 0;
 
 	if (tasklist->properties_dialog)
 		gtk_widget_destroy (tasklist->properties_dialog);
@@ -243,6 +249,34 @@
 	tasklist_properties_update_content_radio (tasklist);
 }
 
+static void
+tasklist_properties_update_scroll (TasklistData *tasklist)
+{
+	if (tasklist->enable_scroll_check == NULL)
+		return;
+
+	gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (tasklist->enable_scroll_check), tasklist->scroll_enabled);
+}
+
+static void
+scroll_enabled_changed (GConfClient  *client,
+			guint         cnxn_id,
+			GConfEntry   *entry,
+			TasklistData *tasklist)
+{
+	gboolean value;
+
+	if (!entry->value || entry->value->type != GCONF_VALUE_BOOL)
+		return;
+	
+	value = gconf_value_get_bool (entry->value);
+	
+	tasklist->scroll_enabled = (value != 0);
+	tasklist_update (tasklist);
+
+	tasklist_properties_update_scroll (tasklist);
+}
+
 static WnckTasklistGroupingType
 get_grouping_type (GConfValue *value)
 {
@@ -387,6 +421,15 @@
 				NULL, NULL);
 	g_free (key);
 
+	key = panel_applet_gconf_get_full_key (PANEL_APPLET (tasklist->applet),
+					       "scroll_enabled");
+	tasklist->listeners[3] = gconf_client_notify_add(client, key,
+				(GConfClientNotifyFunc)scroll_enabled_changed,
+				tasklist,
+				NULL, NULL);
+	g_free (key);
+
+
 	g_object_unref (G_OBJECT (client));
 }
 
@@ -487,6 +530,13 @@
 	}
 
 	error = NULL;
+	tasklist->scroll_enabled = panel_applet_gconf_get_bool (applet, "scroll_enabled", &error);
+	if (error) {
+		g_error_free (error);
+		tasklist->scroll_enabled = TRUE; /* Default value */
+	}
+
+	error = NULL;
 	tasklist->grouping = -1;
 	value = panel_applet_gconf_get_value (applet, "group_windows", &error);
 	if (error) {
@@ -650,6 +700,16 @@
 }
 
 static void
+enable_scroll_toggled (GtkCheckButton *button,
+				TasklistData    *tasklist)
+{
+	panel_applet_gconf_set_bool (PANEL_APPLET (tasklist->applet),
+				     "scroll_enabled",
+				     gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (button)),
+				     NULL);
+}
+
+static void
 setup_sensitivity (TasklistData *tasklist,
 		   GConfClient *client,
 		   GladeXML *xml,
@@ -700,6 +760,7 @@
 
 	tasklist->show_current_radio = WID ("show_current_radio");
 	tasklist->show_all_radio = WID ("show_all_radio");
+	tasklist->enable_scroll_check = WID ("enable_scroll_check");
 
 	setup_sensitivity (tasklist, client, xml,
 			   "show_current_radio",
@@ -753,6 +814,10 @@
 	tasklist_properties_update_content_radio (tasklist);
 	g_signal_connect (G_OBJECT (tasklist->show_all_radio), "toggled",
 			  (GCallback) display_all_workspaces_toggled, tasklist);
+	
+	tasklist_properties_update_scroll (tasklist);
+	g_signal_connect (G_OBJECT (tasklist->enable_scroll_check), "toggled",
+			  (GCallback) enable_scroll_toggled, tasklist);
 
 	g_signal_connect_swapped (WID ("done_button"), "clicked",
 				  (GCallback) gtk_widget_hide, 
diff -u gnome-panel-2.26.2.orig/applets/wncklet/window-list.glade gnome-panel-2.26.2/applets/wncklet/window-list.glade
--- gnome-panel-2.26.2.orig/applets/wncklet/window-list.glade	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.26.2/applets/wncklet/window-list.glade	2009-07-17 18:41:53.000000000 +0200
@@ -72,6 +72,24 @@
                             <property name="position">1</property>
                           </packing>
                         </child>
+		      <child>
+			<widget class="GtkCheckButton" id="enable_scroll_check">
+			  <property name="visible">True</property>
+			  <property name="can_focus">True</property>
+			  <property name="label" translatable="yes">Enable scroll-wh_eel switching</property>
+			  <property name="use_underline">True</property>
+			  <property name="relief">GTK_RELIEF_NORMAL</property>
+			  <property name="focus_on_click">True</property>
+			  <property name="active">False</property>
+			  <property name="inconsistent">False</property>
+			  <property name="draw_indicator">True</property>
+			</widget>
+			<packing>
+			  <property name="padding">0</property>
+			  <property name="expand">False</property>
+			  <property name="fill">False</property>
+			</packing>
+		      </child>
                       </widget>
                     </child>
                   </widget>
diff -u gnome-panel-2.26.2.orig/applets/wncklet/window-list.schemas.in gnome-panel-2.26.2/applets/wncklet/window-list.schemas.in
--- gnome-panel-2.26.2.orig/applets/wncklet/window-list.schemas.in	2009-04-19 19:45:09.000000000 +0200
+++ gnome-panel-2.26.2/applets/wncklet/window-list.schemas.in	2009-07-17 18:45:35.000000000 +0200
@@ -16,6 +16,19 @@
       </schema>
 
       <schema>
+        <key>/schemas/apps/window_list_applet/prefs/scroll_enabled</key>
+        <owner>window-list-applet</owner>
+        <type>bool</type>
+        <default>true</default>
+        <locale name="C">
+          <short>Enables scroll-wheel switching</short>
+          <long>
+            If true, scroll-wheel switching over the tasklist is enabled.
+          </long>
+        </locale>
+      </schema>
+
+      <schema>
         <key>/schemas/apps/window_list_applet/prefs/group_windows</key>
         <owner>window-list-applet</owner>
         <type>string</type>
