#!/bin/sh # # Set wallpaper for fluxbox. # # Copyright (c) 2003 Han Boetes # # 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: fbsetbg,v 1.1 2003/04/27 15:33:26 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. # wpsetters='wmsetbg Esetroot xli xsetbg display qiv xv xsri' lastwallpaper=${HOME}/.fluxbox/lastwallpaper WHOAMI=`whoami` [ "$WHOAMI" = "root" ] && PATH=/bin:/usr/bin/:/usr/local/bin:/usr/X11R6/bin # Functions display_usage() { cat < /dev/null` if [ -x "$file" ]; then if [ $# -gt 1 ]; then shift $* fi return 0 else return 1 fi } message() { xmessage -center "$@" } debugfbsetbg (){ standardrant (){ cat < $lastwallpaper echo $wallpaper >> $lastwallpaper ;; c) option=$center wallpaper=$OPTARG echo $option > $lastwallpaper echo $wallpaper >> $lastwallpaper ;; t) option=$tile wallpaper=$OPTARG echo $option > $lastwallpaper echo $wallpaper >> $lastwallpaper ;; l) if [ -r $lastwallpaper ];then option=$(head -n1 $lastwallpaper) wallpaper=$(tail -n1 $lastwallpaper) else message 'No previous wallpaper recorded.' fi ;; h) display_help ; exit 0 ;; T) display_tips ; exit 0 ;; -) echo "fbsetbg doesn't recognize -- gnu-longopts." echo "Use fbsetbg -h for a long help message." display_usage exit 1 ;; esac option=${option:=$full} wallpaper=${wallpaper:=$1} if [ -z "$wallpaper" ];then message 'No wallpaper to set' exit 1 fi if [ ! -r "$wallpaper" ];then message "Can't find wallpaper $wallpaper" exit 1 fi $WPSETTER $option "$wallpaper" || message "Something went wrong while setting the wallpaper Run '$WPSETTER $option "$wallpaper"' from an xterm to find out what." #remember previous wallpaper