From 381316b6f721652a510513efe49751ab503aff9c Mon Sep 17 00:00:00 2001 From: Daniel Micay Date: Fri, 20 Jul 2012 04:54:25 -0400 Subject: [PATCH] add binding to open urls --- README.rst | 1 + termite.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/README.rst b/README.rst index 8baf252..8a61ab2 100644 --- a/README.rst +++ b/README.rst @@ -36,6 +36,7 @@ COMMAND MODE * ``?``: reverse search * ``u``: forward url search * ``U``: reverse url search +* ``Return``: open the current selection as a url * ``n``: next search match * ``N``: previous search match diff --git a/termite.c b/termite.c index 48dc821..ad4f7eb 100644 --- a/termite.c +++ b/termite.c @@ -6,6 +6,7 @@ #include #include #include +#include #ifndef __GNUC__ # define __attribute__(x) @@ -192,6 +193,13 @@ static void move_to_row_start(VteTerminal *vte, select_info *select, long row) { update_selection(vte, select); } +static void open_selection(VteTerminal *vte) { + AtkText *text = ATK_TEXT(vte_terminal_accessible_new(vte)); + char *selection = atk_text_get_selection(text, 0, NULL, NULL); + launch_browser(selection); + g_free(selection); +} + /* {{{ CALLBACKS */ void window_title_cb(VteTerminal *vte, gboolean *dynamic_title) { const char * const title = *dynamic_title ? vte_terminal_get_window_title(vte) : NULL; @@ -271,6 +279,9 @@ gboolean key_press_cb(VteTerminal *vte, GdkEventKey *event, keybind_info *info) case GDK_KEY_U: search(vte, url_regex, true); break; + case GDK_KEY_Return: + open_selection(vte); + break; } return TRUE; }