diff --git a/mcs-plugin/Makefile.am b/mcs-plugin/Makefile.am
index c55239312d123b7e6fe6d81ff1d8cd51ed42c393..15903c321e8bf63fa3ef881c72be40ad91725623 100644
--- a/mcs-plugin/Makefile.am
+++ b/mcs-plugin/Makefile.am
@@ -61,8 +61,8 @@ workspaces_plugin_la_SOURCES =						\
 	margins.h							\
 	workspaces.c							\
 	workspaces.h							\
-	plugin.c							\
-	plugin.h							\
+	workspaces_plugin.c						\
+	workspaces_plugin.h						\
 	monitor-icon.h
 
 workspaces_plugin_la_CFLAGS =						\
diff --git a/mcs-plugin/margins.c b/mcs-plugin/margins.c
index 85c73ac99e990af9d93062a84dfc28cd3ce8085d..e4a829d4f1991d946cb8ba9e7e9bad422e763ef3 100644
--- a/mcs-plugin/margins.c
+++ b/mcs-plugin/margins.c
@@ -38,7 +38,7 @@
 #include <libxfcegui4/libxfcegui4.h>
 #include <xfce-mcs-manager/manager-plugin.h>
 
-#include "plugin.h"
+#include "workspaces_plugin.h"
 #include "monitor-icon.h"
 #include "margins.h"
 
diff --git a/mcs-plugin/workspaces.c b/mcs-plugin/workspaces.c
index 18da1659998a91e73875650a6e02b16fadeb85ab..b3d91478be4be0d0ef28f0eb9920ebc65d6fb83a 100644
--- a/mcs-plugin/workspaces.c
+++ b/mcs-plugin/workspaces.c
@@ -41,7 +41,7 @@
 #include <libxfce4mcs/mcs-manager.h>
 #include <xfce-mcs-manager/manager-plugin.h>
 
-#include "plugin.h"
+#include "workspaces_plugin.h"
 #include "workspaces.h"
 
 #define MAX_COUNT 32
@@ -387,24 +387,19 @@ edit_name_dialog (GtkTreeModel * model, GtkTreeIter * iter,
 static gboolean
 cb_activate_item (GtkTreeView * tree, GdkEventButton * event, McsManager * manager)
 {
+    GtkTreeSelection *selection;
     GtkTreePath *path;
     GtkTreeIter iter;
     GtkTreeModel *model;
+    char *name;
+    int number;
 
-    if (gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, NULL, NULL, NULL))
-    {
-        char *name;
-        int number;
-
-        model = gtk_tree_view_get_model (tree);
-        gtk_tree_model_get_iter (model, &iter, path);
-        gtk_tree_view_set_cursor (tree, path, NULL, FALSE);
+    selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (treeview));
+    gtk_tree_selection_get_selected (selection, &model, &iter);
+    gtk_tree_model_get (model, &iter, NUMBER_COLUMN, &number, NAME_COLUMN, &name, -1);
 
-        gtk_tree_model_get (model, &iter, NUMBER_COLUMN, &number, NAME_COLUMN, &name, -1);
-
-        edit_name_dialog (model, &iter, number, name, manager);
-        g_free (name);
-    }
+    edit_name_dialog (model, &iter, number, name, manager);
+    g_free (name);
 
     return TRUE;
 }
@@ -443,6 +438,7 @@ add_names_treeview (GtkWidget * vbox, McsManager * manager)
         GTK_POLICY_NEVER, GTK_POLICY_ALWAYS);
     gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (treeview_scroll), GTK_SHADOW_IN);
     gtk_box_pack_start (GTK_BOX (vbox), treeview_scroll, TRUE, TRUE, 0);
+    gtk_widget_set_size_request (treeview_scroll, -1, 120);
 
     store = gtk_list_store_new (N_COLUMNS, G_TYPE_INT, G_TYPE_STRING);
     treeview = gtk_tree_view_new_with_model (GTK_TREE_MODEL (store));
@@ -470,7 +466,7 @@ add_names_treeview (GtkWidget * vbox, McsManager * manager)
 
     model = gtk_tree_view_get_model (GTK_TREE_VIEW (treeview));
 
-    g_signal_connect (treeview, "activate", G_CALLBACK (cb_activate_item), manager);
+    g_signal_connect (treeview, "row-activated", G_CALLBACK (cb_activate_item), manager);
 }
 
 /* workspace count */
diff --git a/mcs-plugin/workspaces_plugin.c b/mcs-plugin/workspaces_plugin.c
index ece45c91b348daead8e1d23159ae1bf78ac60465..e8c9ca94f709339d46c9c0c1c3d13de81a704d3e 100644
--- a/mcs-plugin/workspaces_plugin.c
+++ b/mcs-plugin/workspaces_plugin.c
@@ -42,7 +42,7 @@
 #include <libxfce4mcs/mcs-common.h>
 #include <libxfce4mcs/mcs-manager.h>
 
-#include "plugin.h"
+#include "workspaces_plugin.h"
 #include "margins.h"
 #include "workspaces.h"
 
diff --git a/mcs-plugin/plugin.h b/mcs-plugin/workspaces_plugin.h
similarity index 100%
rename from mcs-plugin/plugin.h
rename to mcs-plugin/workspaces_plugin.h