A script that creates human readable symlinks for Proton game prefixes
Fixed nested symlink by using ln -sTf
instead of just ln -sf
. This was mentioned by @MKReyesH in issue #8. Thanks for this!
To update just run the desktop shortcut or redownload it from the releases (nothing got changed to the shortcut itself).
You need to install Protontricks from Discover on your Steam Deck, that's it.
Download the installer to the Desktop and double click it.
Attention for Firefox users: I noticed that Firefox will append ".download" to the file. I don't know why, but you need to remove this, so the file is called "shortex_installer.desktop" in order to be executable.
The installer will you ask you three things:
- Add prefix id to the game name - this will make the shortcuts look like this:
Game Name (12345678)
- Add size of the target to the game name - this will make the shortcut look like this:
Game Name (12345678) - 1.6G
(orGame Name - 1.6G
if you disabled prefix ids). - Install the Shortix service - this will allow Shortix to be executed automatically after a time interval (default is 30 Minutes). This will work in Game Mode as well.
If you changed your mind about the service, just run the "Update Shortix" again.
Afterwards there's a new directory in you home directory, called Shortix.
In there you'll find all created symlinks / shortcuts to the installed games - which were found by Protontricks.
You'll also find a subdirectory called "_Shaders". In there you'll find shortcuts to all available shadercache directories.
In the Shortix directory you'll also find the shortix.sh
and remove_prefix.sh
scripts.
With shortix.sh
you can run Shortix manually (run this in a Terminal or use right click and choose "Run in Konsole" if you're running KDE).
For remove_prefix.sh
read the tutorial below.
(Please note: in the directory you will find several hidden files, currently possible are: .shortix
, .shortix_last_run
, .id
, .size
.
Those files are needed by the script as settings files, don't delete them!).
If you want to rerun the script manually, just delete all symlinks and the hidden files .shortix
and .shortix_last_run
. Both files are settings file for letting the script know if it already ran at least once. Then just run the shortix.sh in a terminal.
If you don't want ids or sizes to be added anymore, delete .id
or/and .size
and do the rerun thing from the line above.
- Go to the /tmp folder using
cd /tmp
- Clone this repo with
git clone https://github.com/Jannomag/shortix
- Create Shortix directory with
mkdir -p /home/deck/Shortix
- Copy the script with
cp /tmp/shortix/shortix.sh /home/deck/Shortix
- Copy the systemd service with
cp /tmp/shortix/shortix.service /home/deck/.config/systemd/user
- Reload systemd daemon with
systemctl --user daemon-reload
- Enable service with
systemctl --user enable shortix.service
- Start service with
systemctl --user start shortix.service
- Done (all those steps does the
shortix_installer.sh
for you
I just wanted to have easier access to the prefixes for the games on my Steam Deck, so I created Shortix. What it does is really simple:
- Run protontricks to get a list of all installed games, including Non-Steam games.
- Use the data to create symlinks in
/home/deck/Shortix
- If there's a dead end symlink, it will get removed
- The script will be executed every 15 minutes by a systemd user service
To change the restart interval you need to change two things:
- in
/home/deck/Shortix/shortix.sh
- change the value of the TIME variable in minutes - in
/home/deck/.config/systemd/user/shortix.service
- change the 1800s value to your desired value in seconds
If you want you can also change the directory. For this modify the directory within the shortix.sh and also in the shortix.service file.
You can also run the script manually either by using the terminal directly using this command: /bin/bash /home/deck/Shortix/shortix.sh
or right click on the file and chosse "Run in Konsole".
I've added a script called remove_prefix.sh
to the Shortix directory.
This script allows you to remove not just the shortcut but also the whole prefix directory.
This will also work for shadercache shortcuts, just drag&drop those instead.
Run this script in a terminal (or do right click -> "Run in Konsole" for KDE / Steam Deck).
Then you can drag an drop all shortcuts from the Shortix directory of which you want to remove the prefix directory.
Afterwards press enter, the script will notify you about the paths.
It will also ask you if you really want to delete them.
Pleas note: The deletion will remove the prefix / shadercache completely! This will also remove savegames (except cloud saves) and other game specific user data - finally!
To uninstall run the "Update Shortix" from the desktop and choose "no" when the script asks you if you want to install the service. Afterwards delete the Shortix directory in your home directory and the "Update Shortix" from desktop. That's it.
- Steam Deck (SteamOS 3.4)
- EndeavourOS
- Ubuntu 22.04
- if the name of a game contains round brackets, for example "Aaa aaa Aaa: Aaa Aaa (16-bit)" (thanks to u/octopus_erectus) the script will fail. I will try to fix this when I find a bit time. For now a workaround can be to rename the games, but I don't know if this work for native Steam games.(fixed)- It can happen that some games with strange characters will cause problems. To keep Shortix working I decided to remove semicolons from game names before it will link anything (this will just affect the shortcut names, not the actual game name in steam or wherever!). If you notice such problems, please feel free to open an issue. I can't test it with every game on steam, of course. (fixed, I guess)
If you have any suggestions, let me know!