uzbl/bin/uzbl-browser
author Jan Vrany <jan.vrany@fit.cvut.cz>
Thu, 19 Apr 2012 08:35:05 +0000
changeset 30 39fbc84d4033
parent 12 48db03aa2650
permissions -rwxr-xr-x
- WebKitRenderer added: #KEY_PRESS: #KEY_RELEASE: #SCROLL_HORIZ: #SCROLL_VERT:
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
#!/bin/sh
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
#
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
# This script implements a more useful out-of-the-box "browsing experience".
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
# It does so by combining uzbl-core with a set of "recommended" tools and
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
# practices. See docs for more info.
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
#
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
# If you want to customize the behavior any of the helper tools, copy them
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
# to your $XDG_DATA_HOME/uzbl/scripts/ and edit them
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
PREFIX=/usr/local
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
export PREFIX
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
EXAMPLES=$PREFIX/share/uzbl/examples
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
XDG_DATA_HOME=${XDG_DATA_HOME:-$HOME/.local/share}
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
export XDG_DATA_HOME
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
XDG_CACHE_HOME=${XDG_CACHE_HOME:-$HOME/.cache}
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
export XDG_CACHE_HOME
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
XDG_CONFIG_HOME=${XDG_CONFIG_HOME:-$HOME/.config}
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
export XDG_CONFIG_HOME
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
# assure the relevant directories exist.
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
for dir in "$XDG_CACHE_HOME"/uzbl "$XDG_DATA_HOME"/uzbl "$XDG_CONFIG_HOME"/uzbl
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
do
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
	if [ ! -d "$dir" ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
	then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
		if ! mkdir -p "$dir"
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
		then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
			echo "could not create $dir" >&2
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
			exit 2
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
		fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
	fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
done
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
# if no config exists yet in the recommended location, put the default (recommended) config there
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
if [ ! -f "$XDG_CONFIG_HOME"/uzbl/config ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
	if [ ! -r "$EXAMPLES"/config/config ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
	then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
		echo "Error: Global config not found; please check if your distribution ships them separately"
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
		exit 3
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
	fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
	if ! cp "$EXAMPLES"/config/* "$XDG_CONFIG_HOME"/uzbl/
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
	then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
		echo "Could not copy default config to $XDG_CONFIG_HOME/uzbl/config" >&2
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
		# Run with the global config as a last resort
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
		config_file=$EXAMPLES/config/config
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
	fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
# this variable is used by the default helper scripts as a location to
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
# load shared code from
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
if [ -z "$UZBL_UTIL_DIR" ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
	if [ -d "$XDG_DATA_HOME"/uzbl/scripts/util ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
	then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
		UZBL_UTIL_DIR=$XDG_DATA_HOME/uzbl/scripts/util
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
	elif [ -d $EXAMPLES/data/scripts/util ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
	then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
		UZBL_UTIL_DIR=$EXAMPLES/data/scripts/util
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
	fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
	export UZBL_UTIL_DIR
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
# uzbl-event-manager will exit if one is already running.
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
# we could also check if its pid file exists to avoid having to spawn it.
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    69
DAEMON_SOCKET="$XDG_CACHE_HOME"/uzbl/event_daemon
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
#if [ ! -f "$DAEMON_SOCKET".pid ]
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    71
#then
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
	${UZBL_EVENT_MANAGER:-uzbl-event-manager -va start}
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
#fi
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
48db03aa2650 Added uzbl source code
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
exec uzbl-core "$@" ${config_file:+--config "$config_file"} --connect-socket $DAEMON_SOCKET