[epiphany] Align hotkeys + click actions at common browser standard
- From: Michael Catanzaro <mcatanzaro src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [epiphany] Align hotkeys + click actions at common browser standard
- Date: Wed, 26 Dec 2018 20:38:54 +0000 (UTC)
commit 7939d003b6bb0869330f83bef75c973ff7904908
Author: Jan-Michael Brummer <jan brummer tabos org>
Date: Tue Dec 25 00:58:34 2018 +0100
Align hotkeys + click actions at common browser standard
* Ctrl + Shift + Left Click = Open in new tab and make it active
* Ctrl + Left Click = Open in new tab
* Shift + Left Click = Open in new window
* Alt + Left Click = Download link
Fixes: https://gitlab.gnome.org/GNOME/epiphany/issues/493
src/ephy-window.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
---
diff --git a/src/ephy-window.c b/src/ephy-window.c
index f8279c0b3..d1583a81d 100644
--- a/src/ephy-window.c
+++ b/src/ephy-window.c
@@ -2043,20 +2043,25 @@ decide_navigation_policy (WebKitWebView *web_view,
ephy_web_view_set_visit_type (EPHY_WEB_VIEW (web_view),
EPHY_PAGE_VISIT_LINK);
- /* New tab in new window for control+shift+click */
- if (button == 1 && state == (GDK_SHIFT_MASK | GDK_CONTROL_MASK) &&
+ /* New tab in new window for shift+click */
+ if (button == GDK_BUTTON_PRIMARY && state == GDK_SHIFT_MASK &&
!g_settings_get_boolean (EPHY_SETTINGS_LOCKDOWN,
EPHY_PREFS_LOCKDOWN_FULLSCREEN)) {
target_window = ephy_window_new ();
}
- /* New tab in existing window for middle click and
+ /* New background tab in existing window for middle click and
* control+click */
- else if (button == 2 || (button == 1 && state == GDK_CONTROL_MASK)) {
+ else if (button == GDK_BUTTON_MIDDLE ||
+ (button == GDK_BUTTON_PRIMARY && (state == GDK_CONTROL_MASK))) {
+ flags |= EPHY_NEW_TAB_APPEND_AFTER;
+ }
+ /* New active tab in existing window for control+shift+click */
+ else if (button == GDK_BUTTON_PRIMARY && (state == (GDK_SHIFT_MASK | GDK_CONTROL_MASK))) {
flags |= EPHY_NEW_TAB_APPEND_AFTER;
inherit_session = TRUE;
}
- /* Shift+click means download URI */
- else if (button == 1 && state == GDK_SHIFT_MASK) {
+ /* Alt+click means download URI */
+ else if (button == GDK_BUTTON_PRIMARY && state == GDK_MOD1_MASK) {
if (save_target_uri (window, web_view)) {
webkit_policy_decision_ignore (decision);
return TRUE;
@@ -2084,6 +2089,9 @@ decide_navigation_policy (WebKitWebView *web_view,
session_state = webkit_web_view_get_session_state (web_view);
webkit_web_view_restore_session_state (WEBKIT_WEB_VIEW (new_view), session_state);
webkit_web_view_session_state_unref (session_state);
+
+ if (button == GDK_BUTTON_PRIMARY)
+ ephy_embed_container_set_active_child (EPHY_EMBED_CONTAINER (window), new_embed);
}
ephy_web_view_load_request (new_view, request);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]