obsolete
This commit is contained in:
parent
157673be29
commit
64469e7982
1 changed files with 0 additions and 839 deletions
839
util/bsetbg
839
util/bsetbg
|
@ -1,839 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Copyright (c) 2000 LordZork Industries (lordzork@lordzork.com)
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining
|
||||
# a copy of this software and associated documentation files (the
|
||||
# "Software"), to deal in the Software without restriction, including
|
||||
# without limitation the rights to use, copy, modify, merge, publish,
|
||||
# distribute, sublicense, and/or sell copies of the Software, and to
|
||||
# permit persons to whom the Software is furnished to do so, subject to
|
||||
# the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be
|
||||
# included in all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
# $Id: bsetbg,v 1.5 2003/04/28 14:44:04 fluxgen Exp $
|
||||
|
||||
#
|
||||
# Portability notes:
|
||||
# To guarantee this script works on all platforms that support fluxbox
|
||||
# please keep the following restrictions in mind:
|
||||
#
|
||||
# don't use [ -e file ] use [ -r file ]
|
||||
# don't use $(), use ``
|
||||
# don't use ~, use ${HOME}
|
||||
# don't use id -u, use whoami
|
||||
# getopts won't work on all platforms, but the config-file can
|
||||
# compensate for that.
|
||||
#
|
||||
|
||||
|
||||
error_msg() {
|
||||
case $INFO in
|
||||
yes|y|1)
|
||||
info_msg
|
||||
;;
|
||||
esac
|
||||
|
||||
case $1 in
|
||||
1)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: configuration error: $OPTION="$VALUE"
|
||||
$NAME: please edit $CONFIG and provide the correct variable.
|
||||
EOF
|
||||
;;
|
||||
2)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: couldn't execute '$APP'! tried to run fallback option $ARGUMENT
|
||||
$NAME: but quit because of the following error in $CONFIG:
|
||||
$NAME: $OPTION=$VALUE
|
||||
$NAME: please edit $CONFIG and provide the correct variable!
|
||||
EOF
|
||||
;;
|
||||
3)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: couldn't find any suitable image applications in the system path!
|
||||
EOF
|
||||
error_msg url
|
||||
;;
|
||||
4)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: invalid option, or non-existent image ($ARGUMENT).
|
||||
EOF
|
||||
;;
|
||||
5)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: the image you specified ($IMAGE) could not be found."
|
||||
EOF
|
||||
;;
|
||||
6)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: please specify a valid image.
|
||||
EOF
|
||||
;;
|
||||
7)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: bsetroot couldn't be found! check your fluxbox installation.
|
||||
EOF
|
||||
;;
|
||||
8)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: wrong number of arguments!
|
||||
$NAME: make sure you enclosed the options for '$APP' in double quotes.
|
||||
EOF
|
||||
;;
|
||||
nobgapp)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: tried to run '$VALUE' for $ARGUMENT argument,
|
||||
$NAME: but couldnt find '$APP' in the path! please fix the following
|
||||
$NAME: line in $CONFIG to point to an existing application:
|
||||
$NAME: $OPTION=\$VALUE\
|
||||
EOF
|
||||
;;
|
||||
nogrep)
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: error: couldn't find grep!
|
||||
This script needs grep to be in your path in order to function.
|
||||
You can get GNU grep from ftp://ftp.gnu.org/bin/gnu/grep/
|
||||
EOF
|
||||
;;
|
||||
url)
|
||||
cat << EOF >&2
|
||||
|
||||
It is suggested that you use qiv, xli (xsetbg), or xv.
|
||||
You can obtain them at the following locations:
|
||||
|
||||
qiv: http://www.klografx.de/software/qiv.shtml
|
||||
xli: http://pantransit.reptiles.org/prog/#xli
|
||||
xv: http://www.trilon.com/xv/downloads.html
|
||||
|
||||
The above URLs are current as of 05/23/2000.
|
||||
EOF
|
||||
;;
|
||||
esac
|
||||
exit 1
|
||||
}
|
||||
|
||||
|
||||
help_msg() {
|
||||
cat << EOF
|
||||
$NAME $VERSION: $MORE
|
||||
options:
|
||||
|
||||
(none) image is set using default values
|
||||
|
||||
-full, -f image is set fullscreen
|
||||
-tile, -t image is set tiled
|
||||
-center, -c image is set centered
|
||||
|
||||
-last, -l last used image is set
|
||||
|
||||
-app, -a <application> image is set using <application> with
|
||||
<'application options'> single-quote-enclosed options and
|
||||
-center, -c|-tile, -t|-full, -f default fallback option
|
||||
|
||||
-display <string> display to connect to (bsetroot only)
|
||||
|
||||
-mod <x> <y> sets bsetroot modula pattern
|
||||
-foreground, -fg <color> modula foreground color
|
||||
-background, -bg <color> modula background color
|
||||
|
||||
-gradient <texture> sets bsetroot gradient texture
|
||||
-from <color> gradient start color
|
||||
-to <color> gradient end color
|
||||
|
||||
-solid <color> sets bsetroot solid color
|
||||
|
||||
-version, -v outputs $NAME's version number
|
||||
-info, -i outputs configuration info
|
||||
-help, -h this message
|
||||
|
||||
usage: <options...> <image>
|
||||
EOF
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
info_msg() {
|
||||
case $ERROR in
|
||||
[1-3])
|
||||
SUMMARY="error: some variables are blank"
|
||||
;;
|
||||
4)
|
||||
SUMMARY="no values have been specified"
|
||||
;;
|
||||
0)
|
||||
SUMMARY="looks good"
|
||||
;;
|
||||
esac
|
||||
|
||||
case $APP_ERROR in
|
||||
[1-4])
|
||||
SUMMARY="error: some applications couldn't be found!"
|
||||
;;
|
||||
esac
|
||||
|
||||
case `which bsetroot 2>&1` in
|
||||
*/*bsetroot)
|
||||
BSETROOT=`which bsetroot`
|
||||
;;
|
||||
*)
|
||||
BSETROOT="(error: not found)"
|
||||
case $ERROR in
|
||||
1-4)
|
||||
SUMMARY="$SUMMARY, and bsetroot does not seem to be present."
|
||||
;;
|
||||
*)
|
||||
SUMMARY="$SUMMARY, but bsetroot does not seem to be present."
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
cat << EOF
|
||||
$NAME $VERSION configuration:
|
||||
|
||||
bsetroot: $BSETROOT
|
||||
|
||||
reading configuration from: $CONFIG
|
||||
|
||||
configuration values:
|
||||
|
||||
EOF
|
||||
case $FULL_BGAPP_MSG in
|
||||
*'not found')
|
||||
echo " fullscreen (ERROR): $FULL_BGAPP_MSG"
|
||||
;;
|
||||
*)
|
||||
echo " fullscreen (FULL): $FULL_MSG"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
|
||||
case $TILE_BGAPP_MSG in
|
||||
*'not found')
|
||||
echo " tiled (ERROR): $TILE_BGAPP_MSG"
|
||||
;;
|
||||
*)
|
||||
echo " tiled (TILE): $TILE_MSG"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
|
||||
case $CENTER_BGAPP_MSG in
|
||||
*'not found')
|
||||
echo " centered (ERROR): $CENTER_BGAPP_MSG"
|
||||
;;
|
||||
*)
|
||||
echo " centered (CENTER): $CENTER_MSG"
|
||||
;;
|
||||
esac
|
||||
|
||||
echo
|
||||
|
||||
case $DEFAULT_BGAPP_MSG in
|
||||
*'not found')
|
||||
echo " default (ERROR): $DEFAULT_BGAPP_MSG"
|
||||
;;
|
||||
*)
|
||||
echo " default (DEFAULT): $DEFAULT_MSG"
|
||||
;;
|
||||
esac
|
||||
echo
|
||||
echo " summary: $SUMMARY"
|
||||
exit 0
|
||||
}
|
||||
|
||||
|
||||
find_app() {
|
||||
APP_PATH=`which $1 2>&1`
|
||||
case $APP_PATH in
|
||||
*/*$1)
|
||||
echo "$NAME: checking for $1... $APP_PATH"
|
||||
cat << EOF >> $TMPFILE
|
||||
### $app
|
||||
# FULL="$full"
|
||||
# TILE="$tile"
|
||||
# CENTER="$center"
|
||||
# DEFAULT="$default"
|
||||
|
||||
EOF
|
||||
FULL=$full
|
||||
TILE=$tile
|
||||
CENTER=$center
|
||||
DEFAULT=$default
|
||||
APP=$app
|
||||
;;
|
||||
*)
|
||||
echo "$NAME: checking for $1... not found."
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
search_xsri() {
|
||||
full='xsri --scale-width=100 --scale-width=100'
|
||||
tile='xsri --tile'
|
||||
center='xsri --center-x --center-y'
|
||||
default=$center
|
||||
find_app xsri
|
||||
}
|
||||
|
||||
search_display() {
|
||||
full='display -geometry 800x600 -window root'
|
||||
tile='display -window root'
|
||||
center='display -backdrop -window root'
|
||||
default=$center
|
||||
find_app display
|
||||
}
|
||||
|
||||
search_Esetroot() {
|
||||
full='Esetroot -scale'
|
||||
tile='Esetroot'
|
||||
center='Esetroot -c'
|
||||
default=$center
|
||||
find_app Esetroot
|
||||
}
|
||||
|
||||
search_wmsetbg() {
|
||||
full='wmsetbg -s -S'
|
||||
tile='wmsetbg -t'
|
||||
center='wmsetbg -e'
|
||||
default=$center
|
||||
find_app wmsetbg
|
||||
}
|
||||
|
||||
search_xli() {
|
||||
case `which xsetbg 2>&1` in
|
||||
*/*xsetbg)
|
||||
full='xsetbg -fillscreen'
|
||||
tile='xsetbg'
|
||||
center='xsetbg -center'
|
||||
default=$center
|
||||
app='xsetbg (xli)'
|
||||
find_app xsetbg
|
||||
;;
|
||||
*)
|
||||
case `which xli 2>&1` in
|
||||
*/*xli)
|
||||
full='xli -fillscreen -onroot -quiet'
|
||||
tile='xli -onroot -quiet'
|
||||
center='xli -center -onroot quiet'
|
||||
default=$center
|
||||
app=xli
|
||||
find_app xli
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
search_qiv() {
|
||||
full='qiv --root_s'
|
||||
tile='qiv --root_t'
|
||||
center='qiv --root'
|
||||
default=$center
|
||||
find_app qiv
|
||||
}
|
||||
|
||||
search_xv() {
|
||||
full='xv -max -smooth -root -quit'
|
||||
tile='xv -root -quit'
|
||||
center='xv -rmode 5 -root -quit'
|
||||
default=$center
|
||||
find_app xv
|
||||
}
|
||||
|
||||
|
||||
rm_tmpfiles() {
|
||||
[ -f $TMPFILE ] && rm -f $TMPFILE
|
||||
}
|
||||
|
||||
|
||||
create_config() {
|
||||
trap rm_tmpfiles INT QUIT STOP TERM
|
||||
case `whoami` in root)
|
||||
if [ ! "$ARGUMENT" = "-r" ]; then
|
||||
cat << EOF >&2
|
||||
|
||||
$NAME: Running X as root is a security hazard, and is NOT a good idea!
|
||||
$NAME: If you insist upon having a ~/.fluxbox/bsetbg for root, run bsetbg with
|
||||
$NAME: the '-r' flag to force its creation. You have been warned!
|
||||
$NAME: And you will be warned again and again and again. Don't you get it yet?
|
||||
$NAME: DON'T DO IT!!!
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
case $ARGUMENT in
|
||||
-r)
|
||||
echo "$NAME: creating configuration for root (BAD IDEA)..."
|
||||
;;
|
||||
*)
|
||||
echo "$NAME: $CONFIG not found, creating..."
|
||||
;;
|
||||
esac
|
||||
|
||||
rm_tmpfiles
|
||||
|
||||
for app in $IMAGE_APPS; do
|
||||
search_$app
|
||||
done
|
||||
|
||||
if [ -z "$FULL" -o -z "$TILE" -o -z "$CENTER" ]; then
|
||||
rm -f $TMPFILE
|
||||
unset INFO
|
||||
error_msg 3
|
||||
fi
|
||||
|
||||
if [ ! -d ${HOME}/.fluxbox ]; then
|
||||
mkdir ${HOME}/.fluxbox
|
||||
fi
|
||||
|
||||
cat << EOF > ${CONFIG}
|
||||
|
||||
# $CONFIG
|
||||
#
|
||||
# Automagically generated with loving care by $NAME $VERSION on `date`
|
||||
#
|
||||
# Uncomment the set below that corresponds to your favorite root-image
|
||||
# application, or mix and match to suit your pleasure.
|
||||
#
|
||||
# xli misbehaves under larger screen resolutions when using the -fullscreen
|
||||
# option. use -fullscreen if your resolution is higher than 1024x768.
|
||||
#
|
||||
|
||||
|
||||
### $APP
|
||||
FULL="$FULL"
|
||||
TILE="$TILE"
|
||||
CENTER="$CENTER"
|
||||
DEFAULT="$DEFAULT"
|
||||
|
||||
EOF
|
||||
|
||||
grep -v ${APP} ${TMPFILE} >> ${CONFIG}
|
||||
|
||||
rm -f $TMPFILE
|
||||
|
||||
if [ -f $CONFIG ]; then
|
||||
echo "$NAME: default configuration was created in $CONFIG."
|
||||
else
|
||||
echo "ERROR: $CONFIG not found!"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
check_config_apps() {
|
||||
BGAPP=$1
|
||||
APP_PATH=`which $BGAPP 2>&1`
|
||||
case ${APP_PATH} in
|
||||
*/*$BGAPP)
|
||||
BGAPP_MSG="$APP_PATH"
|
||||
;;
|
||||
*)
|
||||
BGAPP_MSG="$BGAPP: not found"
|
||||
APP_ERROR=`expr $APP_ERROR + 1`
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
check_config_vars() {
|
||||
ERROR=0
|
||||
APP_ERROR=0
|
||||
|
||||
case $FB_ARG in
|
||||
$FULL)
|
||||
if [ -z "$FULL" ]; then
|
||||
FULL_MSG="(no value)"
|
||||
ERROR=`expr $ERROR + 1`
|
||||
else
|
||||
check_config_apps $FULL
|
||||
FULL_BGAPP_MSG=$BGAPP_MSG
|
||||
FULL_BGAPP=$BGAPP
|
||||
FULL_MSG="$FULL"
|
||||
fi
|
||||
;;
|
||||
$TILE)
|
||||
if [ -z "$TILE" ]; then
|
||||
TILE_MSG="(no value)"
|
||||
ERROR=`expr $ERROR + 1`
|
||||
else
|
||||
check_config_apps $TILE
|
||||
TILE_BGAPP_MSG=$BGAPP_MSG
|
||||
TILE_BGAPP=$BGAPP
|
||||
TILE_MSG="$TILE"
|
||||
fi
|
||||
;;
|
||||
$CENTER)
|
||||
if [ -z "$CENTER" ]; then
|
||||
CENTER_MSG="(no value)"
|
||||
ERROR=`expr $ERROR + 1`
|
||||
else
|
||||
check_config_apps $CENTER
|
||||
CENTER_BGAPP_MSG=$BGAPP_MSG
|
||||
CENTER_BGAPP=$BGAPP
|
||||
CENTER_MSG="$CENTER"
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
if [ -z "$DEFAULT" ]; then
|
||||
DEFAULT_MSG="(no value)"
|
||||
ERROR=`expr $ERROR + 1`
|
||||
else
|
||||
check_config_apps $DEFAULT
|
||||
DEFAULT_BGAPP_MSG=$BGAPP_MSG
|
||||
DEFAULT_BGAPP=$BGAPP
|
||||
DEFAULT_MSG="$DEFAULT"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
final_error_check() {
|
||||
case $ARGUMENT in
|
||||
*full|-f|c)
|
||||
OPTION=FULL
|
||||
VALUE=$FULL_MSG
|
||||
FB_ARG=$FULL
|
||||
case $FULL_BGAPP_MSG in
|
||||
*'not found')
|
||||
APP=$FULL_BGAPP
|
||||
error_msg nobgapp
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*tile|-t|t)
|
||||
OPTION=TILE
|
||||
VALUE=$TILE_MSG
|
||||
FB_ARG=$TILE
|
||||
case $TILE_BGAPP_MSG in
|
||||
*'not found')
|
||||
APP=$TILE_BGAPP
|
||||
error_msg nobgapp
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*center|-c|c)
|
||||
OPTION=CENTER
|
||||
VALUE=$CENTER_MSG
|
||||
FB_ARG=$CENTER
|
||||
case $CENTER_BGAPP_MSG in
|
||||
*'not found')
|
||||
APP=$CENTER_BGAPP
|
||||
error_msg nobgapp
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*last|-l|l)
|
||||
OPTION=DEFAULT
|
||||
VALUE=$DEFAULT_MSG
|
||||
FB_ARG=$DEFAULT
|
||||
ARGUMENT=default
|
||||
case $DEFAULT_BGAPP_MSG in
|
||||
*'not found')
|
||||
APP=$DEFAULT_BGAPP
|
||||
error_msg nobgapp
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
OPTION=DEFAULT
|
||||
VALUE=$DEFAULT_MSG
|
||||
FB_ARG=$DEFAULT
|
||||
ARGUMENT=default
|
||||
case $DEFAULT_BGAPP_MSG in
|
||||
*'not found')
|
||||
APP=$DEFAULT_BGAPP
|
||||
error_msg nobgapp
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ ! "$IMAGE_EXISTS" = yes ]; then
|
||||
error_msg 4; fi
|
||||
;;
|
||||
esac
|
||||
|
||||
case $VALUE in
|
||||
'(no value)')
|
||||
if [ -n "$APP" ]; then
|
||||
error_msg 2
|
||||
else
|
||||
error_msg 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
check_config() {
|
||||
if [ ! -f $CONFIG ]; then
|
||||
create_config
|
||||
fi
|
||||
|
||||
. $CONFIG
|
||||
check_old_config
|
||||
final_error_check
|
||||
check_config_vars
|
||||
}
|
||||
|
||||
|
||||
check_image() {
|
||||
case "$IMAGE" in
|
||||
*~/*)
|
||||
IMAGE="$HOME/`basename $IMAGE`"
|
||||
;;
|
||||
esac
|
||||
|
||||
case $NOARG in
|
||||
yes|y|1)
|
||||
NUM=4
|
||||
;;
|
||||
*)
|
||||
if [ -n "$IMAGE" ]; then
|
||||
NUM=5
|
||||
else
|
||||
NUM=6
|
||||
fi
|
||||
case $IMAGE in
|
||||
$ARGUMENT|'.'|'./')
|
||||
error_msg 6
|
||||
;;
|
||||
esac
|
||||
esac
|
||||
|
||||
if [ ! -r "$IMAGE" ]; then
|
||||
error_msg $NUM
|
||||
else
|
||||
IMAGE_EXISTS=yes
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
exec_app() {
|
||||
case `which $APP 2>&1` in
|
||||
*/*$APP)
|
||||
check_image
|
||||
final_error_check
|
||||
exec $APP $ARGS "$IMAGE"
|
||||
;;
|
||||
*)
|
||||
check_image
|
||||
check_config
|
||||
exec $FB_ARG "$IMAGE"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
check_bsetroot_args() {
|
||||
case $1 in
|
||||
-mod)
|
||||
ARGS="$1 $2 $3 $4 $5 $6 $7"
|
||||
;;
|
||||
-gradient)
|
||||
ARGS="$1 $2 $3 $4 $5 $6"
|
||||
;;
|
||||
-solid)
|
||||
ARGS="$1 $2"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
exec_bsetroot() {
|
||||
case `which bsetroot 2>&1` in
|
||||
*/*bsetroot)
|
||||
exec bsetroot $ARGS
|
||||
;;
|
||||
*)
|
||||
error_msg 7
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
|
||||
check_old_config() {
|
||||
if [ -f $CONFIG ]; then
|
||||
if [ -n "$BGAPP" -o -n "$CENTER_ARGS" -o \
|
||||
-n "$TILED_ARGS" -o -n "$OTHER_ARGS" -o \
|
||||
-n "$DEFAULT_ARGS" ]; then
|
||||
cat << EOF >&2
|
||||
This version of $NAME ($VERSION) no longer uses the old configuration format."
|
||||
Please update $CONFIG with the new syntax:"
|
||||
|
||||
CENTER="value"
|
||||
FULL="value"
|
||||
TILE="value"
|
||||
DEFAULT="value"
|
||||
|
||||
Look at the sample.config file for details.
|
||||
EOF
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
debug() {
|
||||
cat << EOF
|
||||
DEBUG:--------------------------
|
||||
config: $CONFIG
|
||||
full: $FULL
|
||||
tile: $TILE
|
||||
center: $CENTER
|
||||
default: $DEFAULT
|
||||
error: $ERROR
|
||||
app error: $APP_ERROR
|
||||
argument: $ARGUMENT
|
||||
________________________________
|
||||
EOF
|
||||
}
|
||||
|
||||
IMAGE_APPS="display Esetroot wmsetbg xv xli qiv xsri"
|
||||
CONFIG="$HOME/.fluxbox/bsetbg"
|
||||
LASTIMAGEFILE="$HOME/.fluxbox/bsetbg.lastimage"
|
||||
NAME=`basename $0`
|
||||
VERSION=1.13
|
||||
MORE='(C) 2000 by lordzork industries (http://lordzork.com/)'
|
||||
PATH=$PATH:/usr/bin:/usr/local/bin:/usr/X11R6/bin:/usr/X11/bin
|
||||
TMPFILE=$CONFIG.tmp
|
||||
ARGUMENT=$1
|
||||
|
||||
which grep > /dev/null 2> /dev/null || error_msg nogrep
|
||||
|
||||
case $1 in
|
||||
*-full|-f|f)
|
||||
check_config
|
||||
IMAGE=$2
|
||||
check_image
|
||||
echo -e "full\n$IMAGE" > $LASTIMAGEFILE
|
||||
exec $FULL "$IMAGE"
|
||||
;;
|
||||
*-tile|*tiled|-t|t)
|
||||
check_config
|
||||
IMAGE=$2
|
||||
check_image
|
||||
echo -e "tile\n$IMAGE" > $LASTIMAGEFILE
|
||||
exec $TILE "$IMAGE"
|
||||
;;
|
||||
*-center|-c|c)
|
||||
check_config
|
||||
IMAGE=$2
|
||||
check_image
|
||||
echo -e "center\n$IMAGE" > $LASTIMAGEFILE
|
||||
exec $CENTER "$IMAGE"
|
||||
;;
|
||||
*-last|-l|l)
|
||||
check_config
|
||||
LASTACTION="`head -n 1 $LASTIMAGEFILE 2> /dev/null`"
|
||||
IMAGE="`tail -n 1 $LASTIMAGEFILE 2> /dev/null`" && check_image
|
||||
ACTION=$DEFAULT
|
||||
case "$LASTACTION" in
|
||||
full) ACTION=$FULL ;;
|
||||
tile) ACTION=$TILE ;;
|
||||
center) ACTION=$CENTER ;;
|
||||
*) echo "Error: $LASTIMAGEFILE is kaputt" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
exec $ACTION "$IMAGE"
|
||||
;;
|
||||
*-app|-a|a)
|
||||
APP=$2
|
||||
ARGS="$3"
|
||||
case $# in
|
||||
4)
|
||||
ARGUMENT=$3
|
||||
IMAGE=$4
|
||||
exec_app
|
||||
;;
|
||||
5)
|
||||
COMMAND=`shift && echo $*`
|
||||
ARGUMENT=$4
|
||||
IMAGE=$5
|
||||
exec_app
|
||||
;;
|
||||
*)
|
||||
error_msg 8
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
-mod|-gradient|-solid)
|
||||
check_bsetroot_args $*
|
||||
exec_bsetroot
|
||||
;;
|
||||
-display)
|
||||
shift 1 && check_bsetroot_args $*
|
||||
ARGS="-display $ARGS"
|
||||
exec_bsetroot
|
||||
;;
|
||||
*-info|-i|i)
|
||||
INFO=yes
|
||||
check_config
|
||||
info_msg
|
||||
;;
|
||||
*-version|-v|v)
|
||||
cat << EOF
|
||||
|
||||
$NAME version $VERSION
|
||||
$MORE
|
||||
EOF
|
||||
;;
|
||||
*-help|-h|h)
|
||||
help_msg
|
||||
;;
|
||||
-r)
|
||||
case `whoami` in
|
||||
root)
|
||||
if [ -f $CONFIG ]; then
|
||||
echo 'Error: Config already exists' >&2
|
||||
exit 1
|
||||
else
|
||||
create_config
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo 'Error: -r is for creating a config for root and your are not root' >&2
|
||||
exit 1
|
||||
esac
|
||||
;;
|
||||
*)
|
||||
if [ -n "$1" ]; then
|
||||
NOARG=yes
|
||||
IMAGE=$1
|
||||
check_image
|
||||
check_config && final_error_check
|
||||
echo -e "default\n$IMAGE" > $LASTIMAGEFILE
|
||||
exec $DEFAULT "$1"
|
||||
else
|
||||
if [ ! -f $CONFIG ]; then
|
||||
create_config
|
||||
fi
|
||||
help_msg
|
||||
fi
|
||||
;;
|
||||
esac
|
Loading…
Reference in a new issue