diff --git a/src/fe-gtk/chanview-tree.c b/src/fe-gtk/chanview-tree.c index ca70214e..09ca2dbb 100644 --- a/src/fe-gtk/chanview-tree.c +++ b/src/fe-gtk/chanview-tree.c @@ -62,17 +62,9 @@ cv_tree_click_cb (GtkTreeView *tree, GdkEventButton *event, chanview *cv) GtkTreeIter iter; int ret = FALSE; - if (event->button != 3 && event->state == 0) - return FALSE; - sel = gtk_tree_view_get_selection (tree); if (gtk_tree_view_get_path_at_pos (tree, event->x, event->y, &path, 0, 0, 0)) { - if (event->button == 2) - { - gtk_tree_selection_unselect_all (sel); - gtk_tree_selection_select_path (sel, path); - } if (gtk_tree_model_get_iter (GTK_TREE_MODEL (cv->store), &iter, path)) { gtk_tree_model_get (GTK_TREE_MODEL (cv->store), &iter, COL_CHAN, &ch, -1); diff --git a/src/fe-gtk/maingui.c b/src/fe-gtk/maingui.c index 0f8db0bf..4bd5d370 100644 --- a/src/fe-gtk/maingui.c +++ b/src/fe-gtk/maingui.c @@ -1605,8 +1605,8 @@ mg_create_tabmenu (session *sess, GdkEventButton *event, chan *ch) static gboolean mg_tab_contextmenu_cb (chanview *cv, chan *ch, int tag, gpointer ud, GdkEventButton *event) { - /* shift-click to close a tab */ - if ((event->state & STATE_SHIFT) && event->type == GDK_BUTTON_PRESS) + /* middle-click or shift-click to close a tab */ + if ((event->button == 2 || event->state & STATE_SHIFT) && event->type == GDK_BUTTON_PRESS) { mg_xbutton_cb (cv, ch, tag, ud); return FALSE;