#! /bin/bash
#
#  Create desktop and icon files for a given appimage executable.
#  This will result in the usual desktop icon/launcher.
#
#  Usage:  $ ./appimage-desktop.sh <appimage file> 
#

appfile=$1
if [ -z "$appfile" ]; then
   echo "usage: appimage-desktop <appimage file>"
   exit 1;
fi

appfile=$(realpath $appfile) 
echo "appimage file: " $appfile
if [ ! -f $appfile ]; then
   echo "file not found: " $appfile
   exit 1;
fi

chmod u+x $appfile

# extract ´appname' from appimage file: /.../appname-N.N-appimage

appname=$(basename $appfile)
appname=${appname%-appimage}
appname=${appname%-*}
echo "application name: " $appname

# extract desktop relevant files

$appfile --appimage-extract
echo "extracted appimage files:"
ls -la squashfs-root

# copy files to $HOME/.local directories

cp $appfile $HOME/.local/bin/$appname
cp squashfs-root/$appname.desktop $HOME/.local/share/applications/
cp squashfs-root/$appname.png $HOME/.local/share/icons

echo "created files:"
echo $HOME/.local/bin/$appname
echo $HOME/.local/share/applications/$appname.desktop
echo $HOME/.local/share/icons/$appname.png

rm -r squashfs-root

exit 1;


