So ZQ
comes from the sound of a fly being swatted?
- 1 Post
- 6 Comments
tomatoely@sh.itjust.worksOPto KDE@lemmy.kde.social•[Solved] How do I troubleshoot dolphin's custom service menus?1·21 days agoooo that looks nice! I’ll try it once I need to unrust my script skills again, thanks for the help!
tomatoely@sh.itjust.worksOPto KDE@lemmy.kde.social•[Solved] How do I troubleshoot dolphin's custom service menus?2·21 days agoIt’s fixed now! At first I researched a little more and found about the
desktop-file-validate
cli utility from thedesktop-file-utils
package, and it did tell me a lot about the syntax errors I was making with the exec command.But as you wisely suggested, dealing with those escaping rules was a bit too bothersome for my use case, so I ended going the bash script route which worked flawlessly at last! So thank you for pointing that out!
Here’s the final .desktop file for anyone interested:
[Desktop Entry] Type=Service MimeType=image/png;image/jpg;image/jpeg;image/ico;image/heic;image/svg+xml;image/webp; Actions=topng;tojpg;toico;towebp X-KDE-Submenu=Convert Image Format Icon=viewimage [Desktop Action topng] Name=To Png Exec=/home/myuser/.local/share/kio/servicemenus/scripts/convert-image.sh %f png Icon=viewimage [Desktop Action tojpg] Name=To Jpg Exec=/home/myuser/.local/share/kio/servicemenus/scripts/convert-image.sh %f jpg Icon=viewimage [Desktop Action toico] Name=To Ico Exec=/home/myuser/.local/share/kio/servicemenus/scripts/convert-image.sh %f ico Icon=viewimage [Desktop Action towebp] Name=To Webp Exec=/home/myuser/.local/share/kio/servicemenus/scripts/convert-image.sh %f webp Icon=viewimage
and the bash script coupled with it:
#!/bin/bash FILE="${1}" FORMAT="${2}" # Check if magick is installed if ! command -v magick &> /dev/null; then echo "Error: magick command not found. Please install ImageMagick." exit 1 fi # Check if FILE exists if [[ ! -f "$FILE" ]]; then echo "File not found: $FILE" exit 1 fi DIRECTORY=$(dirname "$FILE") # Get the file name by looking for the longest match starting from the beginning of the string up to the last dot. FILENAME=$(basename "$FILE" .${FILE##*.}) # Convert the file format using magick magick "$FILE" -format "$FORMAT" "$DIRECTORY/$FILENAME.$FORMAT"
tomatoely@sh.itjust.worksOPto KDE@lemmy.kde.social•[Solved] How do I troubleshoot dolphin's custom service menus?1·22 days agoIf I understood correctly, I made the changes as you said like this:
Exec=sh -c "FILE=\"%f\"; DIRECTORY=\"$(dirname \"$FILE\")\"; FILENAME=\"${FILE%.*}\"; magick \"$FILE\" -format png \"$DIRECTORY/$FILENAME.png\""
Now when I click on the service menu option this error popup appears:
Syntax error in command sh -c "FILE=%f; DIRECTORY=$(dirname $FILE); FILENAME=${FILE%.*}; magick $FILE\ -format png $DIRECTORY/$FILENAME.png" coming from
It seems escaping the double quotes doesn’t actually escape the backlash with it?
I then tried escaping those new backlashes like this
Exec=sh -c "FILE=\\"%f\\"; DIRECTORY=\\"$(dirname \\"$FILE\\")\\"; FILENAME=\\"${FILE%.*}\\"; magick \\"$FILE\\" -format png \\"$DIRECTORY/$FILENAME.png\\""
and now Dolphin doesnt complain about syntax, but the new converted image doesn’t get made :(
Tux is in need of a glass of wine to handle all those pesky windows households
Isn’t that what openGL and vulkan aim for?