Credits: adrfrank (Original Creator)
A Python script that creates desktop entries for AppImage files, either on-demand or automatically.
For automatic appimage installation, it monitors a specified directory (and its subdirectories) for AppImage files and creates corresponding .desktop files, making your AppImages easily accessible from your desktop environment.
For manual appimage installation, the install and uninstall subcommands are provided
- Automatically creates desktop entries for AppImage files
- Recursively monitors directories for new AppImages
- Extracts application name and icon from AppImages
- Handles AppImage removal by cleaning up desktop entries
- Supports relative and absolute paths
- Creates desktop entries in the user's local applications directory
- Auto-makes AppImages executable (fixes manually having to 'chmod +x' so it creates a '.desktop' file)
- Visual feedback in ~/appimage-watcher.log
- Debug-friendly output
- Add install/uninstall subcommands
- Add PyPi-ready packaging
- Python 3.x
- Linux operating system
- pipx
- Clone this repository:
git clone https://github.com/enigma0Z/AppImage-Desktop-Installer.git- Install using pipx:
pipx install -e ./AppImage-Desktop-Installernohup adi watch > ~/appimage-watcher.log 2>&1 &
echo $! > ~/appimage-watcher.pidIn watch mode, the script will:
- Create desktop entries for existing AppImages in the watch directory
- Monitor the directory for new AppImages
- Create desktop entries for new AppImages automatically
- Remove desktop entries when AppImages are deleted
adi install path/to/the/application.AppImageadi uninstall path/to/the/installed/application.AppImageYou can override the default directory of ~/Applications by specifying --install-dir on the CLI
adi --install-dir ~/SomethingElse daemon~/Applications(default watch directory) - Place your AppImages here~/.local/share/applications- Desktop entries are created here~/.local/share/icons- Application icons are stored here
You can customize the script (src/appimage_desktop_installer/__init__.py) by modifying:
USER_APP_DIR: Change the default directory to monitor / where apps are installed by theinstallsubcommandDESKTOP_DIR: Change where desktop entries are created- Desktop entry template in the
generate_desktop_filefunction
This project is open source and available under the MIT License.
Contributions are welcome! Please feel free to submit a Pull Request.