--- libwnck-2.26.0.orig/libwnck/tasklist.c 2009-03-16 23:26:49.000000000 +0100 +++ libwnck-2.26.0/libwnck/tasklist.c 2009-07-05 20:27:50.000000000 +0200 @@ -234,6 +234,8 @@ GdkPixmap *background; guint drag_start_time; + + gboolean scroll_enabled; }; static GType wnck_task_get_type (void); @@ -725,6 +727,8 @@ tasklist->priv->drag_start_time = 0; + tasklist->priv->scroll_enabled = FALSE; + atk_obj = gtk_widget_get_accessible (widget); atk_object_set_name (atk_obj, _("Window List")); atk_object_set_description (atk_obj, _("Tool to switch between visible windows")); @@ -991,6 +995,15 @@ tasklist->priv->switch_workspace_on_unminimize = switch_workspace_on_unminimize; } +void +wnck_tasklist_set_scroll_enabled (WnckTasklist *tasklist, + gboolean scroll_enabled) +{ + g_return_if_fail (WNCK_IS_TASKLIST (tasklist)); + + tasklist->priv->scroll_enabled = scroll_enabled; +} + /** * wnck_tasklist_set_include_all_workspaces: * @tasklist: a #WnckTasklist. @@ -1999,6 +2012,9 @@ gint row = 0; gint col = 0; + if (!tasklist->priv->scroll_enabled) + return FALSE; + window = g_list_find (tasklist->priv->windows, tasklist->priv->active_task); if (window) --- libwnck-2.26.0.orig/libwnck/tasklist.h 2009-03-16 23:26:49.000000000 +0100 +++ libwnck-2.26.0/libwnck/tasklist.h 2009-07-05 20:30:59.000000000 +0200 @@ -93,6 +93,8 @@ WnckTasklistGroupingType grouping); void wnck_tasklist_set_switch_workspace_on_unminimize (WnckTasklist *tasklist, gboolean switch_workspace_on_unminimize); +void wnck_tasklist_set_scroll_enabled (WnckTasklist *tasklist, + gboolean scroll_enabled); void wnck_tasklist_set_grouping_limit (WnckTasklist *tasklist, gint limit); void wnck_tasklist_set_include_all_workspaces (WnckTasklist *tasklist,