all repos — fluxbox @ 088f4189273f668e5ca5ed5d7c94eaca47081319

custom fork of the fluxbox windowmanager

replaced `which' with the bourne shell built-in `hash' and fixed some --program-prefix/suffix problems
Mark Tiefenbruck mark@fluxbox.org
commit

088f4189273f668e5ca5ed5d7c94eaca47081319

parent

d6e009af98917ab3887e1c4e2d34fcf5b3373c07

1 files changed, 21 insertions(+), 48 deletions(-)

jump to
M util/fluxbox-generate_menu.inutil/fluxbox-generate_menu.in

@@ -51,7 +51,7 @@ WHOAMI=`whoami`

[ "$WHOAMI" = root ] && PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin # Check for Imlib2-support -if fluxbox -info 2> /dev/null | grep -q "^IMLIB"; then +if @pkgprefix@fluxbox@pkgsuffix@ -info 2> /dev/null | grep -q "^IMLIB"; then PNG_ICONS="yes" else # better assume to assume "no"

@@ -110,6 +110,7 @@

EOF } +#' display_authors() { cat << EOF

@@ -125,42 +126,13 @@

EOF } -# some which's have a reliable return code, some don't -# Lets figure out which which we have. -if which this_program_does_not_exist-no_really-aA1zZ9 2> /dev/null 1> /dev/null; then - # can't rely on return value - find_it() { - file=`which $1 2> /dev/null` - if [ -x "$file" ]; then - if [ $# -gt 1 ]; then - shift - "$@" - fi - return 0 - else - return 1 - fi - } - - find_it_options() { - file=`which $1 2> /dev/null` - if [ -x "$file" ]; then - return 0 - else - return 1 - fi - } +find_it() { + [ -n "$1" ] && hash $1 2> /dev/null && shift && "$@" +} -else - # can rely on return value - find_it() { - which $1 > /dev/null 2>&1 && shift && "$@" - } - - find_it_options() { - which $1 > /dev/null 2>&1 - } -fi +find_it_options() { + [ -n "$1" ] && hash $1 2> /dev/null +} #echo "replaceWithinString: $1, $2, $3" >&2 #echo ${1//$2/$3} # causes error in BSD even though not used

@@ -212,7 +184,7 @@ entry_icon="$2/${BASENAME%.*}.xpm"

if [ -f "${entry_icon}" ]; then : echo "File exists. To overwrite, type: convert \"$1\" \"$entry_icon\"" >&2 else - if which convert &> /dev/null; then + if hash convert 2> /dev/null; then convert "$1" "$entry_icon" # echo convert "$1" , "$entry_icon" >> $ICONMAPPING else

@@ -1243,7 +1215,7 @@

# Name of the outputfile # MENUFILENAME=${USERFLUXDIR}/menu -# MENUTITLE=\`fluxbox -version|cut -d " " -f-2\` +# MENUTITLE=\`@pkgprefix@fluxbox@pkgsuffix@ -version|cut -d " " -f-2\` # standard url for console-browsers # HOMEPAGE=fluxbox.org

@@ -1252,7 +1224,7 @@ # location with your own menu-entries

# USERMENU=~/.@pkgprefix@fluxbox@pkgsuffix@/usermenu # Put the launcher you would like to use here -# LAUNCHER=fbrun +# LAUNCHER=@pkgprefix@fbrun@pkgsuffix@ # LAUNCHER=fbgm # Options for fbrun

@@ -1436,7 +1408,8 @@

# prefix PREFIX="${PREFIX:=@PREFIX@}" if [ -z "${PREFIX}" -o ! -d "${PREFIX}" ]; then - PREFIX=`which fluxbox | sed 's,/bin/fluxbox$,,'` + hash @pkgprefix@fluxbox@pkgsuffix@ + PREFIX=`hash -t @pkgprefix@fluxbox@pkgsuffix@ | sed 's,/bin/@pkgprefix@fluxbox@pkgsuffix@$,,'` fi

@@ -1510,7 +1483,7 @@ else

[ -n "$MY_TERM" ] && echo "Warning: you chose an invalid term." >&2 #The precise order is up for debate. for term in Eterm urxvt urxvtc aterm mrxvt rxvt wterm konsole gnome-terminal xterm; do - if find_it $term; then + if find_it_options $term; then DEFAULT_TERM=$term break fi

@@ -1538,7 +1511,7 @@ else

[ -n "$MY_BROWSER" ] && echo "Warning: you chose an invalid browser." >&2 #The precise order is up for debate. for browser in firefox mozilla-firefox mozilla-firebird MozillaFirebird opera skipstone mozilla seamonkey galeon konqueror dillo netscape w3m amaya links lynx; do - if find_it $browser; then + if find_it_options $browser; then DEFAULT_BROWSER=$browser break fi

@@ -1548,7 +1521,7 @@ DEFAULT_BROWSERNAME=`echo $DEFAULT_BROWSER|awk '{print $1}'`

DEFAULT_BROWSERNAME=`basename $DEFAULT_BROWSERNAME` if [ -z "$LAUNCHER" ]; then - LAUNCHER=fbrun + LAUNCHER=@pkgprefix@fbrun@pkgsuffix@ fi # Start of menu

@@ -1830,7 +1803,7 @@

# Backgroundmenu addbackground() { picturename=`basename "$1"` - append "[exec] (${picturename%.???}) {fbsetbg -a \"$1\" }" + append "[exec] (${picturename%.???}) {@pkgprefix@fbsetbg@pkgsuffix@ -a \"$1\" }" } if [ "$BACKGROUNDMENUITEM" = yes ]; then

@@ -1838,7 +1811,7 @@ IFS=: # set delimetor for find

NUMBER_OF_BACKGROUNDS=`find $BACKGROUND_DIRS -follow -type f 2> /dev/null|wc -l` if [ "$NUMBER_OF_BACKGROUNDS" -gt 0 ]; then append_menu "[submenu] (${BACKGROUNDMENU}) {${BACKGROUNDMENUTITLE}}" - append "[exec] (${RANDOMBACKGROUND}) {fbsetbg -r ${USERFLUXDIR}/backgrounds}" + append "[exec] (${RANDOMBACKGROUND}) {@pkgprefix@fbsetbg@pkgsuffix@ -r ${USERFLUXDIR}/backgrounds}" if [ "$NUMBER_OF_BACKGROUNDS" -gt 30 ]; then menucounter=1 ; counter=1 append_menu "[submenu] (${BACKGROUNDMENU} $menucounter) {${BACKGROUNDMENUTITLE}}"

@@ -1880,7 +1853,7 @@ find_it import append "[exec] (${SCREENSHOT} - PNG) {import screenshot.png && display -resize 50% screenshot.png}"

find_it ${LAUNCHER} append "[exec] (${RUNCOMMAND}) {${LAUNCHER} $FBRUNOPTIONS}" find_it switch append "[exec] (gtk-theme-switch) {switch}" find_it switch2 append "[exec] (gtk2-theme-switch) {switch2}" - find_it $0 append "[exec] (${REGENERATEMENU}) {@pkgprefix@fluxbox-generate_menu@pkgsuffix@ ${BACKUPOPTIONS}}" + find_it @pkgprefix@fluxbox-generate_menu@pkgsuffix@ append "[exec] (${REGENERATEMENU}) {@pkgprefix@fluxbox-generate_menu@pkgsuffix@ ${BACKUPOPTIONS}}" append_menu_end append_submenu "${WINDOWMANAGERS}"

@@ -1900,7 +1873,7 @@ find_it xscreensaver-command append "[exec] (${LOCKSCREEN}) {xscreensaver-command -lock}"

append "[commanddialog] (${FLUXBOXCOMMAND})" append "[reconfig] (${RELOADITEM})" append "[restart] (${RESTARTITEM})" - append "[exec] (${ABOUTITEM}) {(fluxbox -v; fluxbox -info | sed 1d) | xmessage -file - -center}" + append "[exec] (${ABOUTITEM}) {(@pkgprefix@fluxbox@pkgsuffix@ -v; @pkgprefix@fluxbox@pkgsuffix@ -info | sed 1d) | xmessage -file - -center}" append "[separator]" append "[exit] (${EXITITEM})"

@@ -1933,6 +1906,6 @@ echo "Note: In $USERFLUXDIR/init, your \"session.menuFile\" does not point to $MENUFILENAME but to $INITMENUFILENAME" >&2

fi fi echo "Menu successfully generated: $MENUFILENAME" - #echo " Make sure \"session.menuFile: $MENUFILENAME\" is in $HOME/.fluxbox/init." + #echo " Make sure \"session.menuFile: $MENUFILENAME\" is in $HOME/.@pkgprefix@fluxbox@pkgsuffix@/init." echo 'Use @pkgprefix@fluxbox-generate_menu@pkgsuffix@ -h to read about all the latest features.' fi