aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/uzbl/scripts/uzbl-event-manager
diff options
context:
space:
mode:
Diffstat (limited to 'examples/data/uzbl/scripts/uzbl-event-manager')
-rwxr-xr-xexamples/data/uzbl/scripts/uzbl-event-manager18
1 files changed, 13 insertions, 5 deletions
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