summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormarkt <markt>2007-02-22 16:51:35 (GMT)
committermarkt <markt>2007-02-22 16:51:35 (GMT)
commited96d79a14f3078a291bc569c6c5f8926eacdbb3 (patch)
tree5742a05a01da5323632549205ad52ce44a2aa1ac
parent3d789a1e709f87170398b525643794cf6ff52fde (diff)
downloadfluxbox_lack-ed96d79a14f3078a291bc569c6c5f8926eacdbb3.zip
fluxbox_lack-ed96d79a14f3078a291bc569c6c5f8926eacdbb3.tar.bz2
command -v seems to cause problems for some distros, despite being POSIX and built into sh
-rw-r--r--ChangeLog2
-rw-r--r--util/fbsetbg27
-rwxr-xr-xutil/fluxbox-generate_menu.in45
3 files changed, 60 insertions, 14 deletions
diff --git a/ChangeLog b/ChangeLog
index ca2c7f0..dfc029d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -216,8 +216,6 @@ Changes for 1.0rc3:
216 * Don't run [startup] items in apps file on fluxbox restart (Mark) 216 * Don't run [startup] items in apps file on fluxbox restart (Mark)
217 Remember.cc fluxbox.cc 217 Remember.cc fluxbox.cc
218*07/01/02: 218*07/01/02:
219 * Replace `which' in fbsetbg and fbgm with `command -v' (Mark)
220 util/fbsetbg fluxbox-generate_menu.in
221 * Don't escape regular expression metacharacters in apps file, bug 219 * Don't escape regular expression metacharacters in apps file, bug
222 #1595497 (Mark) 220 #1595497 (Mark)
223 Remember.cc ClientPattern.cc 221 Remember.cc ClientPattern.cc
diff --git a/util/fbsetbg b/util/fbsetbg
index 917f89a..60118e5 100644
--- a/util/fbsetbg
+++ b/util/fbsetbg
@@ -131,9 +131,28 @@ Common tips to use with $command:
131EOF 131EOF
132} 132}
133 133
134find_it() { 134# some which's have a reliable return code, some don't
135 command -v $1 > /dev/null 2>&1 && shift && $* 135# Lets figure out which which we have.
136} 136if which this_program_does_not_exist-no_really-aA1zZ9 >/dev/null 2>/dev/null; then
137 # can't rely on return value
138 find_it() {
139 file=`which $1 2> /dev/null`
140 if [ -x "$file" ]; then
141 if [ $# -gt 1 ]; then
142 shift
143 $*
144 fi
145 return 0
146 else
147 return 1
148 fi
149 }
150else
151 # can rely on return value
152 find_it() {
153 which $1 > /dev/null 2>&1 && shift && $*
154 }
155fi
137 156
138message() { 157message() {
139 158
@@ -330,7 +349,7 @@ if [ "$setterfromcommandline" != true ]; then
330 if [ ! "$wpsetter" = Esetroot ]; then 349 if [ ! "$wpsetter" = Esetroot ]; then
331 WPSETTER=$wpsetter 350 WPSETTER=$wpsetter
332 break 351 break
333 elif ldd `command -v Esetroot`|grep libImlib 2>&1 > /dev/null; then 352 elif ldd `which Esetroot`|grep libImlib 2>&1 > /dev/null; then
334 WPSETTER=$wpsetter 353 WPSETTER=$wpsetter
335 break 354 break
336 else 355 else
diff --git a/util/fluxbox-generate_menu.in b/util/fluxbox-generate_menu.in
index cd168fc..80a2af2 100755
--- a/util/fluxbox-generate_menu.in
+++ b/util/fluxbox-generate_menu.in
@@ -124,13 +124,42 @@ fluxbox-generate_menu was brought to you by:
124EOF 124EOF
125} 125}
126 126
127find_it() { 127# some which's have a reliable return code, some don't
128 command -v $1 > /dev/null 2>&1 && shift && "$@" 128# Lets figure out which which we have.
129} 129if which this_program_does_not_exist-no_really-aA1zZ9 2> /dev/null 1> /dev/null; then
130 # can't rely on return value
131 find_it() {
132 file=`which $1 2> /dev/null`
133 if [ -x "$file" ]; then
134 if [ $# -gt 1 ]; then
135 shift
136 "$@"
137 fi
138 return 0
139 else
140 return 1
141 fi
142 }
130 143
131find_it_options() { 144 find_it_options() {
132 command -v $1 > /dev/null 2>&1 145 file=`which $1 2> /dev/null`
133} 146 if [ -x "$file" ]; then
147 return 0
148 else
149 return 1
150 fi
151 }
152
153else
154 # can rely on return value
155 find_it() {
156 which $1 > /dev/null 2>&1 && shift && "$@"
157 }
158
159 find_it_options() {
160 which $1 > /dev/null 2>&1
161 }
162fi
134 163
135#echo "replaceWithinString: $1, $2, $3" >&2 164#echo "replaceWithinString: $1, $2, $3" >&2
136#echo ${1//$2/$3} # causes error in BSD even though not used 165#echo ${1//$2/$3} # causes error in BSD even though not used
@@ -182,7 +211,7 @@ convertIcon(){
182 if [ -f "${entry_icon}" ]; then 211 if [ -f "${entry_icon}" ]; then
183 : echo "File exists. To overwrite, type: convert \"$1\" \"$entry_icon\"" >&2 212 : echo "File exists. To overwrite, type: convert \"$1\" \"$entry_icon\"" >&2
184 else 213 else
185 if command -v convert &> /dev/null; then 214 if which convert &> /dev/null; then
186 convert "$1" "$entry_icon" 215 convert "$1" "$entry_icon"
187 # echo convert "$1" , "$entry_icon" >> $ICONMAPPING 216 # echo convert "$1" , "$entry_icon" >> $ICONMAPPING
188 else 217 else
@@ -1349,7 +1378,7 @@ fi
1349# prefix 1378# prefix
1350PREFIX="${PREFIX:=@PREFIX@}" 1379PREFIX="${PREFIX:=@PREFIX@}"
1351if [ -z "${PREFIX}" -o ! -d "${PREFIX}" ]; then 1380if [ -z "${PREFIX}" -o ! -d "${PREFIX}" ]; then
1352 PREFIX=`command -v fluxbox | sed 's,/bin/fluxbox$,,'` 1381 PREFIX=`which fluxbox | sed 's,/bin/fluxbox$,,'`
1353fi 1382fi
1354 1383
1355 1384