{"id":27620910,"url":"https://github.com/dsafxp/iconpackapp","last_synced_at":"2025-07-26T16:34:19.231Z","repository":{"id":289165750,"uuid":"969833087","full_name":"dsafxP/IconPackApp","owner":"dsafxP","description":"A simple Textual‑based TUI app to apply custom game icons (“styles”) to your Steam games.","archived":false,"fork":false,"pushed_at":"2025-04-21T22:07:00.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-21T22:28:07.683Z","etag":null,"topics":["app","icon","py","python","steam","steam-games","style","template","textual","tui"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dsafxP.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,"zenodo":null}},"created_at":"2025-04-21T02:25:40.000Z","updated_at":"2025-04-21T22:07:04.000Z","dependencies_parsed_at":"2025-04-21T22:28:21.753Z","dependency_job_id":"5519a556-f1a3-4850-90d3-031cbaef974b","html_url":"https://github.com/dsafxP/IconPackApp","commit_stats":null,"previous_names":["dsafxp/iconpackapp"],"tags_count":0,"template":true,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsafxP%2FIconPackApp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsafxP%2FIconPackApp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsafxP%2FIconPackApp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dsafxP%2FIconPackApp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dsafxP","download_url":"https://codeload.github.com/dsafxP/IconPackApp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250392234,"owners_count":21423037,"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":["app","icon","py","python","steam","steam-games","style","template","textual","tui"],"created_at":"2025-04-23T07:32:47.938Z","updated_at":"2025-07-26T16:34:19.223Z","avatar_url":"https://github.com/dsafxP.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IconPackApp ![GitHub License](https://img.shields.io/github/license/dsafxP/IconPackApp)\n\nA simple TUI app to apply custom game icons (\"styles\") to your Steam games.\n\n## Getting Started\n\n1. **Install dependencies**  \n   ```bash\n   pip install -r requirements.txt\n   ```\n2. **Run the app**  \n   ```bash\n   python main.py\n   ```\n\n## Adding a new style\n\n1. **Edit the styles list**  \n   In `config.py`, find the `STYLES` list and add your new style name:\n   ```python\n   STYLES = [\n       \"Default\",\n       \"MyCoolStyle\",   # ← new style name\n   ]\n   ```\n2. **Create the style folder**  \n   Inside the `icons/` directory, make a folder named `styleN` where `N` is the 1‑based index of your style in the `STYLES` list.  \n   ```\n   icons/\n   ├── style1/    ← \"Default\"\n   └── style2/    ← \"MyCoolStyle\"\n   ```\n3. **Populate with icons**  \n   Add your icon files into `icons/styleN/`. The system will automatically match files by name and extension to the target game files.\n\n## Adding a new game\n\n1. **Define the mapping**  \n   In `config.py`, locate the `GAME_MAPPING` dictionary and add a new entry:\n   ```python\n   GAME_MAPPING = {\n      1: (\"Half-Life\", r\"steamapps\\common\\Half-Life\\valve\", 70),\n      2: (\"My Game\", r\"steamapps\\common\\My Game\\bin\", 0),\n   }\n   ```\n   - **Key**: Unique game ID\n   - **Tuple**:\n     1. Display name (shown in the UI)  \n     2. Target directory path under your Steam folder\n     3. Steam application identifier\n\n2. **Add icon files for each style**  \n   For every `styleN` folder you've created, add your new game's icon files. The system will automatically search for files matching the display name and detect the appropriate extension to match target files in the game directory.\n\n   The application will automatically replace Steam library icons with JPG files found in your style directories. Simply include JPG files named after your games in each style folder, and they will be used for the Steam library display.\n\n## Directory structure example\n\n```\n.\n├── icons/\n│   ├── style1/\n│   │   ├── Half-Life.ico\n│   │   ├── Half-Life.jpg     ← Library icon\n│   │   └── My Game.png\n│   └── style2/\n│       ├── Half-Life.ico\n│       ├── Half-Life.jpg     ← Library icon\n│       └── My Game.png\n├── build.py\n├── config.py\n├── main.py\n├── README.md\n└── styles.css\n```\n\n## Building\n\nBuild the application:\n```bash\npython build.py\n```\n\n**Add an icon** (drag or specify):\n```bash\npython build.py your-icon.ico\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsafxp%2Ficonpackapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdsafxp%2Ficonpackapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdsafxp%2Ficonpackapp/lists"}