e17-gpe-menu-convert: add a new package to convert GPE .desktop files into an e17...
authorJustin Patrin <papercrane@gmail.com>
Thu, 9 Feb 2006 23:31:08 +0000 (23:31 +0000)
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>
Thu, 9 Feb 2006 23:31:08 +0000 (23:31 +0000)
packages/e17/e17-gpe-menu-convert/.mtn2git_empty [new file with mode: 0644]
packages/e17/e17-gpe-menu-convert/e17-gpe-menu-convert.sh [new file with mode: 0644]
packages/e17/e17-gpe-menu-convert_0.2.bb [new file with mode: 0644]

diff --git a/packages/e17/e17-gpe-menu-convert/.mtn2git_empty b/packages/e17/e17-gpe-menu-convert/.mtn2git_empty
new file mode 100644 (file)
index 0000000..e69de29
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 (file)
index 0000000..cf14427
--- /dev/null
@@ -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 (file)
index 0000000..b83cba6
--- /dev/null
@@ -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