aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Dieter Plaetinck <dieter@plaetinck.be>2009-12-15 20:30:53 +0100
committerGravatar Dieter Plaetinck <dieter@plaetinck.be>2009-12-15 20:30:53 +0100
commitcc2ac18e193530a8f7878716206ef70455eeb447 (patch)
treefe38998f529a1e753d2a15376bab6e0d2a3c92a5
parent5462df3c4e6c210e51991175b340ac3ffa4b5287 (diff)
parent77e2678988494be1146ab6141f547fa64b8401b7 (diff)
merge in masons changes
-rw-r--r--examples/data/uzbl/plugins/bind.py1
-rw-r--r--examples/data/uzbl/scripts/follow_Numbers.js5
-rw-r--r--examples/data/uzbl/scripts/follow_Numbers_Strings.js7
-rwxr-xr-xexamples/data/uzbl/scripts/uzbl-event-manager18
-rw-r--r--uzbl-core.c17
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;