diff options
author | Michael Jennings <mej@kainx.org> | 2003-08-17 13:58:44 +0000 |
---|---|---|
committer | Michael Jennings <mej@kainx.org> | 2003-08-17 13:58:44 +0000 |
commit | 16a35e6a1ef1322021114837a8f3592ff5b4c662 (patch) | |
tree | c5208f681865102af2e938a5e32f24441048ba90 /utils | |
parent | d1ff8c45cf8894a969dee8f1d3eeed2aee4fd235 (diff) | |
download | eterm-16a35e6a1ef1322021114837a8f3592ff5b4c662.tar.gz |
Sun Aug 17 09:55:43 2003 Michael Jennings (mej)
Modified and applied a patch from Marc Merlin <marc@merlins.org> to
auto-generate the pixmap menu entries via the Etbg_update_list
script. You can now pass "-m /path/to/menufile" to Etbg_update_list
to generate the entries in the specified file. Hopefully I'll make
this process automated, at least on my end, in the near future.
SVN revision: 7336
Diffstat (limited to 'utils')
-rwxr-xr-x | utils/Etbg_update_list | 37 |
1 files changed, 36 insertions, 1 deletions
diff --git a/utils/Etbg_update_list b/utils/Etbg_update_list index 3e1a797..a515300 100755 --- a/utils/Etbg_update_list +++ b/utils/Etbg_update_list @@ -6,7 +6,18 @@ LISTFILE=pixmaps.list -if [ $# -gt 1 -o "X$1" = "X-h" -o "X$1" = "X--help" ]; then +if [ "x$1" = "x-m" ]; then + echo "Mmmm, got menu file $2" + shift + ETBG_MENUFILE="$1" + export ETBG_MENUFILE + shift + exec 3> "$ETBG_MENUFILE" +else + exec 3>/dev/null +fi + +if [ "x$1" = "x-h" -o "x$1" = "x--help" ]; then echo "Syntax: Etbg_update_list [path]" echo " (The default path is the current directory.)" echo @@ -23,21 +34,45 @@ done cd $PIXDIR +# Make sure sed works; if not, use perl +SEDCMD="sed -e 's/[-_]/ /g' -e 's/^\(.\)/\u\1/' -e 's/ \(.\)/ \u\1/g' -e 's/\....$//'" +if [ "x`echo i | sed -e 's/^\(.\)/\u\1/'`" != "xI" ]; then + SEDCMD='perl -p -e "s/[-_]/ /g; s/^(.)/\u\1/; s/ (.)/ \u\1/g; s/\....$//;"' +fi + # Generate new pixmap list from tile/ and scale/ directories echo "Etbg_update_list: Generating pixmap list file from images in tile/ and scale/..." true > $LISTFILE.new +cat >&3 <<EOF +begin menu + title Tiled +EOF if [ -d tile ]; then for i in `(cd tile && ls -1)` ; do echo '"tile/'$i'@0x0+0+0:tile"' >> $LISTFILE.new + echo " begin menuitem" >&3 + eval echo "\ \ \ \ text \\\"\`echo $i | $SEDCMD\`\\\"" >&3 + echo " action string \"\\e]20;tile/$i;0x0+0+0:tile\\a\"" >&3 + echo " end" >&3 done fi +cat >&3 <<EOF +end +begin menu + title Scaled +EOF if [ -d scale ]; then for i in `(cd scale && ls -1)` ; do \ echo '"scale/'$i'@100x100"' >> $LISTFILE.new ; \ + echo " begin menuitem" >&3 + eval echo "\ \ \ \ text \\\"\`echo $i | $SEDCMD\`\\\"" >&3 + echo " action string \"\\e]20;tile/$i;0x0+0+0:tile\\a\"" >&3 + echo " end" >&3 done fi +echo "end" >&3 # Check to see if the list has changed. If so, back up the old one. if [ -s $LISTFILE ]; then |