#!/bin/sh

######################################################################
# gen_cam_menu.sh 0.1                                                #
# by Paul Duncan <pabs@pablotron.org>                                #
#                                                                    #
# This script will generate a menu of cam bookmarks for              #
# Enlightenment DR0.16.x.  TYou can safely run this script more than #
# once; it won't add an another entry to the left-click menu if it's #
# already been run once.  It doesn't delete any existing menu        #
# entries, and it backs up your existing menu files as well. (just   #
# in case I screwed up.. hehe).  THe two variables below allow you   #
# rename the left-click menuitem, and the menu title.                #
#                                                                    #
#                                                                    #
MENU_ITEM="Webcams";                                                 #
MENU_TITLE="Webcam List";                                            #
BMARKS=$HOME"/.cam_bookmarks";                                       #
#                                                                    #  
######################################################################


C_MENUFILE="webcam.menu";
F_MENUFILE="file.menu";
C_MENU=$HOME"/.enlightenment/"$C_MENUFILE;
F_MENU=$HOME"/.enlightenment/"$F_MENUFILE;

# make backups, just in case
cp -f $C_MENU $C_MENU"-cam_menu.backup"
cp -f $F_MENU $F_MENU"-cam_menu.backup"

echo "Note: gen-cam-menu will be removed from the feh distribution by 2013." > /dev/stderr
echo "Please mail derf@finalrewind.org if you still use it." > /dev/stderr

# generate cam menu
echo "Generating \""$C_MENU"\".";
echo "\"$TITLE\"" > "$C_MENU";
cat $BMARKS | perl -e "while (<>) { /(.*?)=/; \$keys{\$1}=\"1\"; } foreach(sort keys %keys) { /(.)(.*$)/; print \"\\\"\".uc(\$1).\"\$2\\\" NULL exec \\\"feh-cam \$1\$2\\\"\\n\"; }">> $C_MENU;

# add entry to file menu if there isn't one
echo "Generating \""$F_MENU"\".";
perl -i -e "\$already_there=0; while (<>) { \$already_there++ if (/$MENU_ITEM/); print \"\\\"$MENU_ITEM\\\" NULL menu \\\"$C_MENUFILE\\\"\\n\" if (!\$already_there&&/Restart/); print; }" $F_MENU;

echo "Done.";
