aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Dieter Plaetinck <dieter@plaetinck.be>2009-05-18 20:47:07 +0200
committerGravatar Barrucadu <mike@barrucadu.co.uk>2009-05-19 20:07:37 +0100
commit6567eb3f4bb040eec0e2d142b63470c10577b291 (patch)
treeaf15270d2c9e93655db77d48fc48da2b5eb99d10
parente026e9f93039571f912445f87f7ef8823e65621d (diff)
duclares keycmdn thingie
-rw-r--r--README3
-rw-r--r--uzbl.c2
2 files changed, 5 insertions, 0 deletions
diff --git a/README b/README
index b46c236..bf4b35c 100644
--- a/README
+++ b/README
@@ -129,6 +129,9 @@ This tells uzbl to execute an action immediately. The simplest example of this
KEYCMD <string>
This sets the interactive command buffer to `<string>`. Keycmd is primarily useful for scripts that help you type a command while still letting you edit it before execution.
For example, if you have a binding like "o _" that opens an URL, then you could create a binding `O` that spawns a script which will set the command buffer to "o current-uri-here", letting you enter relative URLs easily.
+
+ KEYCMDN <string>
+Like KEYCMD, but also emulates a press of return which causes binds with an asterisk or underscore to execute.
(See sample config)
### ACTIONS
diff --git a/uzbl.c b/uzbl.c
index f24aeb7..a81bbc9 100644
--- a/uzbl.c
+++ b/uzbl.c
@@ -1259,6 +1259,8 @@ parse_cmd_line(const char *ctl_line) {
sent in a loop or the whole string in one go like now? */
g_string_assign(uzbl.state.keycmd, tokens[1]);
run_keycmd(FALSE);
+ if (g_strstr_len(ctl_line, 7, "n") || g_strstr_len(ctl_line, 7, "N"))
+ run_keycmd(TRUE);
update_title();
g_strfreev(tokens);
}