From 91f955ae618455fd644bc25c7e518693acba904a Mon Sep 17 00:00:00 2001 From: Alexander Butenko Date: Sat, 11 Jun 2011 14:50:45 -0400 Subject: [PATCH] Make URL handler button configurable via hidden setting --- doc/Terminal.xml | 11 +++++++++++ terminal/terminal-preferences.c | 11 +++++++++++ terminal/terminal-widget.c | 5 ++++- 3 files changed, 26 insertions(+), 1 deletions(-) diff --git a/doc/Terminal.xml b/doc/Terminal.xml index 50fd13a..9757a5e 100644 --- a/doc/Terminal.xml +++ b/doc/Terminal.xml @@ -1098,6 +1098,7 @@ MiscMouseAutohide=FALSE MiscTabCloseButtons=TRUE MiscTabCloseMiddleClick=TRUE MiscTabPosition=GTK_POS_TOP +MiscUrlActivateButton=2 MiscHighlightUrls=TRUE @@ -1245,6 +1246,16 @@ MiscHighlightUrls=TRUE + MiscUrlActivateButton + + + This setting controls which mouse button opens URL. + Allowed values are: 1 - left mouse button, 2 - right mouse button + + + + + MiscHighlightUrls diff --git a/terminal/terminal-preferences.c b/terminal/terminal-preferences.c index 0809118..734ee9a 100644 --- a/terminal/terminal-preferences.c +++ b/terminal/terminal-preferences.c @@ -119,6 +119,7 @@ enum PROP_MISC_TAB_CLOSE_BUTTONS, PROP_MISC_TAB_CLOSE_MIDDLE_CLICK, PROP_MISC_TAB_POSITION, + PROP_MISC_URL_ACTIVATE_BUTTON, PROP_MISC_HIGHLIGHT_URLS, PROP_SCROLLING_BAR, PROP_SCROLLING_LINES, @@ -1159,6 +1160,16 @@ terminal_preferences_class_init (TerminalPreferencesClass *klass) EXO_PARAM_READWRITE)); /** + * TerminalPreferences:misc-url-activate-button: + **/ + g_object_class_install_property (gobject_class, + PROP_MISC_URL_ACTIVATE_BUTTON, + g_param_spec_uint ("misc-url-activate-button", + "misc-url-activate-button", + "MiscUrlActivateButton", + 1, 2, 2, + EXO_PARAM_READWRITE)); + /** * TerminalPreferences:misc-highlight-urls: **/ g_object_class_install_property (gobject_class, diff --git a/terminal/terminal-widget.c b/terminal/terminal-widget.c index 7087516..4287a22 100644 --- a/terminal/terminal-widget.c +++ b/terminal/terminal-widget.c @@ -396,8 +396,11 @@ terminal_widget_button_press_event (GtkWidget *widget, gchar *match; guint signal_id = 0; gint tag; + guint mouse_button; - if (event->button == 2 && event->type == GDK_BUTTON_PRESS) + g_object_get (G_OBJECT (TERMINAL_WIDGET (widget)->preferences), "misc-url-activate-button", &mouse_button, NULL); + + if (event->button == mouse_button && event->type == GDK_BUTTON_PRESS) { /* middle-clicking on an URI fires the responsible application */ match = vte_terminal_match_check (VTE_TERMINAL (widget), -- 1.7.5.2