[devhelp] general: make ctrl-click open links in a new tab
- From: Frederic Peters <fpeters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [devhelp] general: make ctrl-click open links in a new tab
- Date: Wed, 27 Jan 2016 17:41:28 +0000 (UTC)
commit 823f7e6aebe20466d484d5746edf5966fee59bb6
Author: Frédéric Péters <fpeters 0d be>
Date: Wed Jan 27 18:40:50 2016 +0100
general: make ctrl-click open links in a new tab
src/dh-window.c | 8 ++++++--
1 files changed, 6 insertions(+), 2 deletions(-)
---
diff --git a/src/dh-window.c b/src/dh-window.c
index 0490d13..de96572 100644
--- a/src/dh-window.c
+++ b/src/dh-window.c
@@ -895,6 +895,8 @@ window_web_view_decide_policy_cb (WebKitWebView *web_view,
WebKitNavigationPolicyDecision *navigation_decision;
WebKitNavigationAction *navigation_action;
gchar *local_uri;
+ gint button;
+ gint state;
if (type != WEBKIT_POLICY_DECISION_TYPE_NAVIGATION_ACTION)
return GDK_EVENT_PROPAGATE;
@@ -906,8 +908,10 @@ window_web_view_decide_policy_cb (WebKitWebView *web_view,
/* make sure to hide the info bar on page change */
gtk_widget_hide (window_get_active_info_bar (window));
- /* middle click */
- if (webkit_navigation_action_get_mouse_button (navigation_action) == 2) {
+ /* middle click or ctrl-click -> new tab */
+ button = webkit_navigation_action_get_mouse_button (navigation_action);
+ state = webkit_navigation_action_get_modifiers (navigation_action);
+ if (button == 2 || (button == 1 && state == GDK_CONTROL_MASK)) {
webkit_policy_decision_ignore (policy_decision);
g_signal_emit (window, signals[OPEN_LINK], 0, uri, DH_OPEN_LINK_NEW_TAB);
return GDK_EVENT_STOP;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]