From 00de6ef299fb3aedc8a0dc56a799e547f481dd68 Mon Sep 17 00:00:00 2001 From: Mason Larobina Date: Sun, 13 Dec 2009 05:10:39 +0800 Subject: Print all events, store the instance pid and check event name. --- examples/data/uzbl/scripts/uzbl-event-manager | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'examples') 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 -- cgit v1.2.3 From 77e2678988494be1146ab6141f547fa64b8401b7 Mon Sep 17 00:00:00 2001 From: Mason Larobina Date: Sun, 13 Dec 2009 21:28:12 +0800 Subject: Clear the keycmd after link follow. --- examples/data/uzbl/scripts/follow_Numbers.js | 5 +++++ examples/data/uzbl/scripts/follow_Numbers_Strings.js | 7 +++++++ 2 files changed, 12 insertions(+) (limited to 'examples') 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++) { -- cgit v1.2.3 From 1c0e3e17db56de531feaac089f7744284b747243 Mon Sep 17 00:00:00 2001 From: Mason Larobina Date: Mon, 14 Dec 2009 00:00:19 +0800 Subject: Make sure the config keys for all possible completions are known. --- examples/data/uzbl/plugins/completion.py | 3 +++ 1 file changed, 3 insertions(+) (limited to 'examples') diff --git a/examples/data/uzbl/plugins/completion.py b/examples/data/uzbl/plugins/completion.py index 770f310..8e055e1 100644 --- a/examples/data/uzbl/plugins/completion.py +++ b/examples/data/uzbl/plugins/completion.py @@ -29,6 +29,9 @@ def escape(str): def add_instance(uzbl, *args): UZBLS[uzbl] = dict(DEFAULTS) + # Make sure the config keys for all possible completions are known. + uzbl.send('dump_config_as_events') + def del_instance(uzbl, *args): if uzbl in UZBLS: -- cgit v1.2.3 From 3261368285832a1efc552a8be4dfd7e6f53b5505 Mon Sep 17 00:00:00 2001 From: Mason Larobina Date: Mon, 14 Dec 2009 03:00:19 +0800 Subject: Fix some comments, orders and alignments in the example config. --- examples/config/uzbl/config | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) (limited to 'examples') diff --git a/examples/config/uzbl/config b/examples/config/uzbl/config index 5585195..d627059 100644 --- a/examples/config/uzbl/config +++ b/examples/config/uzbl/config @@ -1,33 +1,36 @@ # example uzbl config. # all settings are optional. you can use uzbl without any config at all (but it won't do much) -set prefix = /usr/local +set prefix = /usr/local # === Shortcuts / Aliases =================================================== +# Config related events (use the request function): # request BIND = -set bind = request BIND +set bind = request BIND # request MODE_CONFIG = ... -set toggle_modes = event TOGGLE_MODES +set mode_config = request MODE_CONFIG # request ON_EVENT -set on_event = request ON_EVENT +set on_event = request ON_EVENT # request PROGRESS_CONFIG = -set progress = request PROGRESS_CONFIG +set progress = request PROGRESS_CONFIG # request MODMAP From To -set modmap = request MODMAP +set modmap = request MODMAP # request IGNORE_KEY -set ignore_key = request IGNORE_KEY +set ignore_key = request IGNORE_KEY # request MODKEY_ADDITION set modkey_addition = request MODKEY_ADDITION -set set_mode = set mode = -set set_status = set status_message = -set shell_cmd = sh -c +# Action related events (use the event function): +# event TOGGLE_MODES ... +set toggle_modes = event TOGGLE_MODES + +set set_mode = set mode = +set set_status = set status_message = +set shell_cmd = sh -c # Spawn path shortcuts. In spawn the first dir+path match is used in "dir1:dir2:dir3:executable" -set scripts_dir = $XDG_DATA_HOME/uzbl:@prefix/share/uzbl/examples/data/uzbl:scripts +set scripts_dir = $XDG_DATA_HOME/uzbl:@prefix/share/uzbl/examples/data/uzbl:scripts # Javascipt helpers. set jsh = js var run=Uzbl.run; function get(k){return run("print \\\@"+k)}; function set(k, v) {run("set "+k+" = "+v)}; @@ -231,15 +234,15 @@ set formfiller = spawn @scripts_dir/formfiller # Examples using multi-stage-bindings with text prompts. -@bind o_ = uri %s -@bind O_ = uri %s +@bind o_ = uri %s +@bind O_ = uri %s # multi-stage binding way to write bookmarks to file from inside uzbl. -@bind b_ = sh 'echo -e "$6 %s" >> $XDG_DATA_HOME/uzbl/bookmarks' +@bind b_ = sh 'echo -e "$6 %s" >> $XDG_DATA_HOME/uzbl/bookmarks' # Multi-stage bindings with blank prompts (similar behaviour to emacs M-c M-s bindings?) -@bind a<:>q = exit -@bind a<:>h = uri http://uzbl.org/ +@bind a<:>q = exit +@bind a<:>h = uri http://uzbl.org/ # Inject handy values into the keycmd. @bind su = event INJECT_KEYCMD \@uri -- cgit v1.2.3