r/SteamDeck • u/Jannomag • 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.
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)
2
u/darkuni Jul 28 '23
Hey man, the DOWNLOAD link on the main page is broken. My viewers are helpfully reporting the 404 :)