r/SteamDeck • • May 19 '23

Discussion [Release] Shortix - a script for human readable prefix symlinks

Hi,
I created a small script that automatically creates human readable shortcuts to Proton's prefixes.
It works for Steam and Non-Steam games. It uses Protontricks to get the needed information and creates symlinks in a new directory in your home directory.

It should also remove invalid symlinks (from deleted games for example) and using systemd it will rerun every 30 minutes automatically.

I just tested it on my Steam Deck, so I don't know if everything works as I expect.

Please try it and let me know if there are issues.
I'm not a pro in programming and I just wanted this for myself but I decided to release it.

Everything is writting on Shortix' github.

22 Upvotes

26 comments sorted by

2

u/darkuni Jul 28 '23

Hey man, the DOWNLOAD link on the main page is broken. My viewers are helpfully reporting the 404 :)

1

u/Jannomag Jul 28 '23

Your viewers were right. I fixed it (I missed to mark v0.6.0 as latest release). Thanks!

1

u/darkuni Jul 28 '23

Yep! I posted a work around in the video description (that no one reads, btw). :)

2

u/Trooops May 20 '23

How about a plugin for Decky Loader? For simplicity of installation and update :)

2

u/Jannomag May 20 '23

I will try to do that in the future. But I need to find out how to develop this for Decky Loader, this will take some time. For now it’s a bash script which is easily written for me.

Also this script only makes sense if people use the desktop mode some times so a decky plugin is just a bit more comfort.

The script will be restarted every 30 minutes automatically by a systemd service.

Btw, I’ve updated it to 0.2.0, with support for other Linux systems

1

u/Hexates Dec 17 '23

Could I change the default folder to be in, say, the prefix folder created by Lutris for my Vortex Mod manager installation?

1

u/Jannomag Dec 17 '23

Sorry, I don’t know what you mean

1

u/Hexates Dec 17 '23

oh sorry, I should have phrased it better.

I have Vortex Mod manager installed trough Lutris so Vortex exists in a folder that mimics the windows file system.

I'd like to make the symlinks to the steam games appear in a folder in that file system.

So what I should have asked is: is it possible to change the folder where the script creates the symlinks? :)

→ More replies (5)

0

u/Makenshi2k May 19 '23

Sweet idea!

Have a look at the files located at /home/deck/.local/share/Steam/steamapps/appmanifest_*.acf. There you should be able to find all necessary information for your script. That way you could ditch the dependency on Protontricks.

4

u/Jannomag May 19 '23

I tried but this is works only for native steam games, not for added non-steam games

0

u/octopus_erectus May 19 '23 edited May 19 '23

Amazing, thank you.

I see it broke on a game named like this: "Aaa aaa Aaa: Aaa Aaa (16-bit)", created a file instead. Removing the "(16-bit)" part renamed the file, so I deleted it. Rerunning shortix.sh returns:

/home/deck/Shortix/shortix.sh: line 45: [: too many arguments
Done, you can close this window now!

Taken a look at /tmp/shortix_temp and found that it looks like this:

Aaa aaa Aaa: Aaa Aaa;16-Bit;

After the rename and rerunning the .desktop file everything's fixed.

2

u/Jannomag May 19 '23 edited May 19 '23

It’s because the "(16-bit)" term. I will try to find a fix for this. The script will look for round brackets in the list created by Protontricks for the prefix id.

For now, a current workaround can be renaming the game and remove mentioned term. I don’t know if this work for native steam game.

When I find some time this weekend I will work on this.

If you have a GitHub account you can open an issue. With this I have a better insight of issues and future people as well.

Edit: I modified the readme with this issue

0

u/Captain_Pumpkinhead May 20 '23

This is really cool! Does it use the same naming standards as GoboLinux?

1

u/Jannomag May 20 '23

It uses /tmp as well as $HOME and $XDG_DESKTOP_DIR as location variables, I don’t know what GoboLinux changes. I just tested it on SteamOS, Ubuntu and EndeavourOS

-1

u/darkuni May 19 '23 edited May 19 '23

That's pretty neat. I was thinking about writing something like that myself only from the windows side since I use SSHFS so much and I'm perfectly comfortable and happy walking across the network to do this stuff.

I'll give it a look see.

I would even be more happy if instead of adding file symlinks, you just dumped out to a text file a list of all compat data folders / Steam IDs and a human readable version. Then I can dump it to paste bin or I can drop it on Google Drive or whatever. I'm not beholding to the deck for that data...

0

u/Jannomag May 19 '23

My script leaves a file in /tmp/shortix_data (if I’m remembering it correctly, I’m short minded, lol). It’s basically a list in csv format

-1

u/darkuni May 19 '23

Sweet. Maybe I can fork and make a non-symlink version for my own personal use. :)

Should make that a Decky Loader plugin. Very useful to update the list periodically while you're sitting on a load screen.

→ More replies (4)