[libwnck] Add option to close windows with mouse middle click on button in tasklist
- From: Marco Trevisan <marcotrevi src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libwnck] Add option to close windows with mouse middle click on button in tasklist
- Date: Fri, 19 Jul 2013 00:44:16 +0000 (UTC)
commit b1a5dbaf5bf3e0bbf021e53c8585e54fd7f753ea
Author: Stefano Karapetsas <stefano karapetsas com>
Date: Thu Jul 18 17:02:39 2013 +0200
Add option to close windows with mouse middle click on button in tasklist
From http://git.mate-desktop.org/libmatewnck/commit/?id=6d3058d
https://bugzilla.gnome.org/show_bug.cgi?id=704472
libwnck/tasklist.c | 31 +++++++++++++++++++++++++++++++
libwnck/tasklist.h | 2 ++
2 files changed, 33 insertions(+), 0 deletions(-)
---
diff --git a/libwnck/tasklist.c b/libwnck/tasklist.c
index d851a54..11b4e5c 100644
--- a/libwnck/tasklist.c
+++ b/libwnck/tasklist.c
@@ -202,6 +202,7 @@ struct _WnckTasklistPrivate
gint max_button_height;
gboolean switch_workspace_on_unminimize;
+ gboolean middle_click_close;
WnckTasklistGroupingType grouping;
gint grouping_limit;
@@ -641,6 +642,7 @@ wnck_tasklist_init (WnckTasklist *tasklist)
tasklist->priv->max_button_height = 0;
tasklist->priv->switch_workspace_on_unminimize = FALSE;
+ tasklist->priv->middle_click_close = FALSE;
tasklist->priv->grouping = WNCK_TASKLIST_AUTO_GROUP;
tasklist->priv->grouping_limit = DEFAULT_GROUPING_LIMIT;
@@ -901,6 +903,26 @@ wnck_tasklist_set_button_relief (WnckTasklist *tasklist, GtkReliefStyle relief)
}
/**
+ * wnck_tasklist_set_middle_click_close:
+ * @tasklist: a #WnckTasklist.
+ * @middle_click_close: whether to close windows with middle click on
+ * button.
+ *
+ * Sets @tasklist to close windows with mouse middle click on button,
+ * according to @middle_click_close.
+ *
+ * Since: 3.4.6
+ */
+void
+wnck_tasklist_set_middle_click_close (WnckTasklist *tasklist,
+ gboolean middle_click_close)
+{
+ g_return_if_fail (WNCK_IS_TASKLIST (tasklist));
+
+ tasklist->priv->middle_click_close = middle_click_close;
+}
+
+/**
* wnck_tasklist_set_switch_workspace_on_unminimize:
* @tasklist: a #WnckTasklist.
* @switch_workspace_on_unminimize: whether to activate the #WnckWorkspace a
@@ -3600,6 +3622,15 @@ wnck_task_button_press_event (GtkWidget *widget,
return FALSE;
}
+ else if (event->button == 2)
+ {
+ /* middle-click close window */
+ if (task->tasklist->priv->middle_click_close == TRUE)
+ {
+ wnck_window_close (task->window, gtk_get_current_event_time ());
+ return TRUE;
+ }
+ }
else if (event->button == 3)
{
if (task->action_menu)
diff --git a/libwnck/tasklist.h b/libwnck/tasklist.h
index 2961840..a0de362 100644
--- a/libwnck/tasklist.h
+++ b/libwnck/tasklist.h
@@ -97,6 +97,8 @@ void wnck_tasklist_set_grouping (WnckTasklist *tasklist,
WnckTasklistGroupingType grouping);
void wnck_tasklist_set_switch_workspace_on_unminimize (WnckTasklist *tasklist,
gboolean switch_workspace_on_unminimize);
+void wnck_tasklist_set_middle_click_close (WnckTasklist *tasklist,
+ gboolean middle_click_close);
void wnck_tasklist_set_grouping_limit (WnckTasklist *tasklist,
gint limit);
void wnck_tasklist_set_include_all_workspaces (WnckTasklist *tasklist,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]