A portable utility with a graphical interface (Zenity) designed to automate the creation of desktop shortcuts (.desktop files) for programs and games installed within Bottles (Flatpak version).
This tool is distributed as an AppImage, which means:
- Zero Installation: No need to install dependencies like
yqor extra libraries. - Portable: One single file that works across different Linux distributions.
- Steam Deck & Bazzite Friendly: Perfect for immutable systems where you want to keep your root filesystem clean.
- Bundled Dependencies: Includes an internal
yqbinary to parsebottle.ymlwithout system-wide installation. - Graphical Workflow: Simple Zenity-based dialogs for selecting bottles, programs, and icons.
- Smart Icon Picker: * Manually choose PNG/ICO icons.
- The picker automatically opens in the directory where the program's .exe is located.
- Automatic fallback to the icon specified in Bottles' configuration.
- Flexible Location: Create shortcuts directly on your Desktop or in the Applications Menu.
- Bottles installed via Flatpak.
- Zenity (standard on most Linux desktops like GNOME, KDE Plasma, or Bazzite).
Before the first run, make sure the file has permission to execute:
- Right-click the
.AppImagefile -> Properties -> Permissions -> Check "Allow executing file as program". - OR use the terminal:
chmod +x Bottles_Shortcut_Creator-x86_64.AppImage
- Choose Mode: Select "Create shortcut from bottle program (recommended)".
- Select Bottle: Pick the bottle containing your app.
- Select Program: Choose the application from the list found in your
bottle.yml. - Choose Icon: * The file picker will open in your app's folder.
- Select an icon or click "Skip" (Pomiń) to use the default one.
- Shortcut Location: Choose between "Desktop" or "Applications menu".
- App not detected: If the program doesn't detect an application inside your bottle, create a shortcut manually within Bottles pointing to the desired file, then try running this tool again.
- Spaces in Bottle Names: If your bottle name contains spaces (e.g., "Toon car") and the created shortcut doesn't work, check the
.desktopfile with a text editor. Ensure that spaces haven't been replaced by dashes (e.g., "Toon-car") in the execution command.
The AppImage is built using the following structure:
AppRun: The entry point that executes the main script.usr/bin/yq: Bundled YAML processor (MIT License).bottles-shortcut.sh: The core logic of the application.bottles.desktop&bottles.png: Metadata for the AppImage itself.
This project is licensed under the GNU GPL v3. It is free software and will always remain free. Commercial use is not permitted.
Third-party software: This project bundles yq by Mike Farah, licensed under the MIT License.
- This project was developed with the assistance of Google Gemini, which helped with script optimization, documentation, and AppImage packaging guidance.
Developed to simplify the Linux gaming experience on Bazzite, Steam Deck, and beyond.