aboutsummaryrefslogtreecommitdiffhomepage
path: root/bin/uzbl-browser
blob: fb9a3689efbafc189613197fb7d82f46d132e140 (plain)
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/sh
#
# This script implements a more useful out-of-the-box "browsing experience".
# It does so by combining uzbl-core with a set of "recommended" tools and
# practices. See docs for more info.
#
# If you want to customize the behavior any of the helper tools, copy them
# to your $XDG_DATA_HOME/uzbl/scripts/ and edit them

PREFIX=/usr/local
export PREFIX

EXAMPLES=$PREFIX/share/uzbl/examples

XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
export XDG_DATA_HOME

XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
export XDG_CACHE_HOME

XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
export XDG_CONFIG_HOME

# assure the relevant directories exist.
for dir in "$XDG_CACHE_HOME"/uzbl "$XDG_DATA_HOME"/uzbl "$XDG_CONFIG_HOME"/uzbl
do
	if [ ! -d "$dir" ]
	then
		if ! mkdir -p "$dir"
		then
			echo "could not create $dir" >&2
			exit 2
		fi
	fi
done

# if no config exists yet in the recommended location, put the default (recommended) config there
if [ ! -f "$XDG_CONFIG_HOME"/uzbl/config ]
then
	if [ ! -r "$EXAMPLES"/config/config ]
	then
		echo "Error: Global config not found; please check if your distribution ships them separately"
		exit 3
	fi
	if ! cp "$EXAMPLES"/config/* "$XDG_CONFIG_HOME"/uzbl/
	then
		echo "Could not copy default config to $XDG_CONFIG_HOME/uzbl/config" >&2
		# Run with the global config as a last resort
		config_file=$EXAMPLES/config/config
	fi
fi

# this variable is used by the default helper scripts as a location to
# load shared code from
if [ -z "$UZBL_UTIL_DIR" ]
then
	if [ -d "$XDG_DATA_HOME"/uzbl/scripts/util ]
	then
		UZBL_UTIL_DIR=$XDG_DATA_HOME/uzbl/scripts/util
	elif [ -d $EXAMPLES/data/scripts/util ]
	then
		UZBL_UTIL_DIR=$EXAMPLES/data/scripts/util
	fi
	export UZBL_UTIL_DIR
fi

# uzbl-event-manager will exit if one is already running.
# we could also check if its pid file exists to avoid having to spawn it.
DAEMON_SOCKET="$XDG_CACHE_HOME"/uzbl/event_daemon
#if [ ! -f "$DAEMON_SOCKET".pid ]
#then
	${UZBL_EVENT_MANAGER:-uzbl-event-manager -va start}
#fi

exec uzbl-core "$@" ${config_file:+--config "$config_file"} --connect-socket $DAEMON_SOCKET