A simple tool to create and manage .desktop files for Linux applications. Especially useful for AppImages and standalone executables that don't integrate with your app menu.
- Native GTK3 GUI - Clean interface that matches your system theme
- CLI mode - Full command-line support for scripting
- AppImage detection - Automatically detects AppImages
- Icon extraction - Extract icons directly from AppImages
- Auto-fill - Finds icons and suggests app names automatically
- Management - List, edit, and delete existing desktop entries
- Path directive - Automatically sets working directory (fixes common issues)
- Live preview - See the generated .desktop file as you type
- Python 3.8+
- GTK3 (for GUI):
sudo apt install python3-gi gir1.2-gtk-3.0
# Clone or download, then run:
python3 main.pyTo add Desktopper to your application menu, create a desktop file:
cat > ~/.local/share/applications/desktopper.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=Desktopper
Comment=Create and manage .desktop files for AppImages and executables
Exec=python3 /path/to/desktopper/main.py
Path=/path/to/desktopper
Icon=/path/to/desktopper/icon.svg
Terminal=false
Categories=Utility;Development;
StartupNotify=true
EOFReplace /path/to/desktopper with the actual path where you downloaded the project.
Add to your ~/.bashrc:
alias desktopper='python3 /path/to/desktopper/desktopper.py'
alias desktopper-gui='python3 /path/to/desktopper/main.py'python3 main.py- Click Browse to select an executable or AppImage
- Name and icon are auto-filled when possible
- Click Extract to pull an icon from an AppImage
- Click Create Desktop Entry to save
- Click Manage... to edit or delete existing entries
# Create a desktop entry
python3 desktopper.py -e /path/to/app -n "My App" -i /path/to/icon.png
# Interactive mode
python3 desktopper.py
# Preview without saving
python3 desktopper.py -e /path/to/app --dry-run
# List all desktop entries
python3 desktopper.py --list
# Delete an entry
python3 desktopper.py --delete "My App"| Flag | Description |
|---|---|
-e, --exec PATH |
Path to executable (required for create) |
-n, --name NAME |
Application name |
-i, --icon PATH |
Path to icon file |
-c, --comment TEXT |
Application description |
--categories LIST |
Categories (default: Other) |
--terminal |
Run in terminal |
-o, --output PATH |
Custom output path |
--dry-run |
Preview without saving |
-l, --list |
List all desktop entries |
-d, --delete NAME |
Delete a desktop entry |
-q, --quiet |
Minimal output |
Common categories: Game, Utility, Development, Graphics, AudioVideo, Network, Office, Education, Science, System
Desktop files are saved to ~/.local/share/applications/ which is the standard location for user-installed applications on Linux.
The tool automatically sets the Path= directive to the executable's directory, which fixes a common issue where applications can't find their assets when launched from the app menu.
# AppImage with auto icon extraction
python3 desktopper.py -e ~/Apps/MyApp.AppImage -n "My App" --categories Utility
# Development tool
python3 desktopper.py -e /opt/ide/bin/ide.sh -n "My IDE" -c "Code editor" --categories Development
# Terminal application
python3 desktopper.py -e ~/.local/bin/mytool --terminal -n "My Tool" --categories SystemMIT License - see LICENSE file.