{"id":27969635,"url":"https://github.com/fernbacher/umu-launch-gum","last_synced_at":"2026-05-04T23:31:28.515Z","repository":{"id":290846747,"uuid":"975756450","full_name":"fernbacher/umu-launch-gum","owner":"fernbacher","description":"Launch games on Linux using umu-launcher and gum.","archived":false,"fork":false,"pushed_at":"2025-05-27T19:53:07.000Z","size":24818,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-07T04:04:39.309Z","etag":null,"topics":["bash-script","game-launcher","gum","linux","linux-game-launcher","non-steam","proton","tui","umu-launcher"],"latest_commit_sha":null,"homepage":"https://umu-gum.vercel.app/","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fernbacher.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-30T21:07:24.000Z","updated_at":"2025-06-20T21:19:12.000Z","dependencies_parsed_at":"2025-05-29T13:16:25.989Z","dependency_job_id":null,"html_url":"https://github.com/fernbacher/umu-launch-gum","commit_stats":null,"previous_names":["fernbacher/umu-launch","fernbacher/umu-launch-gum"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fernbacher/umu-launch-gum","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernbacher%2Fumu-launch-gum","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernbacher%2Fumu-launch-gum/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernbacher%2Fumu-launch-gum/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernbacher%2Fumu-launch-gum/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fernbacher","download_url":"https://codeload.github.com/fernbacher/umu-launch-gum/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fernbacher%2Fumu-launch-gum/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32628764,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["bash-script","game-launcher","gum","linux","linux-game-launcher","non-steam","proton","tui","umu-launcher"],"created_at":"2025-05-07T21:49:46.337Z","updated_at":"2026-05-04T23:31:28.498Z","avatar_url":"https://github.com/fernbacher.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# UMU-Launch-Gum: TUI Launcher for Windows Games on Linux\n\nA script providing a Terminal User Interface (TUI) using `gum` to launch Windows games on Linux via `umu-launcher`.\n\n![Preview](preview.gif)\n\n## Features\n\n* Select game `.exe` files using a file browser for new game setups.\n* **Enhanced Game Library:**\n    * Save game configurations (Proton version, environment variables, launch options, etc.) for easy launching.\n    * **Search and filter** your game library for quick access.\n    * Dedicated **\"Edit Configuration\"** option to modify saved games without launching.\n    * Manage library entries (Launch, Edit, View Details, Delete).\n* Detects and allows selection of Proton/Wine-GE versions (Steam official \u0026 custom).\n* Set environment variables (e.g., `DXVK_HUD=1`) or command-line arguments per launch, saved with library entries.\n* Integrates with Gamescope, Gamemode, and MangoHud if installed (optional).\n* Uses a configurable shared Wine prefix (default: `umu-default`), which can be overridden per game in the library.\n* Customizable TUI Colors: Personalize the look of the launcher via the configuration file.\n* Logs launch commands and game output to `~/.local/share/umu-launch-gum/logs/`.\n* **Quick launch mode** (`--quick` or `-q`): Launches the last game played from the library with its exact saved configuration.\n\n## Requirements\n\n**Required:**\n\n* `bash`\n* `gum`\n* `umu-launcher`\n* `jq` (for JSON processing of the game library)\n* `coreutils` (provides `realpath`, `date`, `tee`, `mkdir`, `sort`)\n* Installed Proton or Wine-GE version(s).\n\n**Optional:**\n\n* `gamemode`\n* `gamescope`\n* `mangohud`\n\n## Usage\n\n1.  Make the script executable:\n    ```bash\n    chmod +x umu-launch-gum.sh\n    ```\n\n2.  Run the script:\n    ```bash\n    ./umu-launch-gum.sh\n    ```\n\n3.  The main menu will appear:\n    * **New Game**: Select an executable and configure its launch options. You can then add it to your library.\n    * **Game Library**: Search, filter, view, manage (Launch, Edit, View Details, Delete), and launch games you've previously saved.\n    * **Quick Launch**: Launch the last game you played from the library using its saved settings.\n    * **Exit**: Close the launcher.\n4.  Follow the TUI prompts to select the game, Proton version, and options.\n\n5.  Optionally create an alias for the tool in your shell configuration file for easier access.\n\n## Configuration (Optional)\n\nCustomize default behavior by creating a configuration file.\n\n### Config File Location\n\nThe script checks for a configuration file at: `~/.config/umu-launch-gum/config.conf`\n\nIf this file doesn't exist, the script uses built-in defaults.\n\n### Config File Format\n\n* Use `VARIABLE_NAME=\"value\"` format, one per line.\n* Lines starting with `#` are comments and are ignored.\n* Blank lines are ignored.\n* For multiple paths (e.g., `CUSTOM_PROTON_DIRS`), separate them with a space within the double quotes (`\" \"`).\n\n### Configurable Variables\n\n#### `CUSTOM_PROTON_DIRS`\n\n* **Purpose**: Specify directories containing custom Proton/Wine-GE builds (e.g., `compatibilitytools.d` folders).\n* **Format**: Full paths separated by spaces, within double quotes.\n* **Example**:\n    ```bash\n    CUSTOM_PROTON_DIRS=\"$HOME/.steam/root/compatibilitytools.d /mnt/data/proton-builds\"\n    ```\n\n#### `STEAM_LIB_DIRS`\n\n* **Purpose**: Specify Steam library root directories to find official Proton versions (looks in `steamapps/common`).\n* **Format**: Full paths separated by spaces, within double quotes.\n* **Example**:\n    ```bash\n    STEAM_LIB_DIRS=\"$HOME/.local/share/Steam /mnt/ssd/SteamLibrary\"\n    ```\n\n#### `STEAM_PROTON_SUBDIR`\n\n* **Purpose**: The sub-directory within Steam libraries where official Proton versions are located. Changing this is rarely needed.\n* **Format**: Folder name (quotes usually not needed).\n* **Default**: `steamapps/common`\n* **Example**:\n    ```bash\n    STEAM_PROTON_SUBDIR=\"steamapps/common\"\n    ```\n\n#### `DEFAULT_GAMESCOPE_PARAMS`\n\n* **Purpose**: Set default flags for Gamescope when enabled. You can override these defaults at launch time or per library game.\n* **Format**: Flags within double quotes.\n* **Example**:\n    ```bash\n    DEFAULT_GAMESCOPE_PARAMS=\"-W 1920 -H 1080 -f -b --backend wayland\"\n    ```\n\n#### `UNIVERSAL_PREFIX_NAME`\n\n* **Purpose**: Define the name for the default shared Wine prefix when adding new games. This can be overridden per game in the library.\n* **Format**: Name string (quotes only needed if it contains spaces).\n* **Default**: `umu-default`\n* **Example**:\n    ```bash\n    UNIVERSAL_PREFIX_NAME=\"umu_shared_games\"\n    ```\n\n#### TUI Color Configuration\n\nCustomize the appearance of the TUI. Values are typically [ANSI color codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors).\n\n* `HEADER_FG_COLOR`: Foreground color for headers. (Default: `\"28\"`)\n* `SELECTED_FG_COLOR`: Foreground color for selected items in lists/menus. (Default: `\"205\"`)\n* `CURSOR_FG_COLOR`: Foreground color for the cursor in input fields/choosers. (Default: `\"28\"`)\n* `INFO_FG`: Foreground color for informational messages. (Default: `\"99\"`)\n* `SUCCESS_FG`: Foreground color for success messages. (Default: `\"40\"`)\n* `WARNING_FG`: Foreground color for warning messages. (Default: `\"214\"`)\n* `ERROR_FG`: Foreground color for error messages. (Default: `\"196\"`)\n* `DEP_LABEL_FG`: Foreground color for dependency check labels. (Default: `\"240\"`)\n* `DEP_FOUND_FG`: Foreground color for \"Found\" status in dependency checks. (Default: `\"40\"`)\n* `DEP_MISSING_FG`: Foreground color for \"Missing\" status in dependency checks. (Default: `\"196\"`)\n\n### Example `config.conf`\n\n```bash\n# Custom Proton location\nCUSTOM_PROTON_DIRS=\"$HOME/.local/share/Steam/compatibilitytools.d\"\n\n# Steam library locations\nSTEAM_LIB_DIRS=\"$HOME/.local/share/Steam /mnt/nvme/SteamLibrary\"\n\n# Default Gamescope flags\nDEFAULT_GAMESCOPE_PARAMS=\"-b --backend wayland --grab\"\n\n# Custom shared prefix name (for new games, can be overridden in library)\nUNIVERSAL_PREFIX_NAME=\"umu_shared_prefix\"\n\n# --- TUI Color Customization Examples ---\n# HEADER_FG_COLOR=\"33\" # A nice blue\n# SELECTED_FG_COLOR=\"220\" # A bright yellow for selections\n# INFO_FG=\"245\" # A lighter grey for info messages\n```\nData Files\n\n    Game Library: Configurations for saved games are stored as JSON files in ~/.local/share/umu-launch-gum/library/.\n    Last Played Game (for Quick Launch): The path to the last launched game's library configuration is stored in ~/.local/share/umu-launch-gum/last_game_config.jsonpath.\n    Logs: Launch logs are stored in ~/.local/share/umu-launch-gum/logs/.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernbacher%2Fumu-launch-gum","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffernbacher%2Fumu-launch-gum","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffernbacher%2Fumu-launch-gum/lists"}