diff options
-rw-r--r-- | README | 2 | ||||
-rw-r--r-- | uzbl-core.c | 14 | ||||
-rw-r--r-- | uzbl-core.h | 3 |
3 files changed, 19 insertions, 0 deletions
@@ -144,6 +144,8 @@ The following commands are recognized: * `search <string>` * `search_reverse <string>` - search with no string will search for the next/previous occurrence of the string previously searched for +* `search_clear` + - unmark and clear the search string * `toggle_insert_mode <optional state>` TODO new plugin based syntax - if the optional state is 0, disable insert mode. If 1, enable insert mode. * `dump_config` diff --git a/uzbl-core.c b/uzbl-core.c index be2ce75..2f808b5 100644 --- a/uzbl-core.c +++ b/uzbl-core.c @@ -630,6 +630,7 @@ struct {const char *key; CommandInfo value;} cmdlist[] = { "exit", {close_uzbl, 0} }, { "search", {search_forward_text, TRUE} }, { "search_reverse", {search_reverse_text, TRUE} }, + { "search_clear", {search_clear, TRUE} }, { "dehilight", {dehilight, 0} }, { "set", {set_var, TRUE} }, { "dump_config", {act_dump_config, 0} }, @@ -1094,6 +1095,7 @@ search_text (WebKitWebView *page, GArray *argv, const gboolean forward) { } } + if (uzbl.state.searchtx) { if (uzbl.state.verbose) printf ("Searching: %s\n", uzbl.state.searchtx); @@ -1103,6 +1105,18 @@ search_text (WebKitWebView *page, GArray *argv, const gboolean forward) { } void +search_clear(WebKitWebView *page, GArray *argv, GString *result) { + (void) argv; + (void) result; + + webkit_web_view_unmark_text_matches (page); + if(uzbl.state.searchtx) { + g_free(uzbl.state.searchtx); + uzbl.state.searchtx = NULL; + } +} + +void search_forward_text (WebKitWebView *page, GArray *argv, GString *result) { (void) result; search_text(page, argv, TRUE); diff --git a/uzbl-core.h b/uzbl-core.h index 5c291e5..82137e3 100644 --- a/uzbl-core.h +++ b/uzbl-core.h @@ -374,6 +374,9 @@ void search_reverse_text (WebKitWebView *page, GArray *argv, GString *result); void +search_clear(WebKitWebView *page, GArray *argv, GString *result); + +void dehilight (WebKitWebView *page, GArray *argv, GString *result); void |