• 10 Posts
  • 29 Comments
Joined 8 months ago
cake
Cake day: July 28th, 2024

help-circle




  • 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 :(


















  • Haha yeah everyone starts somewhere. I think if it wasn’t for the pandemic and the free time it gave my I would still be really bad at the game. But apart from getting better and better, I also find it fun to discover new music through random multiplayer lobbies, going into lazer and putting all the quirky mods I can or even trying to map new levels of some songs that I personally like. I truly think past the otaku stuff osu! has a lot of great stuff to check out, specially for a ftp game.




  • I know this question is a year old, but I’m just discovering that this community is on lemmy so I guess it’s better late than never!

    So it is not just a cosmetic mode. With the classic mod, your slider head click timing is a lot more forgiving than on normal lazer. You can try it yourself: if you click on a slider somewhat early or late it still registers as a great or 300. This is how it’s done on the classic version of osu!

    I don’t know why it started this way, but maybe it was because Osu! Tatakae! Ouendan (the ds game osu! is based on) also registered acc like that too.

    IIRC, the pp (performance points) system now awards you for playing without classic mode as it is, well, more challenging this way. So take that in mind if you want to climb the osu! leaderboard.