~ubuntu-core-dev/livecd-rootfs/trunk

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh

set -ex

echo "I: Creating xdg helper"

PREFIX=binary/boot/filesystem.dir

mkdir -p $PREFIX/usr/local/bin
cat >$PREFIX/usr/local/bin/xdg-open <<EOF
#!/bin/sh
dbus-send --print-reply --session --dest=com.canonical.SafeLauncher / com.canonical.SafeLauncher.OpenURL string:"\$1"
EOF
chmod 755 $PREFIX/usr/local/bin/xdg-open

# corresponding .desktop entry, needed for mimetype registration
mkdir -p $PREFIX/usr/local/share/applications
cat >$PREFIX/usr/local/share/applications/xdg-open.desktop <<EOF
[Desktop Entry]
Version=1.0
Name=Url Handler Script
Exec=/usr/local/bin/xdg-open %u
MimeType=x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/mailto;x-scheme-handler/help;
Type=Application
EOF

# define xdg-open as the default handler for common types
cat >$PREFIX/usr/local/share/applications/mimeapps.list <<EOF
[Added Associations]
x-scheme-handler/http=xdg-open.desktop
x-scheme-handler/https=xdg-open.desktop
x-scheme-handler/mailto=xdg-open.desktop
x-scheme-handler/help=xdg-open.desktop

[Default Applications]
x-scheme-handler/http=xdg-open.desktop
x-scheme-handler/https=xdg-open.desktop
x-scheme-handler/mailto=xdg-open.desktop
x-scheme-handler/help=xdg-open.desktop
EOF