aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples
diff options
context:
space:
mode:
Diffstat (limited to 'examples')
-rw-r--r--examples/config/config16
-rw-r--r--examples/data/scripts/auth.py53
-rwxr-xr-xexamples/data/scripts/uzbl-event-manager8
3 files changed, 64 insertions, 13 deletions
diff --git a/examples/config/config b/examples/config/config
index d58d0a5..929397d 100644
--- a/examples/config/config
+++ b/examples/config/config
@@ -35,7 +35,7 @@ set shell_cmd = sh -c
set scripts_dir = $XDG_DATA_HOME/uzbl:@prefix/share/uzbl/examples/data: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)};
+#set jsh = js var run=Uzbl.run; function get(k){return run("print \\\@"+k)}; function set(k, v) {run("set "+k+" = "+v)};
# === Handlers ===============================================================
@@ -45,6 +45,7 @@ set jsh = js var run=Uzbl.run; function get(k){return run("print \\\@"+k)}; func
# support events that can wait for a response from a script.
set cookie_handler = talk_to_socket $XDG_CACHE_HOME/uzbl/cookie_daemon_socket
set scheme_handler = sync_spawn @scripts_dir/scheme.py
+set authentication_handler = sync_spawn @scripts_dir/auth.py
# Open in the same window.
#set new_window = sh 'echo uri "$8" > $4'
@@ -71,7 +72,7 @@ set new_window = sh 'uzbl-browser -u $8'
# Generate a FORM_ACTIVE event if an editable
# element on the loaded site has initial focus
-@on_event LOAD_FINISH js if(document.activeElement.type == 'text') {Uzbl.run("event FORM_ACTIVE");}
+#@on_event LOAD_FINISH js if(document.activeElement.type == 'text') {Uzbl.run("event FORM_ACTIVE");}
# Switch to insert mode if a (editable) html form is clicked
@on_event FORM_ACTIVE @set_mode insert
@@ -189,12 +190,8 @@ set ebind = @mode_bind global,-insert
# === Mouse bindings =========================================================
-# Middle click
-# if clicked on a link open the link in a new uzbl window
-# otherwise open the selection in the current window
-set load_from_xclip = sh 'echo "uri $(xclip -o)" > $4'
-set open_new_window = sh 'uzbl-browser -u \@SELECTED_URI'
-@bind <Button2> = @jsh if(get("SELECTED_URI")) { run("\@open_new_window"); } else { run("\\\@load_from_xclip"); }
+# Middle click open in new window
+@bind <Button2> = sh 'uzbl-browser -u \@SELECTED_URI'
# === Keyboard bindings ======================================================
@@ -276,7 +273,8 @@ set toggle_cmd_ins = @toggle_modes command insert
@cbind gh = uri http://www.uzbl.org
# --- Yanking & pasting binds ---
-@cbind y<Yank (t)itle or (u)rl:>* = @jsh if('%s' == 'u') { run("sh 'echo -n $6 | xclip'"); } else if('%s' == 't') { run("sh 'echo -n $7 | xclip'"); }; run('event SET_KEYCMD');
+@cbind yu = sh 'echo -n $6 | xclip'
+@cbind yy = sh 'echo -n $7 | xclip'
# Go the page from primary selection
@cbind p = sh 'echo "uri `xclip -selection primary -o`" > $4'
diff --git a/examples/data/scripts/auth.py b/examples/data/scripts/auth.py
new file mode 100644
index 0000000..4feb90b
--- /dev/null
+++ b/examples/data/scripts/auth.py
@@ -0,0 +1,53 @@
+#!/usr/bin/python
+
+import gtk
+import sys
+
+def responseToDialog(entry, dialog, response):
+ dialog.response(response)
+
+def getText(authInfo, authHost, authRealm):
+ dialog = gtk.MessageDialog(
+ None,
+ gtk.DIALOG_MODAL | gtk.DIALOG_DESTROY_WITH_PARENT,
+ gtk.MESSAGE_QUESTION,
+ gtk.BUTTONS_OK_CANCEL,
+ None)
+ dialog.set_markup('%s at %s' % (authRealm, authHost))
+
+ login = gtk.Entry()
+ password = gtk.Entry()
+ password.set_visibility(False)
+
+ login.connect("activate", responseToDialog, dialog, gtk.RESPONSE_OK)
+ password.connect("activate", responseToDialog, dialog, gtk.RESPONSE_OK)
+
+ hbox = gtk.HBox();
+
+ vbox_entries = gtk.VBox();
+ vbox_labels = gtk.VBox();
+
+ vbox_labels.pack_start(gtk.Label("Login:"), False, 5, 5)
+ vbox_labels.pack_end(gtk.Label("Password:"), False, 5, 5)
+
+ vbox_entries.pack_start(login)
+ vbox_entries.pack_end(password)
+
+ dialog.format_secondary_markup("Please enter username and password:")
+ hbox.pack_start(vbox_labels, True, True, 0)
+ hbox.pack_end(vbox_entries, True, True, 0)
+
+ dialog.vbox.pack_start(hbox)
+ dialog.show_all()
+ rv = dialog.run()
+
+ output = login.get_text() + "\n" + password.get_text()
+ dialog.destroy()
+ return rv, output
+
+if __name__ == '__main__':
+ rv, output = getText(sys.argv[8], sys.argv[9], sys.argv[10])
+ if (rv == gtk.RESPONSE_OK):
+ print output;
+ else:
+ exit(1)
diff --git a/examples/data/scripts/uzbl-event-manager b/examples/data/scripts/uzbl-event-manager
index 99b215a..a92485f 100755
--- a/examples/data/scripts/uzbl-event-manager
+++ b/examples/data/scripts/uzbl-event-manager
@@ -295,7 +295,7 @@ def parse_msg(uzbl, msg):
cmd = FINDSPACES.split(msg, 3)
if not cmd or cmd[0] != 'EVENT':
# Not an event message.
- print '---', msg
+ print '---', msg.encode('utf-8')
return
while len(cmd) < 4:
@@ -374,11 +374,11 @@ class UzblInstance(object):
msg = msg.strip()
if self.client_socket:
- print '%s<-- %s' % (' ' * self.depth, msg)
+ print (u'%s<-- %s' % (' ' * self.depth, msg)).encode('utf-8')
self.client_socket.send(("%s\n" % msg).encode('utf-8'))
else:
- print '%s!-- %s' % (' ' * self.depth, msg)
+ print (u'%s!-- %s' % (' ' * self.depth, msg)).encode('utf-8')
def export(self, name, function):
@@ -466,7 +466,7 @@ class UzblInstance(object):
elems = [event,]
if args: elems.append(unicode(args))
if kargs: elems.append(unicode(kargs))
- print "%s--> %s" % (' ' * self.depth, ' '.join(elems))
+ print (u'%s--> %s' % (' ' * self.depth, ' '.join(elems))).encode('utf-8')
if event == "INSTANCE_START" and args:
self.pid = int(args[0])