Skip to content

W1talka/desktopper

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Desktopper

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.

Features

  • 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

Requirements

  • Python 3.8+
  • GTK3 (for GUI): sudo apt install python3-gi gir1.2-gtk-3.0

Installation

Quick Start

# Clone or download, then run:
python3 main.py

Add to App Menu

To 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
EOF

Replace /path/to/desktopper with the actual path where you downloaded the project.

Shell Aliases (Optional)

Add to your ~/.bashrc:

alias desktopper='python3 /path/to/desktopper/desktopper.py'
alias desktopper-gui='python3 /path/to/desktopper/main.py'

Usage

GUI Mode

python3 main.py
  1. Click Browse to select an executable or AppImage
  2. Name and icon are auto-filled when possible
  3. Click Extract to pull an icon from an AppImage
  4. Click Create Desktop Entry to save
  5. Click Manage... to edit or delete existing entries

CLI Mode

# 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"

CLI Options

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

Categories

Common categories: Game, Utility, Development, Graphics, AudioVideo, Network, Office, Education, Science, System

How It Works

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.

Examples

# 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 System

License

MIT License - see LICENSE file.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages