If anyone is curious, I checked the yay aur helper go dependencies here and it had none of the malicious packages mentioned on this post
tomatoely
LocalSend for quick local network file sharing from my phone that just werks. I prefer it over kde connect because the latter uses lots of random ports that kinda bloat my firewall whitelist. I know there is an alternative called warpinator, but I don't see a reason to change my preferences for now.
Will they deliver dev toolkits on time so there's actually something to use in those machines other than a browser?
Isn't that what openGL and vulkan aim for?
So ZQ
comes from the sound of a fly being swatted?
I've got to try #1
He's not your buddy, friend!
ooo that looks nice! I'll try it once I need to unrust my script skills again, thanks for the help!
It's fixed now! At first I researched a little more and found about the desktop-file-validate
cli utility from the desktop-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"
If 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 :(
So thats the reason behind the steamdecks fume mania huh? I'll keep that in mind (hopefully not on my nostrils!) if I ever get one. Thank you for keeping up with the blogposts! They make my long bus rides way more entertaining :)