#!/bin/sh
#called by desksetup.sh 
#110117 0.4 simple prog to arrange desk icons. Fucntions
#110424 rodin.s i18n for spup-100
#define working directorys
APPDIR="`dirname $0`"
[ "$APPDIR" = "." ] && APPDIR="`pwd`"
export APPDIR="$APPDIR"
#define config dir/file
CONFDIR="$HOME/.desksetup"
CONFFILE="$CONFDIR/desk.conf"
. $CONFFILE
. /etc/eventmanager
. /etc/DISTRO_SPECS
case $DISTRO_FILE_PREFIX in
lupu|luci) #lucid specific pinboards
 if [ "$DISTRO_VERSION" -lt "515" ];then #lucid >=515
 DEFAULTPIN="  <icon x=\"96\" y=\"36\" label=\"$(gettext 'help')\">/usr/sbin/puppyhelp</icon>
  <icon x=\"96\" y=\"320\" label=\"$(gettext 'play')\">/usr/local/bin/defaultmediaplayer</icon>
  <icon x=\"96\" y=\"224\" label=\"$(gettext 'email')\">/usr/local/bin/defaultemail</icon>
  <icon x=\"96\" y=\"128\" label=\"$(gettext 'calc')\">/usr/local/bin/defaultspreadsheet</icon>
  <icon x=\"416\" y=\"32\" label=\"$(gettext 'console')\">/usr/bin/urxvt</icon>
  <icon x=\"352\" y=\"32\" label=\"$(gettext 'edit')\">/usr/local/bin/defaulttexteditor</icon>
  <icon x=\"32\" y=\"416\" label=\"$(gettext 'connect')\">/usr/local/apps/Connect</icon>
  <icon x=\"32\" y=\"320\" label=\"$(gettext 'plan')\">/usr/local/bin/defaultcalendar</icon>
  <icon x=\"32\" y=\"32\" label=\"$(gettext 'file')\">/usr/local/bin/rox</icon>
  <icon x=\"32\" y=\"224\" label=\"$(gettext 'browse')\">/usr/local/bin/defaultbrowser</icon>
  <icon x=\"32\" y=\"128\" label=\"$(gettext 'write')\">/usr/local/bin/defaultwordprocessor</icon>
  <icon x=\"32\" y=\"512\" label=\"$(gettext 'quickpet')\">/usr/sbin/quickpet</icon>
  <icon x=\"288\" y=\"32\" label=\"$(gettext 'setup')\">/usr/sbin/wizardwizard</icon>
  <icon x=\"224\" y=\"32\" label=\"$(gettext 'install')\">/usr/sbin/dotpup</icon>
  <icon x=\"224\" y=\"128\" label=\"$(gettext 'draw')\">/usr/local/bin/defaultdraw</icon>
  <icon x=\"1648\" y=\"32\" label=\"$(gettext 'lock')\">/usr/local/apps/Xlock</icon>
  <icon x=\"1648\" y=\"224\" label=\"$(gettext 'trash')\">/usr/local/apps/Trash</icon>
  <icon x=\"1648\" y=\"128\" label=\"$(gettext 'zip')\">/usr/local/apps/PupZip</icon>
  <icon x=\"160\" y=\"36\" label=\"$(gettext 'mount')\">/usr/sbin/pmount</icon>
  <icon x=\"160\" y=\"224\" label=\"$(gettext 'chat')\">/usr/local/bin/defaultchat</icon>
  <icon x=\"160\" y=\"128\" label=\"$(gettext 'paint')\">/usr/local/bin/defaultpaint</icon>
</pinboard>"
  else #lucid 500 - 511
 DEFAULTPIN="  <icon x=\"160\" y=\"128\" label=\"$(gettext 'paint')\">/usr/local/bin/defaultpaint</icon>
  <icon x=\"160\" y=\"36\" label=\"$(gettext 'mount')\">/usr/sbin/pmount</icon>
  <icon x=\"1248\" y=\"128\" label=\"$(gettext 'zip')\">/usr/local/apps/PupZip</icon>
  <icon x=\"1248\" y=\"224\" label=\"$(gettext 'trash')\">/usr/local/apps/Trash</icon>
  <icon x=\"1248\" y=\"32\" label=\"$(gettext 'lock')\">/usr/local/apps/Xlock</icon>
  <icon x=\"224\" y=\"128\" label=\"$(gettext 'draw')\">/usr/local/bin/defaultdraw</icon>
  <icon x=\"224\" y=\"32\" label=\"$(gettext 'install')\">/usr/sbin/dotpup</icon>
  <icon x=\"288\" y=\"32\" label=\"$(gettext 'setup')\">/usr/sbin/wizardwizard</icon>
  <icon x=\"96\" y=\"416\" label=\"$(gettext 'quickpet')\">/usr/sbin/quickpet</icon>
  <icon x=\"32\" y=\"128\" label=\"$(gettext 'write')\">/usr/local/bin/defaultwordprocessor</icon>
  <icon x=\"32\" y=\"224\" label=\"$(gettext 'browse')\">/usr/local/bin/defaultbrowser</icon>
  <icon x=\"32\" y=\"32\" label=\"$(gettext 'file')\">/usr/local/bin/rox</icon>
  <icon x=\"32\" y=\"320\" label=\"$(gettext 'plan')\">/usr/local/bin/defaultcalendar</icon>
  <icon x=\"32\" y=\"416\" label=\"$(gettext 'connect')\">/usr/local/apps/Connect</icon>
  <icon x=\"352\" y=\"32\" label=\"$(gettext 'edit')\">/usr/local/bin/defaulttexteditor</icon>
  <icon x=\"416\" y=\"32\" label=\"$(gettext 'console')\">/usr/bin/urxvt</icon>
  <icon x=\"96\" y=\"128\" label=\"$(gettext 'calc')\">/usr/local/bin/defaultspreadsheet</icon>
  <icon x=\"96\" y=\"224\" label=\"$(gettext 'email')\">/usr/local/bin/defaultemail</icon>
  <icon x=\"96\" y=\"320\" label=\"$(gettext 'play')\">/usr/local/bin/defaultmediaplayer</icon>
  <icon x=\"96\" y=\"36\" label=\"$(gettext 'help')\">/usr/sbin/puppyhelp</icon>
</pinboard>"
fi
 ;;
*) #all other puppies post woof
DEFAULTPIN="  <icon x=\"96\" y=\"320\" label=\"$(gettext 'play')\">/usr/local/bin/defaultmediaplayer</icon>
  <icon x=\"224\" y=\"32\" label=\"$(gettext 'install')\">/usr/sbin/dotpup</icon>
  <icon x=\"96\" y=\"224\" label=\"$(gettext 'email')\">/usr/local/bin/defaultemail</icon>
  <icon x=\"96\" y=\"128\" label=\"$(gettext 'calc')\">/usr/local/bin/defaultspreadsheet</icon>
  <icon x=\"32\" y=\"416\" label=\"$(gettext 'connect')\">/usr/local/apps/Connect</icon>
  <icon x=\"32\" y=\"320\" label=\"$(gettext 'plan')\">/usr/local/bin/defaultcalendar</icon>
  <icon x=\"32\" y=\"32\" label=\"$(gettext 'file')\">/usr/local/bin/rox</icon>
  <icon x=\"96\" y=\"36\" label=\"$(gettext 'help')\">/usr/sbin/puppyhelp</icon>
  <icon x=\"160\" y=\"36\" label=\"$(gettext 'mount')\">/usr/sbin/pmount</icon>
  <icon x=\"32\" y=\"224\" label=\"$(gettext 'browse')\">/usr/local/bin/defaultbrowser</icon>
  <icon x=\"32\" y=\"128\" label=\"$(gettext 'write')\">/usr/local/bin/defaultwordprocessor</icon>
  <icon x=\"416\" y=\"32\" label=\"$(gettext 'console')\">/usr/bin/urxvt</icon>
  <icon x=\"352\" y=\"32\" label=\"$(gettext 'edit')\">/usr/local/bin/defaulttexteditor</icon>
  <icon x=\"224\" y=\"128\" label=\"$(gettext 'draw')\">/usr/local/bin/defaultdraw</icon>
  <icon x=\"288\" y=\"32\" label=\"$(gettext 'setup')\">/usr/sbin/wizardwizard</icon>
  <icon x=\"160\" y=\"224\" label=\"$(gettext 'chat')\">/usr/local/bin/defaultchat</icon>
  <icon x=\"160\" y=\"128\" label=\"$(gettext 'paint')\">/usr/local/bin/defaultpaint</icon>
  <icon x=\"1248\" y=\"32\" label=\"$(gettext 'lock')\">/usr/local/apps/Xlock</icon>
  <icon x=\"1248\" y=\"224\" label=\"$(gettext 'trash')\">/usr/local/apps/Trash</icon>
  <icon x=\"1248\" y=\"128\" label=\"$(gettext 'zip')\">/usr/local/apps/PupZip</icon>
</pinboard>"
;;
esac
STYLE=`grep "<backdrop" $HOME/Choices/ROX-Filer/PuppyPin`
case $1 in
apply) #called from gui
#application icons
if [ "$RADIO1" = "true" ];then #normal pupypin
 CHOICE="traditional" #for splash msg
 echo "<?xml version=\"1.0\"?>" > $HOME/Choices/ROX-Filer/PuppyPin
 echo "<pinboard>" >> $HOME/Choices/ROX-Filer/PuppyPin
 echo "$STYLE" >> $HOME/Choices/ROX-Filer/PuppyPin
 echo "$DEFAULTPIN" >> $HOME/Choices/ROX-Filer/PuppyPin
 elif [ "$RADIO2" = "true" ];then #minimal pupypin
 CHOICE="minimal" 
 echo "<?xml version=\"1.0\"?>" > $HOME/Choices/ROX-Filer/PuppyPin
 echo "<pinboard>" >> $HOME/Choices/ROX-Filer/PuppyPin
 echo "$STYLE" >> $HOME/Choices/ROX-Filer/PuppyPin
 echo " <icon x=\"32\" y=\"162\" label=\"$(gettext 'edit')\">/usr/local/bin/defaulttexteditor</icon>
  <icon x=\"32\" y=\"354\" label=\"$(gettext 'console')\">/usr/bin/urxvt</icon>
  <icon x=\"32\" y=\"450\" label=\"$(gettext 'browse')\">/usr/local/bin/defaultbrowser</icon>
  <icon x=\"32\" y=\"66\" label=\"$(gettext 'file')\">/usr/local/bin/rox</icon>
  <icon x=\"32\" y=\"258\" label=\"$(gettext 'play')\">/usr/local/bin/defaultmediaplayer</icon>
 </pinboard>" >> $HOME/Choices/ROX-Filer/PuppyPin
 elif [ "$RADIO3" = "true" ];then #bare pupypin
 CHOICE="bare"
 echo "<?xml version=\"1.0\"?>
 <pinboard>
  $STYLE
 </pinboard>"  > $HOME/Choices/ROX-Filer/PuppyPin
 elif [ "$RADIO4" = "true" ];then #saved custom
  if [ -f $CONFDIR/custompin ];then
   CHOICE="custom"
   OLDSTYLE=`grep "<backdrop" $CONFDIR/custompin`
   APATTERN="s%$OLDSTYLE%$STYLE%"  #110119 bugfix
   PPIN=`cat $CONFDIR/custompin`
   sed -i "$APATTERN" $CONFDIR/custompin
   cp -af $CONFDIR/custompin $HOME/Choices/ROX-Filer/PuppyPin
   else
  gtkdialog-splash  -icon gtk-dialog-error -timeout 5 -deco deskset -fontsize large -bg hotpink -close never -text "$(gettext 'ERROR: You have not created a custom profile yet. Reverting to the default icon scheme')"
  sed -i 's/RADIO1=[a-z]*[a-z]/RADIO1=true/' $CONFFILE
  sed -i 's/RADIO4=[a-z]*[a-z]/RADIO4=false/' $CONFFILE
  kill `ps | grep -w "deskset" | awk '{print $1}'` 2>/dev/null
  /usr/local/desksetup/desksetup.sh &
  exit
  fi
fi
#drive icons
if [ "$RADIO5" = "true" ];then #no drive icons
 DRV1msg="$(gettext 'No driveicons will be on the desktop')"
 
 sed -i 's|ICONDESK=true|ICONDESK=false|' /etc/eventmanager
 sed -i 's|ICONPARTITIONS=false|ICONPARTITIONS=true|' /etc/eventmanager
fi
if [ "$RADIO6" = "true" ];then #partitions
 DRV1msg="$(gettext 'Partiton icons will be on the desktop')"
 
 sed -i 's|ICONDESK=false|ICONDESK=true|' /etc/eventmanager
 sed -i 's|ICONPARTITIONS=false|ICONPARTITIONS=true|' /etc/eventmanager
fi
if [ "$RADIO7" = "true" ];then #1 root drive icon only and usb, cd etc
 DRV1msg="$(gettext 'Only root drive icons will be on the desktop')"
 
 sed -i 's|ICONDESK=false|ICONDESK=true|' /etc/eventmanager
 sed -i 's|ICONPARTITIONS=true|ICONPARTITIONS=false|' /etc/eventmanager
fi
if [ "$RADIO8" = "true" ];then #1 drive icon
 DRV1msg="$(gettext 'Only one drive icon will be on the desktop')"
 
 sed -i 's|ICONDESK=true|ICONDESK=false|' /etc/eventmanager
 sed -i 's|ICONPARTITIONS=true|ICONPARTITIONS=false|' /etc/eventmanager
fi

sleep 1
kill `ps | grep -w "deskset" | awk '{print $1}'` 2>/dev/null
gtkdialog-splash  -icon gtk-dialog-info -timeout 5 -deco deskset -fontsize large -bg lightgreen -close never -text "`eval_gettext \"X windows will now restart to display your new \\\$CHOICE desktop choice. \\\$DRV1msg. This can take a few seconds, be patient\"`"
restartwm
;;
customsave) #save custom pinboard
CUSTOM=`cat $HOME/Choices/ROX-Filer/PuppyPin|grep -v "pup_event"`
echo "$CUSTOM" > $CONFDIR/custompin
gtkdialog-splash  -icon gtk-dialog-info -timeout 5 -deco deskset -fontsize large -bg lightgreen -close never -text "$(gettext 'You have successfully created your custom profile, You may now choose your custom radio button')"
;;
esac
