Export desktop files recursively

Some applications store their desktop files not just in /usr/share/applications, but in a subdirectory. Now we handle such cases too.
This commit is contained in:
Kron4ek 2023-04-09 21:04:56 +05:00
parent 99de03d896
commit 850b0571e4

View file

@ -19,7 +19,7 @@ script_version="1.22"
# Important variables to manually adjust after modification! # Important variables to manually adjust after modification!
# Needed to avoid problems with mounting due to an incorrect offset. # Needed to avoid problems with mounting due to an incorrect offset.
script_size=26531 script_size=26746
utils_size=2507588 utils_size=2507588
# Full path to the script # Full path to the script
@ -808,20 +808,27 @@ if [ "$(ls "${mount_point}" 2>/dev/null)" ] || \
cd "${mount_point}"/usr/share/applications || exit 1 cd "${mount_point}"/usr/share/applications || exit 1
echo "Exporting..." echo "Exporting..."
for f in *.desktop; do for f in *.desktop */ */*.desktop; do
while read -r line; do if [ "${f}" != "*.desktop" ] && [ "${f}" != "*/*.desktop" ] && [ "${f}" != "*/" ]; then
line_function="$(echo "${line}" | head -c 4)" if [ -d "${f}" ]; then
mkdir -p "${applications_dir}"/"${f}"
if [ "${line_function}" = "Name" ]; then
line="${line} (Conty)"
elif [ "${line_function}" = "Exec" ]; then
line="Exec=\"${script}\" $(echo "${line}" | tail -c +6)"
elif [ "${line_function}" = "TryE" ]; then
continue continue
fi fi
echo $line >> "${applications_dir}"/"${f%.desktop}"-conty.desktop while read -r line; do
done < "${f}" line_function="$(echo "${line}" | head -c 4)"
if [ "${line_function}" = "Name" ]; then
line="${line} (Conty)"
elif [ "${line_function}" = "Exec" ]; then
line="Exec=\"${script}\" $(echo "${line}" | tail -c +6)"
elif [ "${line_function}" = "TryE" ]; then
continue
fi
echo $line >> "${applications_dir}"/"${f%.desktop}"-conty.desktop
done < "${f}"
fi
done done
echo "Desktop files have been exported" echo "Desktop files have been exported"