aboutsummaryrefslogtreecommitdiffhomepage
path: root/examples/data/scripts/scheme.py
diff options
context:
space:
mode:
authorGravatar Dieter Plaetinck <dieter@plaetinck.be>2010-01-02 20:11:15 +0100
committerGravatar Dieter Plaetinck <dieter@plaetinck.be>2010-01-02 20:11:15 +0100
commit9dd1370d0b7cd876f004f7a822b0357039252184 (patch)
treebf9fcf6c6b2332cf70948d225000ee1a0d77c0ea /examples/data/scripts/scheme.py
parent02995443bc8af38fc3bb3896c8d32eb0adc142d0 (diff)
remove the 'uzbl' subdirectory in examples/*/, since the sandbox they are no longer needed + update paths everywhere + remove examples/config/enchant (also not needed since sandbox) + bugfix: set /home/dieter in sandbox
Diffstat (limited to 'examples/data/scripts/scheme.py')
-rwxr-xr-xexamples/data/scripts/scheme.py24
1 files changed, 24 insertions, 0 deletions
diff --git a/examples/data/scripts/scheme.py b/examples/data/scripts/scheme.py
new file mode 100755
index 0000000..0916466
--- /dev/null
+++ b/examples/data/scripts/scheme.py
@@ -0,0 +1,24 @@
+#!/usr/bin/env python
+
+import os, subprocess, sys, urlparse
+
+def detach_open(cmd):
+ # Thanks to the vast knowledge of Laurence Withers (lwithers) and this message:
+ # http://mail.python.org/pipermail/python-list/2006-November/587523.html
+ if not os.fork():
+ null = os.open(os.devnull,os.O_WRONLY)
+ for i in range(3): os.dup2(null,i)
+ os.close(null)
+ subprocess.Popen(cmd)
+ print 'USED'
+
+if __name__ == '__main__':
+ uri = sys.argv[8]
+ u = urlparse.urlparse(uri)
+ if u.scheme == 'mailto':
+ detach_open(['xterm', '-e', 'mail', u.path])
+ elif u.scheme == 'xmpp':
+ # Someone check for safe arguments to gajim-remote
+ detach_open(['gajim-remote', 'open_chat', uri])
+ elif u.scheme == 'git':
+ detach_open(['git', 'clone', '--', uri], cwd=os.path.expanduser('~/src'))