I've not been around the forums for a very, very long time; I dug out my board last night to have a tinker & things have changed a bit! Sorting out xTimeComposer took a little while (finding the icon was a pain) so I thought I'd share a Bash script I threw together to automate the process of setting it up.
It's by no means beautiful, but I think it should work for most systems; it needs saving to the same folder as the xTimeComposer tarball, "chmod +x ./filename.sh" and run with sudo.
The script unpacks the tarball to "/opt", creates an application link that includes the icon for the system menu and then adds it to the "Development" section.
Code: Select all
#!/bin/bash
TAR_LOC="./"
TAR_LOC+=$( find *xTIMEcomposer* )
MENU_LOC="/usr/share/applications/xTimeComposer.desktop"
MENU_CONFIG=$HOME"/.config/menus/applications-kmenuedit.menu"
if [[ ! -a $TAR_LOC ]]; then
if [[ -L $TAR_LOC ]]; then
echo "Error, '$TAR_LOC' is a broken symlink."
else
echo "Error, '$TAR_LOC' does not exist."
fi
else
ARRAY=( $( echo $TAR_LOC | tr "()" "\n" ) )
VERSION=${ARRAY[2]}
if [[ "$VERSION" == "" ]]; then
echo "Error, file version not found."
else
tar -xf $TAR_LOC -C /opt
CHECK=$( ls /opt/XMOS )
if [[ $CHECK == "xTIMEcomposer" ]]; then
echo "[Desktop Entry]
comment=
Exec=/opt/XMOS/xTIMEcomposer/$VERSION/xtimecomposer
GenericName=XMOS Programming Suite
Icon=/opt/XMOS/xTIMEcomposer/$VERSION/xtimecomposer_bin/configuration/org.eclipse.osgi/bundles/11/1/.cp/icons/xde_c_128.png
Name=xTimeComposer
NoDisplay=false
StartupNotify=true
Terminal=0
TerminalOptions=
Type=Application
X-KDE-SubstituteUID=false
X-KDE-Username=" > $MENU_LOC
DEV_LINE=$( grep -n '<Name>Development</Name>' $MENU_CONFIG | cut -f1 -d: )
INC_ARRAY=( $( grep -n '</Include>' $MENU_CONFIG | cut -f1 -d: ) )
for LINE in "${INC_ARRAY[@]}"
do
if [[ "$LINE" -gt "$DEV_LINE" ]]; then
sed -i $LINE'i <Filename>xTimeComposer.desktop</Filename>' $MENU_CONFIG
break
else
echo $LINE
fi
done
echo "Added to the menu, all done!"
else
echo "Error, the extraction failed. Try again with sudo."
fi
fi
fi
All the best,
Skeksis