A modern GUI application to easily create desktop entries for AppImage files on Linux. Simplify your AppImage management with a sleek, intuitive interface.
- Modern egui-based user interface with dark theme
- Intuitive file selection for AppImage files
- Automatic app name extraction from filenames
- Proper desktop entry creation in the standard locations
- Global installation option for system-wide access
- Clean, responsive design adhering to 2025 UI standards
- Built with Rust for performance and reliability
- Uses egui/eframe v0.31.1 with the latest API (compatible with breaking changes)
- File dialogs powered by rfd 0.12.1
- Dark mode with custom styling and visual elements
- Minimal dependencies for a lightweight experience
# Clone the repository
git clone https://github.com/v8v88v8v88/DeskImage.git
cd DeskImage
# Build the project
cargo build --release
# Run the application
./target/release/deskimageOnce built, you can run the application directly:
./target/release/deskimageOr install it globally for easier access:
sudo cp ./target/release/deskimage /usr/local/bin/- Launch the application from your terminal or application menu
- If not installed globally, you can click the "Install to /usr/local/bin" button
- Click "Select AppImage File" and browse to choose your AppImage file
- Click "Create Desktop Entry" to generate the desktop entry
The application will:
- Copy the AppImage to
~/.local/bin/with executable permissions - Create a desktop entry file in
~/.local/share/applications/ - Display success or failure status messages
- Linux-based operating system
- Rust 1.76.0 or later recommended (required for egui 0.31.1)
- Standard desktop environment (GNOME, KDE, XFCE, etc.)
Contributions are welcome! If you'd like to contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
DeskImage uses egui 0.31.1, which has several API changes compared to earlier versions:
Roundinghas been renamed toCornerRadiusFrame::none()is replaced withFrame::new()rounding()method is renamed tocorner_radius()- Floating point values must be converted to appropriate types with
.into()
This project is licensed under the GNU General Public License v2.0 - see the LICENSE file for details.
- v8v88v8v88 - Initial work
- The Rust community for the amazing language and tools
- egui/eframe authors for the excellent UI framework