{"id":13679624,"url":"https://github.com/Jannomag/shortix","last_synced_at":"2025-04-29T19:31:32.066Z","repository":{"id":167162866,"uuid":"642739233","full_name":"Jannomag/shortix","owner":"Jannomag","description":"A script that creates human readable symlinks for Proton game prefix (Steam Deck / SteamOS)","archived":false,"fork":false,"pushed_at":"2024-12-22T07:10:54.000Z","size":136,"stargazers_count":99,"open_issues_count":2,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-12-22T07:27:30.269Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Jannomag.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-19T08:36:04.000Z","updated_at":"2024-12-22T07:10:57.000Z","dependencies_parsed_at":null,"dependency_job_id":"b355c0a2-c128-4c40-913b-085ce1f1aee8","html_url":"https://github.com/Jannomag/shortix","commit_stats":null,"previous_names":["jannomag/shortix"],"tags_count":8,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jannomag%2Fshortix","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jannomag%2Fshortix/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jannomag%2Fshortix/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Jannomag%2Fshortix/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Jannomag","download_url":"https://codeload.github.com/Jannomag/shortix/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251569548,"owners_count":21610575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T13:01:07.618Z","updated_at":"2025-04-29T19:31:31.722Z","avatar_url":"https://github.com/Jannomag.png","language":"Shell","funding_links":[],"categories":["Utilities","Utility"],"sub_categories":[],"readme":"![Shortix](https://raw.githubusercontent.com/Jannomag/shortix/main/shortix_logo.svg)     \nA script that creates human readable symlinks for Proton game prefixes\n\n# Latest update\nFixed nested symlink by using `ln -sTf` instead of just `ln -sf`. This was mentioned by [@MKReyesH](https://github.com/MKReyesH) in issue [#8](https://github.com/Jannomag/shortix/issues/8). Thanks for this!\nTo update just run the desktop shortcut or redownload it from the releases (nothing got changed to the shortcut itself).\n  \n# Prerequireties\nYou need to install Protontricks from Discover on your Steam Deck, that's it.\n\n# Installation (Automatic)\nDownload the [installer](https://github.com/Jannomag/shortix/releases/latest/download/shortix_installer.desktop) to the Desktop and double click it.    \n##### 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.    \n\nThe installer will you ask you three things:\n- Add prefix id to the game name - this will make the shortcuts look like this: `Game Name (12345678)`\n- Add size of the target to the game name - this will make the shortcut look like this: `Game Name (12345678) - 1.6G` (or `Game Name - 1.6G` if you disabled prefix ids).\n- 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.\n  \nIf you changed your mind about the service, just run the \"Update Shortix\" again.\n\nAfterwards there's a new directory in you home directory, called Shortix.    \nIn there you'll find all created symlinks / shortcuts to the installed games - which were found by Protontricks.  \nYou'll also find a subdirectory called \"\\_Shaders\". In there you'll find shortcuts to all available shadercache directories.\n\nIn the Shortix directory you'll also find the `shortix.sh` and `remove_prefix.sh` scripts.    \nWith `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).    \nFor `remove_prefix.sh` read the tutorial below.\n(Please note: in the directory you will find several hidden files, currently possible are: `.shortix`, `.shortix_last_run`, `.id`, `.size`.\nThose files are needed by the script as settings files, don't delete them!).\n\nIf 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.   \nIf 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.    \n\n# Manual installation\n1. Go to the /tmp folder using `cd /tmp`\n2. Clone this repo with `git clone https://github.com/Jannomag/shortix`\n3. Create Shortix directory with `mkdir -p /home/deck/Shortix`\n4. Copy the script with `cp /tmp/shortix/shortix.sh /home/deck/Shortix`\n5. Copy the systemd service with `cp /tmp/shortix/shortix.service /home/deck/.config/systemd/user`\n6. Reload systemd daemon with `systemctl --user daemon-reload`\n7. Enable service with `systemctl --user enable shortix.service`\n8. Start service with `systemctl --user start shortix.service`\n9. Done (all those steps does the `shortix_installer.sh` for you\n\n# Background and explanation\nI just wanted to have easier access to the prefixes for the games on my Steam Deck, so I created Shortix.\nWhat it does is really simple:\n- Run protontricks to get a list of all installed games, including Non-Steam games.\n- Use the data to create symlinks in `/home/deck/Shortix`\n- If there's a dead end symlink, it will get removed\n- The script will be executed every 15 minutes by a systemd user service\n\nTo change the restart interval you need to change two things:\n1. in `/home/deck/Shortix/shortix.sh` - change the value of the TIME variable in minutes\n2. in `/home/deck/.config/systemd/user/shortix.service` - change the 1800s value to your desired value in seconds\n\nIf you want you can also change the directory. For this modify the directory within the shortix.sh and also in the shortix.service file.\n\nYou 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\".\n\n# Prefix removal script\nI've added a script called `remove_prefix.sh` to the Shortix directory.    \nThis script allows you to remove not just the shortcut but also the whole prefix directory.  \nThis will also work for shadercache shortcuts, just drag\u0026drop those instead.\nRun this script in a terminal (or do right click -\u003e \"Run in Konsole\" for KDE / Steam Deck).    \nThen you can drag an drop all shortcuts from the Shortix directory of which you want to remove the prefix directory.    \nAfterwards press enter, the script will notify you about the paths.    \nIt will also ask you if you really want to delete them.    \n**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!**\n\n# Uninstall\nTo uninstall run the \"Update Shortix\" from the desktop and choose \"no\" when the script asks you if you want to install the service.\nAfterwards delete the Shortix directory in your home directory and the \"Update Shortix\" from desktop.\nThat's it.\n\n# Tested systems / distros\n- Steam Deck (SteamOS 3.4)\n- EndeavourOS\n- Ubuntu 22.04\n\n# Known issues\n- ~~- if the name of a game contains round brackets, for example \"Aaa aaa Aaa: Aaa Aaa (16-bit)\" (thanks to [u/octopus_erectus](https://www.reddit.com/r/SteamDeck/comments/13luaiz/release_shortix_a_script_for_human_readable/jksiery/?utm_source=share\u0026utm_medium=ios_app\u0026utm_name=ioscss\u0026utm_content=1\u0026utm_term=1\u0026context=3)) 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.~~\n(fixed)\n- 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)\n\n# Contribution\nIf you have any suggestions, let me know!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJannomag%2Fshortix","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJannomag%2Fshortix","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJannomag%2Fshortix/lists"}