diff options
author | Justin Patrin <papercrane@gmail.com> | 2006-02-09 23:31:08 +0000 |
---|---|---|
committer | OpenEmbedded Project <openembedded-devel@lists.openembedded.org> | 2006-02-09 23:31:08 +0000 |
commit | b37b732cd782699dd3b146c182f202905734bb24 (patch) | |
tree | bffe93ee725ac040290c472cb74429e86fab112c | |
parent | 227ce7837904625d26e7f09ec46e352994e630ec (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_empty | 0 | ||||
-rw-r--r-- | packages/e17/e17-gpe-menu-convert/e17-gpe-menu-convert.sh | 144 | ||||
-rw-r--r-- | packages/e17/e17-gpe-menu-convert_0.2.bb | 18 |
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 |