View Single Post
santiago's Avatar
Posts: 518 | Thanked: 334 times | Joined on Mar 2010 @ italy
#213
Originally Posted by DavyP View Post
The modified script that also creates the icons does not seem to work.
The application is running in the background and all the paths are OK
but as soon as I tap on the icon, the whole interface becomes
unresponsive. I actually have to shut down the whole emulator and start
it up again.

Strangely enough, if start the X terminal application in the N900 menu,
and run the script from there, I have no problem, and neither when I
start a terminal from my Linux desktop via the "mad remote shell"
command.

Davy
Hi bro! try this script, now it uses Original icon on a Jar file and moves it like a copy into /usr/share/icons/hicolor/scalable/hildon/$MIDLET_NAME.png

edit: open the sh file you have (midletname.sh) and change the phoneme path there

remember? you told me you have a different path in you Madde emulator
Code:
#!/bin/sh

run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Welcome to MakeJadSHortcutter!"
sleep 2
JAR=$1
if [ ! -f "${JAR}" ]; then
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"JAR file does not exist!" && sleep 3
  echo "Usage: makejadsh JAR file";
  exit 1
fi

JAD="${JAR%.*}.jad"
if [ -f "${JAD}" ]; then
  echo -n "${JAD} already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${JAD} file!"
  else
    rm -f "${JAD}"
  fi
fi

if [ ! -f "${JAD}" ]; then
  unzip -aa -j -p ${JAR} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"
  echo "MIDlet-Jar-URL: ${JAR}" >> "${JAD}"
  echo "MIDlet-Info-URL: http://" >> "${JAD}"

  FILESIZE=$(stat "${JAR}")
  echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"

  echo "${JAD} file created!"
  MIDLET_ICON=`grep "MIDlet-Icon: " $JAD  | sed "s/\MIDlet-Icon://g" | sed 's/\///g' | sed 's/^[ \t]*//'`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  UNZIP_ICON=`unzip "$JAR" "$MIDLET_ICON" -d /usr/share/icons/hicolor/scalable/hildon/`
  RENAME_ICON=`mv "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_ICON" "/usr/share/icons/hicolor/scalable/hildon/$MIDLET_NAME.png"`
fi

SH="${JAR%.*}.sh"
if [ -f "${SH}" ]; then
  echo -n "${SH} Already exists, overwrite the file? (Y/N) "
  read tmpans
  answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
  if [ "$answer" != "y" ] && [ "$answer" != "Y" ]; then
    echo "Not overwriting ${SH} file!"
  else
    rm -f "${SH}"
  fi
fi

if [ ! -f "${SH}" ]; then
  MAINCLASS=`cat $JAD | grep 'MIDlet-1:' | cut -d ',' -f 3`
  READLINKJAR=`readlink -f $JAR`
  echo '#!/bin/sh' > $SH
  echo '' >> $SH
  echo '/home/user/phoneme/bin/cvm -Xmx12m -Dmicroedition.profiles=MIDP-2.1 -Dsun.midp.library.name=midp -Dsun.midp.home.path=/home/user/phoneme/midp/midp_linux_fb_gcc -Dcom.sun.midp.mainClass.name=com.sun.midp.main.CdcMIDletSuiteLoader sun.misc.MIDPLauncher -suitepath' $READLINKJAR '-jadpath' $JAD -1 $MAINCLASS >> $SH
  chmod a+x $SH
  echo "${SH} file created!"
  READLINK=`readlink -f $SH`
  MIDLET_NAME=`grep "MIDlet-Name: " $JAD  | sed /MIDlet-Name:/s///`
  MIDLET_VERSION=`grep "MIDlet-Version: " $JAD  | sed /MIDlet-Version:/s///` 
  echo -e "[Desktop Entry]
Encoding=UTF-8
Version=$MIDLET_VERSION
Type=Application
Name=$MIDLET_NAME
Exec=.$READLINK
X-Osso-Type=application/x-executable
Terminal=true
Icon=$MIDLET_NAME" | sudo tee /usr/share/applications/hildon/"$MIDLET_NAME".desktop
  sleep 6
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Created! The $MIDLET_NAME shortcut is now on the Menu"
  echo "$MIDLET_NAME added as a .desktop shortcut"
  sleep 4 ; else
  run-standalone.sh dbus-send --type=method_call --dest=org.freedesktop.Notifications /org/freedesktop/Notifications org.freedesktop.Notifications.SystemNoteInfoprint string:"Unable to create $MIDLET_NAME.desktop file, check the ownership and try again!"
  sleep 2
  echo "Unable to add $MIDLET_NAME added as a .desktop shortcut, check the ownership!"
fi

exit 0

Last edited by santiago; 2012-02-14 at 17:02.
 

The Following User Says Thank You to santiago For This Useful Post: