diff options
author | Dieter Plaetinck <dieter@plaetinck.be> | 2009-12-15 20:30:53 +0100 |
---|---|---|
committer | Dieter Plaetinck <dieter@plaetinck.be> | 2009-12-15 20:30:53 +0100 |
commit | cc2ac18e193530a8f7878716206ef70455eeb447 (patch) | |
tree | fe38998f529a1e753d2a15376bab6e0d2a3c92a5 | |
parent | 5462df3c4e6c210e51991175b340ac3ffa4b5287 (diff) | |
parent | 77e2678988494be1146ab6141f547fa64b8401b7 (diff) |
merge in masons changes
-rw-r--r-- | examples/data/uzbl/plugins/bind.py | 1 | ||||
-rw-r--r-- | examples/data/uzbl/scripts/follow_Numbers.js | 5 | ||||
-rw-r--r-- | examples/data/uzbl/scripts/follow_Numbers_Strings.js | 7 | ||||
-rwxr-xr-x | examples/data/uzbl/scripts/uzbl-event-manager | 18 | ||||
-rw-r--r-- | uzbl-core.c | 17 |
5 files changed, 34 insertions, 14 deletions
diff --git a/examples/data/uzbl/plugins/bind.py b/examples/data/uzbl/plugins/bind.py index 9702434..3dedf16 100644 --- a/examples/data/uzbl/plugins/bind.py +++ b/examples/data/uzbl/plugins/bind.py @@ -11,7 +11,6 @@ And it is also possible to execute a function on activation: import sys import re -import pprint # Export these functions to uzbl.<name> __export__ = ['bind', 'del_bind', 'del_bind_by_glob', 'get_binds'] diff --git a/examples/data/uzbl/scripts/follow_Numbers.js b/examples/data/uzbl/scripts/follow_Numbers.js index efde4d7..00b279e 100644 --- a/examples/data/uzbl/scripts/follow_Numbers.js +++ b/examples/data/uzbl/scripts/follow_Numbers.js @@ -17,6 +17,10 @@ var doc = document; var win = window; var links = document.links; var forms = document.forms; + +//Reset keycmd, modcmd and return to default mode. +function clearKeycmd() { Uzbl.run('set mode ='); } + //Make onlick-links "clickable" try { HTMLElement.prototype.click = function() { @@ -123,6 +127,7 @@ function generateHint(el, label) { //but at least set the href of the link. (needs some improvements) function clickElem(item) { removeAllHints(); + clearKeycmd(); if (item) { var name = item.tagName; if (name == 'A') { diff --git a/examples/data/uzbl/scripts/follow_Numbers_Strings.js b/examples/data/uzbl/scripts/follow_Numbers_Strings.js index 67da2f9..e50da5d 100644 --- a/examples/data/uzbl/scripts/follow_Numbers_Strings.js +++ b/examples/data/uzbl/scripts/follow_Numbers_Strings.js @@ -4,6 +4,10 @@ var doc = document; var win = window; var links = document.links; var forms = document.forms; + +//Reset keycmd, modcmd and return to default mode. +function clearKeycmd() { Uzbl.run('set mode ='); } + try { HTMLElement.prototype.click = function() { if (typeof this.onclick == 'function') { @@ -93,8 +97,10 @@ function generateHint(el, label) { hint.style.webkitTransform = 'scale(1) rotate(0deg) translate(-6px,-5px)'; return hint; } + function clickElem(item) { removeAllHints(); + clearKeycmd(); if (item) { var name = item.tagName; if (name == 'A') { @@ -117,6 +123,7 @@ function clickElem(item) { } } } + function addLinks() { res = [[], []]; for (var l = 0; l < links.length; l++) { diff --git a/examples/data/uzbl/scripts/uzbl-event-manager b/examples/data/uzbl/scripts/uzbl-event-manager index 6669282..7a02da9 100755 --- a/examples/data/uzbl/scripts/uzbl-event-manager +++ b/examples/data/uzbl/scripts/uzbl-event-manager @@ -357,6 +357,7 @@ class UzblInstance(object): self.depth = 0 self.buffer = '' + self.pid = None # Call the init() function in every plugin. Inside the init function # is where the plugins insert the hooks into the event system. @@ -423,6 +424,9 @@ class UzblInstance(object): '''Connect event with handler and return the newly created handler. Handlers can either be a function or a uzbl command string.''' + event = event.upper().strip() + assert event and ' ' not in event + if event not in self._handlers.keys(): self._handlers[event] = [] @@ -478,12 +482,16 @@ class UzblInstance(object): def event(self, event, *args, **kargs): - '''Raise a custom event.''' + '''Raise an event.''' + + event = event.upper() + elems = [event,] + if args: elems.append(unicode(args)) + if kargs: elems.append(unicode(kargs)) + print "%s--> %s" % (' ' * self.depth, ' '.join(elems)) - # Silence _printing_ of geo events while debugging. - if event != "GEOMETRY_CHANGED": - print "%s--> %s %s %s" % (' ' * self.depth, event, args, - '' if not kargs else kargs) + if event == "INSTANCE_START" and args: + self.pid = int(args[0]) if event not in self._handlers: return diff --git a/uzbl-core.c b/uzbl-core.c index f897b48..fd8ee41 100644 --- a/uzbl-core.c +++ b/uzbl-core.c @@ -266,6 +266,7 @@ expand(const char *s, guint recurse) { } else if(recurse != 1 && etype == EXP_EXPR) { + /* execute program directly */ if(ret[0] == '+') { mycmd = expand(ret+1, 1); @@ -284,6 +285,7 @@ expand(const char *s, guint recurse) { g_free(quoted); g_free(tmp); } + if (err) { g_printerr("error on running command: %s\n", err->message); g_error_free (err); @@ -361,7 +363,7 @@ itos(int val) { gchar* strfree(gchar *str) { g_free(str); - return NULL; + return NULL; } gchar* @@ -625,7 +627,6 @@ scroll_cmd(WebKitWebView* page, GArray *argv, GString *result) { } - /* VIEW funcs (little webkit wrappers) */ #define VIEWFUNC(name) void view_##name(WebKitWebView *page, GArray *argv, GString *result){(void)argv; (void)result; webkit_web_view_##name(page);} VIEWFUNC(reload) @@ -913,11 +914,11 @@ void event(WebKitWebView *page, GArray *argv, GString *result) { (void) page; (void) result; GString *event_name; - gchar **split = NULL; - + gchar **split = NULL; + if(!argv_idx(argv, 0)) return; - + split = g_strsplit(argv_idx(argv, 0), " ", 2); if(split[0]) event_name = g_string_ascii_up(g_string_new(split[0])); @@ -1561,8 +1562,8 @@ parse_command(const char *cmd, const char *param, GString *result) { send_event(COMMAND_EXECUTED, tmp->str, NULL); g_string_free(tmp, TRUE); } - } - else { + } + else { gchar *tmp = g_strdup_printf("%s %s", cmd, param?param:""); send_event(COMMAND_ERROR, tmp, NULL); g_free(tmp); @@ -2406,7 +2407,7 @@ retrieve_geometry() { void initialize(int argc, char *argv[]) { int i; - + for(i=0; i<argc; ++i) { if(!strcmp(argv[i], "-s") || !strcmp(argv[i], "--socket")) { uzbl.state.plug_mode = TRUE; |