A Linux desktop entry creator tool written in C with GTK3. This application provides a wizard-based interface for creating .desktop files according to the freedesktop.org Desktop Entry Specification.
Cre8or V2.0 is a complete rewrite from Python to C, bringing significant performance improvements, enhanced security, and a more native Linux experience.
- 🚀 Performance: Native C compilation eliminates Python overhead
- 🛡️ Security: Comprehensive input validation and path traversal protection
- 🎯 Smart Detection: Automatic file type detection (ELF, Python, Shell scripts)
- 🎨 UI Enhancements: Compact design with professional logo
- 🔧 Better Integration: Improved terminal support for scripts
- Wizard Interface: Step-by-step GUI for creating desktop entries
- Smart File Type Detection: Automatically detects ELF, Python, and Shell scripts
- Intelligent Exec Line Generation: Creates proper Exec lines based on file type
- Terminal Support: Optional terminal execution for scripts with
gnome-terminal - Multiple Entry Types: Support for Application, Link, and Directory types
- Live Preview: Edit the generated .desktop content before saving
- Overwrite Confirmation: User-friendly dialogs for existing files
- Multiple Save Locations: Save to desktop, local applications directory, or custom location
- Automatic Permissions: Sets executable permissions and marks files as trusted
- Category Selection: Choose from standard freedesktop.org categories
- Icon Support: Browse and select icon files (PNG, XPM, SVG, ICO)
- Input Validation: Robust validation for all user inputs
- OS: Linux (tested on Ubuntu, Debian, Arch)
- Dependencies: GTK3, GLib, GIO
- Architecture: x86_64, ARM64
- Memory: Minimal RAM usage
- GTK+ 3.0 development libraries
- GLib 2.0 development libraries
- GCC compiler
sudo apt-get install libgtk-3-dev libglib2.0-dev build-essentialsudo dnf install gtk3-devel glib2-devel gcc makesudo pacman -S gtk3 glib2 gcc makegit clone https://github.com/ashes00/cre8or-c
cd cre8or-c
make
sudo make install# Install dependencies
sudo apt install build-essential libgtk-3-dev libglib2.0-dev
# Build and install
make
sudo make install # OptionalRun the application:
./cre8orOr if installed:
cre8or- Basic Information: Enter application name and description
- Select Executable: Choose executable file (auto-detects file type)
- Icon (Optional): Browse and select an icon file
- Categories (Optional): Select one or more categories
- Preview: Review the generated desktop entry content
- Distribution: Choose save locations and create the file
- ELF Binaries: Direct execution with proper path quoting
- Python Scripts: Automatic
python3interpreter detection - Shell Scripts: Smart terminal handling with
gnome-terminal - Other Scripts: Fallback support for various executable types
- Desktop: Saves to
~/Desktop/ - Local Applications: Saves to
~/.local/share/applications/ - Custom Location: User-specified directory
Cre8or/
├── main.c # Application entry point and main window
├── desktop_entry.h # Desktop entry data structures
├── desktop_entry.c # Desktop entry generation and validation
├── file_utils.h # File operations header
├── file_utils.c # File saving, permissions, and type detection
├── wizard.h # Wizard interface header
├── wizard.c # Wizard GUI implementation
├── Makefile # Build configuration
├── images/ # Application icons and assets
│ └── robot-icon2.png
└── README.md # This file
- Path Traversal Protection: Prevents malicious path inputs
- Input Validation: Robust validation for all user inputs
- Safe File Operations: Uses GLib's secure file handling
- Command Injection Prevention: Secure process spawning
- Executable Validation: Verifies selected files are actually executable
This tool follows the freedesktop.org Desktop Entry Specification and supports:
- Application entries with Exec, Terminal, and Categories fields
- Link entries with URL field
- Directory entries with Path field
- Standard categories as defined in the specification
- Proper file permissions and trust marking
- Complete rewrite from Python to C
- Enhanced security and input validation
- Smart file type detection
- Improved UI with compact design
- Better terminal integration
- Original Python implementation
- Basic desktop entry creation
- GTK interface
Feel free to submit issues, feature requests, or pull requests to improve the application.
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Website: https://github.com/ashes00/
Cre8or V2.0 - Making Linux desktop entry creation simple, secure, and fast! 🐧