-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathextractor
More file actions
executable file
·69 lines (59 loc) · 1.74 KB
/
extractor
File metadata and controls
executable file
·69 lines (59 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
#!/bin/bash
SCRIPT=$(readlink -f "$0")
SCRIPT_PATH=$(dirname "$SCRIPT")
SAMPLE_DESKTOP_FILE="$SCRIPT_PATH/desktopSample.desktop"
DESKTOP_FILES_PATH="$HOME/.local/share/applications/"
FILE_NAME=$1
DESTINATION=$2
check_file_name() {
if [ -z "$FILE_NAME" ]
then
echo "Error: please select a file to extract"
exit 1
fi
}
check_destination() {
if [ -z "$DESTINATION" ]
then
DESTINATION="/opt"
fi
}
extract_file() {
echo "Extracting $FILE_NAME to $DESTINATION..."
cd $DESTINATION
sudo tar xf $FILE_NAME
APPDIRECTORY=`tar -tf $FILE_NAME | head -1 | cut -f1 -d"/"`
echo "Finished extraction in $DESTINATION/$APPDIRECTORY"
}
copy_desktop_file () {
cp $SAMPLE_DESKTOP_FILE $HOME/.local/share/applications/$APPDIRECTORY.desktop
echo "Created desktop file in $DESKTOP_FILES_PATH"
}
search_starting_script () {
echo "`ls $APPDIRECTORY/bin`"
read -p "Pick the executable file to use for the desktop file: " EXECUTABLE
}
search_icons () {
echo "`find $APPDIRECTORY -type f \( -iname \*.jpg -o -iname \*.png -o -iname \*.svg \)`"
read -p "Pick the icon path to use for the desktop file: " ICON
}
replace_desktop_variables () {
sed -i "s#"{appName}"#"$APPDIRECTORY"#g" $HOME/.local/share/applications/$APPDIRECTORY.desktop
sed -i "s#"{executableDir}"#"$EXECUTABLELOC"#g" $HOME/.local/share/applications/$APPDIRECTORY.desktop
sed -i "s#"{iconPath}"#"$ICONLOC"#g" $HOME/.local/share/applications/$APPDIRECTORY.desktop
}
create_desktop_file() {
echo "Creating desktop file..."
copy_desktop_file
search_starting_script
search_icons
EXECUTABLELOC="$DESTINATION/$APPDIRECTORY/bin/$EXECUTABLE"
ICONLOC="$DESTINATION/$ICON"
replace_desktop_variables
}
check_file_name
FILE_NAME="`pwd`/$1"
check_destination
extract_file
create_desktop_file
echo "Done. Bye."