From f28ac3b625558cffd63dbf7221967f9fc21627d0 Mon Sep 17 00:00:00 2001 From: fluxgen Date: Sun, 27 Apr 2003 15:33:26 +0000 Subject: [PATCH] replacing bsetbg --- util/fbsetbg | 282 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 282 insertions(+) create mode 100644 util/fbsetbg diff --git a/util/fbsetbg b/util/fbsetbg new file mode 100644 index 00000000..30808468 --- /dev/null +++ b/util/fbsetbg @@ -0,0 +1,282 @@ +#!/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