#!/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