summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Patrin <papercrane@gmail.com>2006-02-09 23:31:08 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-02-09 23:31:08 +0000
commitb37b732cd782699dd3b146c182f202905734bb24 (patch)
treebffe93ee725ac040290c472cb74429e86fab112c
parent227ce7837904625d26e7f09ec46e352994e630ec (diff)
e17-gpe-menu-convert: add a new package to convert GPE .desktop files into an e17 menu
-rw-r--r--packages/e17/e17-gpe-menu-convert/.mtn2git_empty0
-rw-r--r--packages/e17/e17-gpe-menu-convert/e17-gpe-menu-convert.sh144
-rw-r--r--packages/e17/e17-gpe-menu-convert_0.2.bb18
3 files changed, 162 insertions, 0 deletions
diff --git a/packages/e17/e17-gpe-menu-convert/.mtn2git_empty b/packages/e17/e17-gpe-menu-convert/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/e17/e17-gpe-menu-convert/.mtn2git_empty
diff --git a/packages/e17/e17-gpe-menu-convert/e17-gpe-menu-convert.sh b/packages/e17/e17-gpe-menu-convert/e17-gpe-menu-convert.sh
new file mode 100644
index 0000000000..cf144272ec
--- /dev/null
+++ b/packages/e17/e17-gpe-menu-convert/e17-gpe-menu-convert.sh
@@ -0,0 +1,144 @@
+#!/bin/sh
+
+setVar() {
+ if [ ! "$value" = "" ]; then
+ name=`echo "$name" | sed 'y:-\[\]:_____:'`
+ value=`echo "$value" | sed 's:":\\\":g'`
+ export $name="$value"
+ fi
+}
+
+#convert true/false to 1/0
+bool() {
+ if [ ! "$1" = "" ]; then
+ if [ "$1" = "True" ]; then
+ cmd="$cmd $2 1"
+ else
+ cmd="$cmd $2 0"
+ fi
+ fi
+}
+
+str() {
+ if [ ! "$1" = "" ]; then
+ cmd="$cmd $2 \"$1"\"
+ fi
+}
+
+convert_desktop_to_eap() {
+ echo "Converting $1 to $2"
+ for l in `cat $1`; do
+ #on empty line clear vars
+ if [ "$l" = "" ]; then
+
+ #grab previous var if it exists
+ setVar
+
+ name=""
+ value=""
+ else
+ #if an = is in the line it's a name/value pair
+ if echo "$l" | grep -q "="; then
+
+ #grab previous var if it exists
+ setVar
+
+ name=`echo "$l" | cut -d "=" -f 1`
+ value=`echo "$l" | cut -d "=" -f 2-`
+ else
+
+ #if previous value assume this is a continuation
+ if [ ! "$value" = "" ]; then
+ value="$value $l"
+ fi
+ fi
+ fi
+ done
+ setVar
+
+ cmd=""
+
+ #set up options
+ bool "$StartupNotify" -set-startup-notify
+ str "$Name" -set-name
+ str "$Comment" -set-comment
+ str "$Exec" -set-exe
+
+ if [ ! "$cmd" = "" ]; then
+ #cp ~/.e/e/applications/all/aterm.eap gpe-othello.eap
+ ##empty out eap file
+ ##enlightenment_eapp | grep -- -set- | cut -d " " -f 3 | xargs -iCMD enlightenment_eapp gpe-othello.eap CMD \"\"
+ #enlightenment_eapp gpe-othello.eap -del-all
+
+ cat <<EOF > /tmp/gpeEap.edc
+images {
+ image: "$Icon" COMP;
+}
+collections {
+ group {
+ name: "icon";
+ max: 48 48;
+ parts {
+ part {
+ name: "image";
+ mouse_events: 0;
+ description {
+ state: "default" 0.0;
+ aspect: 1.0 1.0;
+ image.normal: "$Icon";
+ }
+ }
+ }
+ }
+}
+EOF
+
+ edje_cc --image_dir /usr/share/pixmaps /tmp/gpeEap.edc "$PATH_TO_EAP/$2"
+ rm /tmp/gpeEap.edc
+
+ cmd="enlightenment_eapp \"$PATH_TO_EAP/$2\" $cmd"
+
+ #pipe command in sh to allow it to re-interpret quotes
+ echo $cmd | /bin/sh -s
+
+ if `echo "$Categories" | grep -q "SystemSettings"`; then
+ dir="Settings"
+ elif `echo "$Categories" | grep -q "PIM"`; then
+ dir="PIM"
+ elif `echo "$Categories" | grep -q "Network"`; then
+ dir="Network"
+ elif `echo "$Categories" | grep -q "Games"`; then
+ dir="Games"
+ elif `echo "$Categories" | grep -q "Game"`; then
+ dir="Games"
+ elif `echo "$Categories" | grep -q "AudioVideo"`; then
+ dir="Multimedia"
+ elif `echo "$Categories" | grep -q "Panel"`; then
+ dir="Utility/Panel"
+ elif `echo "$Categories" | grep -q "Utility"`; then
+ dir="Utlity"
+ else
+ dir=""
+ fi
+
+ #dir=`echo "$Categories" | sed 'y:;:/:'`
+ mkdir -p "$PATH_TO_E_GPE/$dir"
+ echo "$2" >> "$PATH_TO_E_GPE/$dir"/.order
+ fi
+}
+
+PATH_TO_DESKTOP="${IMAGE_ROOTFS}/usr/share/applications"
+PATH_TO_EAP="${IMAGE_ROOTFS}/home/root/.e/e/applications/all"
+PATH_TO_E_GPE="${IMAGE_ROOTFS}/home/root/.e/e/applications/favorite/GPE"
+
+if [ ! -d $PATH_TO_E_GPE ]; then
+ mkdir -p $PATH_TO_E_GPE
+fi
+if [ ! -d $PATH_TO_EAP ]; then
+ mkdir -p $PATH_TO_EAP
+fi
+cd "$PATH_TO_DESKTOP"
+for f in `ls *.desktop`; do
+ eap=`echo "$f" | cut -d . -f 1`
+ convert_desktop_to_eap "$PATH_TO_DESKTOP/$f" "$eap.eap"
+done
diff --git a/packages/e17/e17-gpe-menu-convert_0.2.bb b/packages/e17/e17-gpe-menu-convert_0.2.bb
new file mode 100644
index 0000000000..b83cba6209
--- /dev/null
+++ b/packages/e17/e17-gpe-menu-convert_0.2.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "Shell script to convert GPE .desktop files into e17 eap files and menus"
+DEPENDS = "edje e-wm"
+RDEPENDS += "edje-utils e-wm"
+LICENSE = "MIT"
+SECTION = "e/apps"
+MAINTAINER = "Justin Patrin <papercrane@reversefold.com>"
+PR = "r0"
+
+SRC_URI = "file://e17-gpe-menu-convert.sh"
+
+do_install() {
+ install -d ${D}/usr/bin/
+ install -m 755 ${WORKDIR}/e17-gpe-menu-convert.sh ${D}/usr/bin/e17-gpe-menu-convert.sh
+}
+
+pkg_postinst() {
+ /usr/bin/e17-gpe-menu-convert.sh 2>&1 > /tmp/gpe-menu-convert.log
+} \ No newline at end of file