Sunday, December 21, 2025

bash script to make .desktop launchers

cool to be able to launch everything in rofi with its own icon. wine apps, app images,

#!/usr/bin/env bash
[[ "${BASH_SOURCE[0]}" != "$0" ]] && return

APP_DIR="$HOME/.local/share/applications"
mkdir -p "$APP_DIR"

# Minimal prompts
read -rp "App name: " APP_NAME
read -rp "Path to executable: " EXEC_PATH
read -rp "Path to icon: " ICON_PATH

# Sanitize filename
FILE_NAME=$(echo "$APP_NAME" | tr ' ' '-' | tr '[:upper:]' '[:lower:]')
DESKTOP_FILE="$APP_DIR/$FILE_NAME.desktop"

# Create .desktop file
cat <<EOF > "$DESKTOP_FILE"
[Desktop Entry]
Type=Application
Name=$APP_NAME
Exec=$EXEC_PATH
Icon=$ICON_PATH
Terminal=false
Categories=Utility;
EOF

chmod +x "$DESKTOP_FILE"

echo "✔ Created $DESKTOP_FILE"

No comments:

Post a Comment