aboutsummaryrefslogtreecommitdiff
path: root/util/fluxbox-generate_menu.in
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 /util/fluxbox-generate_menu.in
parent3d789a1e709f87170398b525643794cf6ff52fde (diff)
downloadfluxbox_pavel-ed96d79a14f3078a291bc569c6c5f8926eacdbb3.zip
fluxbox_pavel-ed96d79a14f3078a291bc569c6c5f8926eacdbb3.tar.bz2
command -v seems to cause problems for some distros, despite being POSIX and built into sh
Diffstat (limited to 'util/fluxbox-generate_menu.in')
-rwxr-xr-xutil/fluxbox-generate_menu.in45
1 files changed, 37 insertions, 8 deletions
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